django-unfold 0.57.0__py3-none-any.whl → 0.58.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_unfold-0.57.0.dist-info → django_unfold-0.58.0.dist-info}/METADATA +1 -1
- {django_unfold-0.57.0.dist-info → django_unfold-0.58.0.dist-info}/RECORD +27 -27
- unfold/contrib/import_export/templates/admin/import_export/base.html +1 -5
- unfold/contrib/import_export/templates/admin/import_export/import_form.html +1 -1
- unfold/contrib/simple_history/templates/simple_history/object_history_form.html +1 -1
- unfold/decorators.py +1 -2
- unfold/sites.py +64 -41
- unfold/static/unfold/css/styles.css +2 -2
- unfold/styles.css +50 -91
- unfold/templates/admin/auth/user/change_password.html +1 -1
- unfold/templates/admin/submit_line.html +7 -7
- unfold/templates/registration/password_change_done.html +1 -1
- unfold/templates/registration/password_change_form.html +1 -1
- unfold/templates/unfold/components/card.html +23 -23
- unfold/templates/unfold/components/progress.html +9 -7
- unfold/templates/unfold/components/table.html +5 -5
- unfold/templates/unfold/helpers/change_list_filter_actions.html +1 -1
- unfold/templates/unfold/helpers/field.html +2 -2
- unfold/templates/unfold/helpers/navigation.html +1 -1
- unfold/templates/unfold_crispy/field.html +1 -1
- unfold/templates/unfold_crispy/layout/checkbox.html +2 -2
- unfold/templates/unfold_crispy/layout/fieldset.html +1 -1
- unfold/templates/unfold_crispy/layout/table_inline_formset.html +18 -16
- unfold/templatetags/unfold.py +14 -0
- unfold/widgets.py +2 -2
- {django_unfold-0.57.0.dist-info → django_unfold-0.58.0.dist-info}/LICENSE.md +0 -0
- {django_unfold-0.57.0.dist-info → django_unfold-0.58.0.dist-info}/WHEEL +0 -0
@@ -52,7 +52,7 @@ unfold/contrib/guardian/templates/unfold/guardian/user_form.html,sha256=JqYF7HiI
|
|
52
52
|
unfold/contrib/import_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
53
|
unfold/contrib/import_export/apps.py,sha256=SdJu6Qh90VqGWY19FSDhhpUqhTbaIYsJKny3zX5baHI,149
|
54
54
|
unfold/contrib/import_export/forms.py,sha256=kh8psUoTObrRb2wtkYhvRu1D5QM02xWk4UNLQT5lQZA,2038
|
55
|
-
unfold/contrib/import_export/templates/admin/import_export/base.html,sha256=
|
55
|
+
unfold/contrib/import_export/templates/admin/import_export/base.html,sha256=y-J1gzrbkF-72XwKnRIC6zAD1Ud3Lwvs2M0UhS-NirI,262
|
56
56
|
unfold/contrib/import_export/templates/admin/import_export/change_form.html,sha256=TYiMBf8bSJoMiSrHGAa-OwyheVyNG3WyWFNeH2tmZjc,460
|
57
57
|
unfold/contrib/import_export/templates/admin/import_export/change_list_export.html,sha256=vZb2XVoJrDSjM1msiZqkQPMLQGjuqRHuLNdt11hmbQs,164
|
58
58
|
unfold/contrib/import_export/templates/admin/import_export/change_list_export_item.html,sha256=pTDeqPKOlCPKH2dxMIfPnWuc2wVDzB7AzL73WbxSnRY,257
|
@@ -62,7 +62,7 @@ unfold/contrib/import_export/templates/admin/import_export/export.html,sha256=uz
|
|
62
62
|
unfold/contrib/import_export/templates/admin/import_export/import.html,sha256=uI9me41UQ_iMf1PCPlyGm7MjSqI2lKPhGhUD5IPrDRs,2126
|
63
63
|
unfold/contrib/import_export/templates/admin/import_export/import_confirm.html,sha256=VeGgT1hDunN5c9ijeOvkIezdAmkrsABt5bAnyg5Mu8c,879
|
64
64
|
unfold/contrib/import_export/templates/admin/import_export/import_errors.html,sha256=tgGPoNea7JtuqwVuh-a2TSip7lM8inJvgcVfrsYB_FA,1805
|
65
|
-
unfold/contrib/import_export/templates/admin/import_export/import_form.html,sha256=
|
65
|
+
unfold/contrib/import_export/templates/admin/import_export/import_form.html,sha256=GkivtNDO5IKuVxwPK1pD0czUsuuXWHGjk2dETO-1pZg,1002
|
66
66
|
unfold/contrib/import_export/templates/admin/import_export/import_preview.html,sha256=365nlrJ36dg4pKGKwIOE9MADWYaHhChp_B2jZG2sBOU,2273
|
67
67
|
unfold/contrib/import_export/templates/admin/import_export/import_validation.html,sha256=K7j5OlWMQUTcSVulJtIraKfWIupSvmN4R5bZ2hH4tRA,5117
|
68
68
|
unfold/contrib/import_export/templates/admin/import_export/resource_fields_list.html,sha256=Bc6uD8aHA5YYbZgLAPpGUckFjnxn9uq19YuKKFxTj4Y,887
|
@@ -74,11 +74,11 @@ unfold/contrib/inlines/forms.py,sha256=s49xrIkQTbvSMsrP4DydXWkpP1v8NCUmQw_Bcoqf0
|
|
74
74
|
unfold/contrib/simple_history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
75
|
unfold/contrib/simple_history/apps.py,sha256=eF_KVYb60CAnGgWk2Z1YKYGfgA3TJBMr229qI7e2pgU,153
|
76
76
|
unfold/contrib/simple_history/templates/simple_history/object_history.html,sha256=unZQE70be7cK6v0YPlITFeaosmiLt3kiei-pmmCjBg0,1711
|
77
|
-
unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=
|
77
|
+
unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=1wsz8KTmjsgAthFS2myfcS3QvyeL0-qT8s2w7JINVhQ,2256
|
78
78
|
unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=PWtjuAcxciAI001qIrXLvbUxzCFl_SDAaHA5FhR16Z8,6858
|
79
79
|
unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=tJgOgq7lMetWF4DJoBqUYdRSY6EeRivXhOBYlyPXzTk,1750
|
80
80
|
unfold/dataclasses.py,sha256=a-9INnkCAIcnMgoffTcB1rxWCJH33AjhMCWIGWnjWbI,719
|
81
|
-
unfold/decorators.py,sha256=
|
81
|
+
unfold/decorators.py,sha256=FZ0to60sg9fefOCpYiziG9UbV6mgmiEk0lc1wQyisXc,4302
|
82
82
|
unfold/enums.py,sha256=9sTfyEycMWeoGPBa-ft6ZhQGnW1vkFg108RMBVf9nko,187
|
83
83
|
unfold/exceptions.py,sha256=gcCj1ox61E137bk_0Cqy4YC3SttdPgB-fiJUqpmyHSE,43
|
84
84
|
unfold/fields.py,sha256=J3goIMlP_XOmQ85Xgh2v5MylXSP1o5I7o9_So2FQn2k,7461
|
@@ -91,12 +91,12 @@ unfold/overrides.py,sha256=ERVY9boZiXgjDYcTEZcIp7KWoeBZ45VM_zN31yAOjyQ,2922
|
|
91
91
|
unfold/paginator.py,sha256=vWCIfpuWbV3nvIkQOPyD7MLTg2hZplHz3rze42d-qiA,268
|
92
92
|
unfold/sections.py,sha256=Lcg3xCZ76fqjm4vD4x7YdE5VsbTKluL-sX5QTEBlHxA,2379
|
93
93
|
unfold/settings.py,sha256=M5LVVwatGKk6AOZBkBY_vXFntn7ENla9rqMQG0gxb0U,2753
|
94
|
-
unfold/sites.py,sha256=
|
94
|
+
unfold/sites.py,sha256=Roo_hXNB-6X7uENluXh3yT_NPA0W3uv8Nish72QJUb8,17318
|
95
95
|
unfold/static/admin/js/admin/RelatedObjectLookups.js,sha256=alI0-yq7YPDJJJn-yg1ce79-Cv88yQDUrfaGqFZnsaY,9048
|
96
96
|
unfold/static/admin/js/inlines.js,sha256=zcYwLGI_6RHg-gucDbbhp43RRoZd3so8bPk841KFaIE,15573
|
97
97
|
unfold/static/unfold/css/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
|
98
98
|
unfold/static/unfold/css/simplebar/simplebar.css,sha256=5LLaEM11pKi6JFCOLt4XKuZxTpT9rpdq_tNlaQytFlU,4647
|
99
|
-
unfold/static/unfold/css/styles.css,sha256=
|
99
|
+
unfold/static/unfold/css/styles.css,sha256=8MvwCnrFLcXnTXgB39xn4xSNV8o6q2GZIClcPEuHrzg,158422
|
100
100
|
unfold/static/unfold/fonts/inter/Inter-Bold.woff2,sha256=-oiBJ7baAVtlVp8DUfO1w5GtkokElR8cIOn4RiqNleo,114840
|
101
101
|
unfold/static/unfold/fonts/inter/Inter-Medium.woff2,sha256=D_PpRhThST61VjFP0keubEqFp3g7TMhr5TmUDPg_Kkg,114348
|
102
102
|
unfold/static/unfold/fonts/inter/Inter-Regular.woff2,sha256=4G9rG8VTqupORmgCPtCrChRxKcMQf1Ebx9A9NhsK4IU,111268
|
@@ -120,12 +120,12 @@ unfold/static/unfold/js/htmx/htmx.js,sha256=acrv0NqSJpBm5yXX_hdeJrnVDJYuMFZFnAxH
|
|
120
120
|
unfold/static/unfold/js/select2.init.js,sha256=l0O8ggw_CkAw-QtH3qEzC8xWk0mR9QHjy4VzAjMwiQQ,1109
|
121
121
|
unfold/static/unfold/js/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
|
122
122
|
unfold/static/unfold/js/simplebar/simplebar.js,sha256=t-uG1FAD6ZoiMeN--wac0XRS7SxoDVG6zvRnGuEp7X8,27176
|
123
|
-
unfold/styles.css,sha256=
|
123
|
+
unfold/styles.css,sha256=4jfRd3it5Xllssqjc4xcAItlSAmbsF5tsOBut6cK4m0,21729
|
124
124
|
unfold/templates/admin/actions.html,sha256=iuuubcAILkOoYBgV6cpXqFIyZUh4zMqyFp0JaDFlPKU,3096
|
125
125
|
unfold/templates/admin/app_index.html,sha256=LRR07CLcZVsYpisCOncWdMSACARNstcDt536Oydnt60,1239
|
126
126
|
unfold/templates/admin/app_list.html,sha256=2JbGENeKAVqYGYwm2Yv7I0lzQrLz0xRND18kPiMIi_Q,2861
|
127
127
|
unfold/templates/admin/auth/user/add_form.html,sha256=tZgg6UoKxJ7zL6T99PLHlLBwd4LlDI2mGn6d5hmtsPs,486
|
128
|
-
unfold/templates/admin/auth/user/change_password.html,sha256=
|
128
|
+
unfold/templates/admin/auth/user/change_password.html,sha256=028v1dfQTlSmdr-WCuV4lBOmFa7Oo38CsYhsXEe8ANI,2831
|
129
129
|
unfold/templates/admin/base.html,sha256=lXL_Hdhfflcpd_qxZ6o7GVBdAt3kZAtnnETiYrVHKfc,2460
|
130
130
|
unfold/templates/admin/base_site.html,sha256=UOsecaCycpyn_ygJNIKO7MQtDFJuHv--r83-mzaVY30,300
|
131
131
|
unfold/templates/admin/change_form.html,sha256=pdH089m7iaEDMUxKCWg5OSQmte0nU2Ir8gxFzrwtwB4,5611
|
@@ -147,13 +147,13 @@ unfold/templates/admin/nav_sidebar.html,sha256=xvCaXOamXawmf80NhE0OwjjjuNwoyoePS
|
|
147
147
|
unfold/templates/admin/object_history.html,sha256=t-iJFQnpstowwsabGGA-FQjmcT1KIKhKLKbQ3iVELkk,4832
|
148
148
|
unfold/templates/admin/pagination.html,sha256=Jc8kqZp2LMZ1xdJCGg2O5YB1lgcUG9nm-sXTWaW9Ckc,897
|
149
149
|
unfold/templates/admin/search_form.html,sha256=ebd6ccOASaIUQsOZ0mVkcoB-EiKLqkN7y7cEm3fwsL8,1360
|
150
|
-
unfold/templates/admin/submit_line.html,sha256=
|
150
|
+
unfold/templates/admin/submit_line.html,sha256=GvknbdmXXEw93BIQ8azUHhnQ1AcojExgGiSr0XaNg2A,4658
|
151
151
|
unfold/templates/auth/widgets/read_only_password_hash.html,sha256=MlaNXJ2PLEbv8Nd01BBp-AQEfMB13LNxD_DzRemXhCg,775
|
152
152
|
unfold/templates/registration/logged_out.html,sha256=oIdaqGcvIdBih3yNnUkXSEpvofRsBJ77obldnhcnP2U,997
|
153
|
-
unfold/templates/registration/password_change_done.html,sha256=
|
154
|
-
unfold/templates/registration/password_change_form.html,sha256
|
153
|
+
unfold/templates/registration/password_change_done.html,sha256=ITV6Fug4S6YG3WG-O1cm-sDAXTHEXPcNZ_w2x1IQFu8,1006
|
154
|
+
unfold/templates/registration/password_change_form.html,sha256=-8AauxUHWHXVaokG269UsETY_FHKqU83Zx38ZzrAA1A,2159
|
155
155
|
unfold/templates/unfold/components/button.html,sha256=19z4DHnhVmq2wL2WyvoZxtNu8xGCAKXGuDa2snZTF50,630
|
156
|
-
unfold/templates/unfold/components/card.html,sha256=
|
156
|
+
unfold/templates/unfold/components/card.html,sha256=N9ld_SWpXdmaqAea9bboy0bTg1YqIkAhsJmOj7nd0qs,1353
|
157
157
|
unfold/templates/unfold/components/chart/bar.html,sha256=nDdDCUXvFd793OpNgNPQo0vBmvYngMsQyPHVTf1vfOw,297
|
158
158
|
unfold/templates/unfold/components/chart/cohort.html,sha256=L00WR-igYv0C3t2yT_nZqeI-M5gVHpoaGv5RooRojqU,2402
|
159
159
|
unfold/templates/unfold/components/chart/line.html,sha256=DHaZUFTlCs5cX7ioYdTzoN4ITHWNcEoNSUp7v3hlo_E,298
|
@@ -161,9 +161,9 @@ unfold/templates/unfold/components/container.html,sha256=WBk1rGHnTsObi3pJCpL3dfF
|
|
161
161
|
unfold/templates/unfold/components/flex.html,sha256=_hBsQLJ6-7MfEfXNp5Wy-ykNtPMnnNg_io2IMGegn3s,134
|
162
162
|
unfold/templates/unfold/components/icon.html,sha256=Qlhcf41FOwNVJ-nvA0RJ_Dn6JW6PUFXO6tOR3Xtf6e8,99
|
163
163
|
unfold/templates/unfold/components/navigation.html,sha256=eVpuQ_yTxIv6JVL8sM21Wy-sBfGviIdEsQbEWPgw5WQ,903
|
164
|
-
unfold/templates/unfold/components/progress.html,sha256=
|
164
|
+
unfold/templates/unfold/components/progress.html,sha256=5D9z7PDo68jI_33e-MVPM0V3tywswn5fWc_x39XKQ_4,972
|
165
165
|
unfold/templates/unfold/components/separator.html,sha256=yvHywT_MFkx5dNC2K53OFHRGxLDsEjRpptujXyGeoTY,168
|
166
|
-
unfold/templates/unfold/components/table.html,sha256=
|
166
|
+
unfold/templates/unfold/components/table.html,sha256=VVMTrrDy_Oq09MG9aNAsnMZfXSp23K2sAMRnbjzOZmI,3355
|
167
167
|
unfold/templates/unfold/components/text.html,sha256=-GjxvdiaBQIaNfPSzT6SSIwnc3R27FkSDQMoF3FDPso,102
|
168
168
|
unfold/templates/unfold/components/title.html,sha256=aMYSO30ybFYqPnqwlJVh2uNmcgnVrRycZkHTjJTjpX8,171
|
169
169
|
unfold/templates/unfold/components/tracker.html,sha256=krlvsb06lpfdOIANsyrBOoLq1sgv6rXUGr-7MmP5Le0,292
|
@@ -177,7 +177,7 @@ unfold/templates/unfold/helpers/boolean.html,sha256=kcSZr3siQeBWIy_jsx1tFf4m6IB3
|
|
177
177
|
unfold/templates/unfold/helpers/breadcrumb_item.html,sha256=9T6ojN7LOXIlgwSwlIwHgy5U22eQYtarCqcmzsQIoPU,201
|
178
178
|
unfold/templates/unfold/helpers/change_list_actions.html,sha256=XceGYsclqM5atPtN8NC3dffHh_R78mt-OD9QLONqdr8,651
|
179
179
|
unfold/templates/unfold/helpers/change_list_filter.html,sha256=WwU-AG4U5qZQ_sFs1z_jaaYBWqIv3ASmtKIQIhAp2gs,1908
|
180
|
-
unfold/templates/unfold/helpers/change_list_filter_actions.html,sha256=
|
180
|
+
unfold/templates/unfold/helpers/change_list_filter_actions.html,sha256=K32esRWcttvg8_9YvFMDurvUhL71SHjpqBSJv-ll0Po,2037
|
181
181
|
unfold/templates/unfold/helpers/delete_submit_line.html,sha256=7SNS0axGytvUih9KxtOzy9ZC5rwG9u99iQxlnUZQfdE,700
|
182
182
|
unfold/templates/unfold/helpers/display_dropdown.html,sha256=IpOy8-hww4arAVjPIRsHrip30J3IEd2p-2BzD3BjIaA,2906
|
183
183
|
unfold/templates/unfold/helpers/display_header.html,sha256=2u-5Vc3mA6rS3ZlOWm3WRNLUX1wmZy4OSmGY2mdPZYs,1714
|
@@ -189,7 +189,7 @@ unfold/templates/unfold/helpers/edit_inline/tabular_heading.html,sha256=ER8R64wn
|
|
189
189
|
unfold/templates/unfold/helpers/edit_inline/tabular_row.html,sha256=eCyWEYvvDDCr9SR4_0ua5-GqCLIlFzgQYIZP0ip8cp8,2145
|
190
190
|
unfold/templates/unfold/helpers/edit_inline/tabular_title.html,sha256=2sk1TRzpmwy8PPPMNdf6CJx0zVSk-I2q3yX8uEPjuxE,2710
|
191
191
|
unfold/templates/unfold/helpers/empty_results.html,sha256=Sbp1dOgazpbSwyiX1CT-Arbe51V79MhV8w9IAiHRIE0,1963
|
192
|
-
unfold/templates/unfold/helpers/field.html,sha256=
|
192
|
+
unfold/templates/unfold/helpers/field.html,sha256=2q2M4dfisKJ9v8jt8gcq-iRf74t6H9W6xg16scZNF70,979
|
193
193
|
unfold/templates/unfold/helpers/field_readonly.html,sha256=4qtXjWE7SA2qZSTYLOv0lT4pQfD0TE34mvWQJY7jhS8,237
|
194
194
|
unfold/templates/unfold/helpers/field_readonly_value.html,sha256=FI_CFEsCN7ELQux9gF-IaZ7nT7jyzidqwR2Med-E52g,504
|
195
195
|
unfold/templates/unfold/helpers/fieldset_row.html,sha256=LriorPLXU4VmqstjX1oBc3T49H8CbhCrRxwQ7YfUSkI,1219
|
@@ -211,7 +211,7 @@ unfold/templates/unfold/helpers/messages/info.html,sha256=4SCFtg3p6F33ZHJhYoIm2V
|
|
211
211
|
unfold/templates/unfold/helpers/messages/success.html,sha256=UWHpRJTvVhXiYC9-AvJ9HeEZJj-poejFgy7EgLvwpf8,157
|
212
212
|
unfold/templates/unfold/helpers/messages/warning.html,sha256=UldycPr8wdyp5vdjlkfs_yHCEvNg9PgspyzTALAjdDY,161
|
213
213
|
unfold/templates/unfold/helpers/messages.html,sha256=ISkUlIDraDAVBwASkX1tFXHo8TY1vHKmmhh8BAg123E,915
|
214
|
-
unfold/templates/unfold/helpers/navigation.html,sha256=
|
214
|
+
unfold/templates/unfold/helpers/navigation.html,sha256=IPE9Z48XTuI2q72sNJcFTPXDn8_F2FhzgvipTymnFck,526
|
215
215
|
unfold/templates/unfold/helpers/navigation_header.html,sha256=08_LTuJF6MrG0hK6lUI9daCP5kQr5Q7FwY7Pl4kFxJQ,1474
|
216
216
|
unfold/templates/unfold/helpers/pagination.html,sha256=N5TQDlj5kgJLj02oRiaX8W62jQtZVNoWfI2hXdpuY1g,439
|
217
217
|
unfold/templates/unfold/helpers/pagination_current_item.html,sha256=4cZ2KLVcP0Y7xuGyXgexDQ07r94cgM5Gnmtv11dkRPQ,69
|
@@ -254,34 +254,34 @@ unfold/templates/unfold/widgets/url.html,sha256=IRLgW44VTKN7UrSWeywJwaxQhfG5jhhX
|
|
254
254
|
unfold/templates/unfold_crispy/display_form.html,sha256=tGyr8hvMlnKkm2ILbVj0enj6IrjtqiKo6nO9Z-zHE2Q,270
|
255
255
|
unfold/templates/unfold_crispy/errors.html,sha256=bzTXuZh_UkQLb4sPaa0En5Uopveoe573TaEOM9OQVcw,132
|
256
256
|
unfold/templates/unfold_crispy/errors_formset.html,sha256=D52cx_PmIF9KSTO8WmQu0m2atpDfLIt79SPKz9LmjSE,136
|
257
|
-
unfold/templates/unfold_crispy/field.html,sha256=
|
257
|
+
unfold/templates/unfold_crispy/field.html,sha256=K8B4K28oMI914QiD_21g6NO_86_9T66t7Amxomja12c,1681
|
258
258
|
unfold/templates/unfold_crispy/inputs.html,sha256=6aMXsUY26q_JcIVYgd6X4lwbwbagWj68KHyAYk_fCN4,238
|
259
259
|
unfold/templates/unfold_crispy/layout/attrs.html,sha256=LsLlfKenzHKl6n25m4Ers2NepLSA_RBy9AqezKZ7rH8,173
|
260
260
|
unfold/templates/unfold_crispy/layout/baseinput.html,sha256=GjMxXoqpnxCPkPC1E3v_crzlxDb_hHMf_UgJYfqSsYE,440
|
261
261
|
unfold/templates/unfold_crispy/layout/button.html,sha256=evlO80en9FkbW3UayLPTNUZXAYvgr3slSAsGPKXs96M,67
|
262
262
|
unfold/templates/unfold_crispy/layout/buttonholder.html,sha256=ruHqViROk7nh4luckA8-mcfmnYBqsVM85e8j0rOi3cU,415
|
263
|
-
unfold/templates/unfold_crispy/layout/checkbox.html,sha256=
|
263
|
+
unfold/templates/unfold_crispy/layout/checkbox.html,sha256=V1YGDcYfn4spUHx6M5ux8fzfY7vrWCPCO2UfqFyAKos,769
|
264
264
|
unfold/templates/unfold_crispy/layout/column.html,sha256=Bob4xRcbJOHScDjSjLMRIMNf4lonNmm8F_JOm2azTik,172
|
265
265
|
unfold/templates/unfold_crispy/layout/div.html,sha256=RE9qQ2w2I2zpi7Z7xzVmVO03UXq0yZvMw-W7rVJkEdw,174
|
266
266
|
unfold/templates/unfold_crispy/layout/field_errors.html,sha256=N0eNJo4OvYzFHPD6vX2gSZWabm46W1GP011sd_dua1I,291
|
267
|
-
unfold/templates/unfold_crispy/layout/fieldset.html,sha256=
|
267
|
+
unfold/templates/unfold_crispy/layout/fieldset.html,sha256=batc1TDIHvtzX9ZchvSyH3r3q9s7bgr7DpxEfnwvvjk,601
|
268
268
|
unfold/templates/unfold_crispy/layout/help_text.html,sha256=FY0UQv5FsoOFhrqvbILEfZE78Hj30r73YHCtg_MWNeY,207
|
269
269
|
unfold/templates/unfold_crispy/layout/help_text_and_errors.html,sha256=Um14wIg0FHthNM0mKE9VdptTrC-lTTcrDUO-UbbXxhY,108
|
270
270
|
unfold/templates/unfold_crispy/layout/hr.html,sha256=_u0V0lIdK3PLREGspx3zywhUQHcFeY7BuMUbaLyN1WU,321
|
271
271
|
unfold/templates/unfold_crispy/layout/radio_checkbox_select.html,sha256=pUlHC6j-fH62fAMiAZW-4BWXGD0RocHOKCmLtHN9pP8,997
|
272
272
|
unfold/templates/unfold_crispy/layout/row.html,sha256=MgGCI9s2mEn8C6xc78fb2Y4BsW6sbsKvgEd6aVRlFsg,184
|
273
|
-
unfold/templates/unfold_crispy/layout/table_inline_formset.html,sha256=
|
273
|
+
unfold/templates/unfold_crispy/layout/table_inline_formset.html,sha256=6c0C5jZYGuQQoJsd_mu0aHs-Jq7OzzFbUTTqyAniYB4,4705
|
274
274
|
unfold/templates/unfold_crispy/uni_form.html,sha256=l9UNCUrIycgJ0p_B6qhtO_YxdARy3aq8qYY5h5BheSo,312
|
275
275
|
unfold/templates/unfold_crispy/whole_uni_form.html,sha256=ufXRKCIGqkqKFOsh166rpKUnHpFMyBV4eYUCRhs3iws,475
|
276
276
|
unfold/templates/unfold_crispy/whole_uni_formset.html,sha256=CYksfG2hRUdi5n691KW2ih-FfBxpOU4qVBfbOvcu1zs,873
|
277
277
|
unfold/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
278
|
-
unfold/templatetags/unfold.py,sha256=
|
278
|
+
unfold/templatetags/unfold.py,sha256=ht7dnFDANrzly8guUMES-PRR4S5e82I8fuWMD0bDieg,17297
|
279
279
|
unfold/templatetags/unfold_list.py,sha256=ayShOYEXcV3o7wKt3t2aFTWvg62Mb-WGlxjYVGgk3a0,14344
|
280
280
|
unfold/typing.py,sha256=i7LM2LiwYTAjT5-OLDUPVn5b9X-DMmHnjlZG2toWwSE,692
|
281
281
|
unfold/utils.py,sha256=SJikRuAuJN0bE9rfzUujZwycTRrzQm14Hk0zB0EwivU,6164
|
282
282
|
unfold/views.py,sha256=FuYnMrlg6SegLUDDN6An__yZj8rchD_iBK8myieYhkA,1492
|
283
|
-
unfold/widgets.py,sha256=
|
284
|
-
django_unfold-0.
|
285
|
-
django_unfold-0.
|
286
|
-
django_unfold-0.
|
287
|
-
django_unfold-0.
|
283
|
+
unfold/widgets.py,sha256=ZpwWbxEwgIqf-rZEaU71UwGwyuGyxE5TofaytXxxFEg,23062
|
284
|
+
django_unfold-0.58.0.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
|
285
|
+
django_unfold-0.58.0.dist-info/METADATA,sha256=bnstJhcMtmg1VBaWRfJO9Mt12BRJp6F_ikTi513G5nI,7951
|
286
|
+
django_unfold-0.58.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
287
|
+
django_unfold-0.58.0.dist-info/RECORD,,
|
@@ -1,11 +1,7 @@
|
|
1
1
|
{% extends "admin/base_site.html" %}
|
2
2
|
{% load admin_modify admin_urls i18n static %}
|
3
3
|
|
4
|
-
{% block extrastyle %}
|
5
|
-
{{ block.super }}
|
6
|
-
|
7
|
-
<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />
|
8
|
-
{% endblock %}
|
4
|
+
{% block extrastyle %}{{ block.super }}{% endblock %}
|
9
5
|
|
10
6
|
{% block bodyclass %}
|
11
7
|
{{ block.super }} {{ opts.app_label }}-{{ opts.object_name.lower }} change-form
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
{% include "admin/import_export/resource_fields_list.html" with import_or_export="import" %}
|
8
8
|
|
9
|
-
<fieldset class="border border-base-200 mb-8 rounded-default pt-
|
9
|
+
<fieldset class="border border-base-200 mb-8 rounded-default pt-2.5 px-3 shadow-xs dark:border-base-800">
|
10
10
|
{% for field in form %}
|
11
11
|
{% if field.field.widget.attrs.readonly %}
|
12
12
|
{% include "unfold/helpers/field_readonly.html" with title=field.label value=field.field.value %}
|
@@ -43,7 +43,7 @@
|
|
43
43
|
{% endblock %}
|
44
44
|
|
45
45
|
{% block form_top %}
|
46
|
-
<p class="px-3 py-3 rounded-default text-sm last:mb-8
|
46
|
+
<p class="px-3 py-3 rounded-default text-sm last:mb-8 bg-blue-50 mb-8 text-blue-500 dark:bg-blue-500/20">
|
47
47
|
{% if not revert_disabled %}
|
48
48
|
{% blocktrans %}Press the 'Revert' button below to revert to this version of the object.{% endblocktrans %}
|
49
49
|
{% endif %}
|
unfold/decorators.py
CHANGED
@@ -8,8 +8,7 @@ from django.db.models.expressions import BaseExpression, Combinable
|
|
8
8
|
from django.http import HttpRequest, HttpResponse
|
9
9
|
|
10
10
|
from unfold.enums import ActionVariant
|
11
|
-
|
12
|
-
from .typing import ActionFunction
|
11
|
+
from unfold.typing import ActionFunction
|
13
12
|
|
14
13
|
|
15
14
|
def action(
|
unfold/sites.py
CHANGED
@@ -243,58 +243,58 @@ class UnfoldAdminSite(AdminSite):
|
|
243
243
|
results = []
|
244
244
|
|
245
245
|
for group in copy.deepcopy(navigation):
|
246
|
-
|
247
|
-
|
248
|
-
for item in group["items"]:
|
249
|
-
if "active" in item:
|
250
|
-
item["active"] = self._get_value(item["active"], request)
|
251
|
-
else:
|
252
|
-
item["active"] = self._get_is_active(
|
253
|
-
request, item.get("link_callback") or item["link"]
|
254
|
-
)
|
246
|
+
group["items"] = self._get_navigation_items(request, group["items"], tabs)
|
247
|
+
results.append(group)
|
255
248
|
|
256
|
-
|
257
|
-
for tab in tabs:
|
258
|
-
has_primary_link = False
|
259
|
-
has_tab_link_active = False
|
249
|
+
return results
|
260
250
|
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
251
|
+
def _get_navigation_items(
|
252
|
+
self, request: HttpRequest, items: list[dict], tabs: list[dict] = None
|
253
|
+
) -> list:
|
254
|
+
allowed_items = []
|
265
255
|
|
266
|
-
|
267
|
-
|
268
|
-
):
|
269
|
-
has_tab_link_active = True
|
270
|
-
break
|
256
|
+
for item in items:
|
257
|
+
link = item.get("link")
|
271
258
|
|
272
|
-
|
273
|
-
|
259
|
+
if "active" in item:
|
260
|
+
item["active"] = self._get_value(item["active"], request)
|
261
|
+
else:
|
262
|
+
item["active"] = self._get_is_active(
|
263
|
+
request, item.get("link_callback") or link
|
264
|
+
)
|
274
265
|
|
275
|
-
|
276
|
-
|
266
|
+
# Checks if any tab item is active and then marks the sidebar link as active
|
267
|
+
if (
|
268
|
+
tabs
|
269
|
+
and (is_active := self._get_is_tab_active(request, tabs, link))
|
270
|
+
and is_active
|
271
|
+
):
|
272
|
+
item["active"] = True
|
277
273
|
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
)
|
274
|
+
# Link callback
|
275
|
+
if isinstance(link, Callable):
|
276
|
+
item["link_callback"] = lazy(link)(request)
|
282
277
|
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
item["badge_callback"] = lazy(callback)(request)
|
288
|
-
except ImportError:
|
289
|
-
pass
|
278
|
+
# Permission callback
|
279
|
+
item["has_permission"] = self._call_permission_callback(
|
280
|
+
item.get("permission"), request
|
281
|
+
)
|
290
282
|
|
291
|
-
|
283
|
+
# Badge callbacks
|
284
|
+
if "badge" in item and isinstance(item["badge"], str):
|
285
|
+
try:
|
286
|
+
callback = import_string(item["badge"])
|
287
|
+
item["badge_callback"] = lazy(callback)(request)
|
288
|
+
except ImportError:
|
289
|
+
pass
|
292
290
|
|
293
|
-
|
291
|
+
# Process nested items
|
292
|
+
if "items" in item:
|
293
|
+
item["items"] = self._get_navigation_items(request, item["items"])
|
294
294
|
|
295
|
-
|
295
|
+
allowed_items.append(item)
|
296
296
|
|
297
|
-
return
|
297
|
+
return allowed_items
|
298
298
|
|
299
299
|
def get_tabs_list(self, request: HttpRequest) -> list[dict[str, Any]]:
|
300
300
|
tabs = copy.deepcopy(self._get_config("TABS", request))
|
@@ -381,6 +381,29 @@ class UnfoldAdminSite(AdminSite):
|
|
381
381
|
|
382
382
|
return False
|
383
383
|
|
384
|
+
def _get_is_tab_active(
|
385
|
+
self, request: HttpRequest, tabs: list[dict], link: str
|
386
|
+
) -> bool:
|
387
|
+
for tab in tabs:
|
388
|
+
has_primary_link = False
|
389
|
+
has_tab_link_active = False
|
390
|
+
|
391
|
+
for tab_item in tab["items"]:
|
392
|
+
if link == tab_item["link"]:
|
393
|
+
has_primary_link = True
|
394
|
+
continue
|
395
|
+
|
396
|
+
if self._get_is_active(
|
397
|
+
request, tab_item.get("link_callback") or tab_item["link"]
|
398
|
+
):
|
399
|
+
has_tab_link_active = True
|
400
|
+
break
|
401
|
+
|
402
|
+
if has_primary_link and has_tab_link_active:
|
403
|
+
return True
|
404
|
+
|
405
|
+
return False
|
406
|
+
|
384
407
|
def _get_config(self, key: str, *args) -> Any:
|
385
408
|
config = get_config(self.settings_name)
|
386
409
|
|