django-unfold 0.59.0__py3-none-any.whl → 0.61.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.59.0.dist-info → django_unfold-0.61.0.dist-info}/METADATA +17 -7
- {django_unfold-0.59.0.dist-info → django_unfold-0.61.0.dist-info}/RECORD +58 -47
- unfold/admin.py +45 -13
- unfold/contrib/import_export/templates/admin/import_export/change_list_import.html +5 -0
- unfold/contrib/inlines/admin.py +11 -6
- unfold/contrib/inlines/forms.py +3 -1
- unfold/contrib/location_field/__init__.py +0 -0
- unfold/contrib/location_field/apps.py +6 -0
- unfold/contrib/location_field/templates/location_field/map_widget.html +5 -0
- unfold/contrib/simple_history/templates/simple_history/submit_line.html +16 -18
- unfold/fields.py +17 -19
- unfold/forms.py +96 -2
- unfold/mixins/base_model_admin.py +21 -2
- unfold/sites.py +18 -31
- unfold/static/admin/js/admin/RelatedObjectLookups.js +2 -2
- unfold/static/unfold/css/styles.css +1 -1
- unfold/static/unfold/js/app.js +61 -0
- unfold/styles.css +6 -8
- unfold/templates/admin/app_list.html +4 -1
- unfold/templates/admin/auth/user/add_form.html +1 -5
- unfold/templates/admin/change_form.html +3 -1
- unfold/templates/admin/change_list.html +4 -2
- unfold/templates/admin/change_list_results.html +3 -3
- unfold/templates/admin/edit_inline/stacked.html +18 -8
- unfold/templates/admin/edit_inline/tabular.html +2 -0
- unfold/templates/admin/includes/fieldset.html +9 -3
- unfold/templates/admin/login.html +45 -88
- unfold/templates/admin/search_form.html +14 -5
- unfold/templates/admin/submit_line.html +1 -1
- unfold/templates/unfold/components/button.html +10 -1
- unfold/templates/unfold/components/card.html +4 -4
- unfold/templates/unfold/helpers/add_link.html +3 -1
- unfold/templates/unfold/helpers/app_list.html +5 -2
- unfold/templates/unfold/helpers/app_list_default.html +2 -1
- unfold/templates/unfold/helpers/field.html +5 -3
- unfold/templates/unfold/helpers/fieldsets_tabs.html +3 -3
- unfold/templates/unfold/helpers/help_text.html +1 -1
- unfold/templates/unfold/helpers/messages.html +4 -4
- unfold/templates/unfold/helpers/pagination.html +1 -1
- unfold/templates/unfold/helpers/pagination_inline.html +28 -0
- unfold/templates/unfold/helpers/popup_header.html +27 -0
- unfold/templates/unfold/helpers/search.html +16 -12
- unfold/templates/unfold/helpers/search_results.html +10 -9
- unfold/templates/unfold/helpers/shortcut.html +3 -0
- unfold/templates/unfold/helpers/site_branding.html +2 -2
- unfold/templates/unfold/helpers/tab_action.html +4 -3
- unfold/templates/unfold/helpers/unauthenticated_header.html +15 -0
- unfold/templates/unfold/helpers/unauthenticated_title.html +11 -0
- unfold/templates/unfold/layouts/unauthenticated.html +37 -0
- unfold/templates/unfold/widgets/text.html +28 -0
- unfold/templates/unfold_crispy/field.html +12 -10
- unfold/templates/unfold_crispy/layout/checkbox.html +20 -4
- unfold/templates/unfold_crispy/layout/fieldset.html +3 -3
- unfold/templatetags/unfold.py +34 -4
- unfold/templatetags/unfold_list.py +4 -1
- unfold/widgets.py +42 -1
- {django_unfold-0.59.0.dist-info → django_unfold-0.61.0.dist-info}/LICENSE.md +0 -0
- {django_unfold-0.59.0.dist-info → django_unfold-0.61.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: django-unfold
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.61.0
|
4
4
|
Summary: Modern Django admin theme for seamless interface development
|
5
5
|
License: MIT
|
6
6
|
Keywords: django,admin,tailwind,theme
|
@@ -24,7 +24,7 @@ Description-Content-Type: text/markdown
|
|
24
24
|
|
25
25
|

|
26
26
|
|
27
|
-
## Unfold Django Admin Theme
|
27
|
+
## Unfold - Django Admin Theme
|
28
28
|
|
29
29
|
[](https://pypi.org/project/django-unfold/)
|
30
30
|
[](https://discord.gg/9sQj9MEbNz)
|
@@ -40,21 +40,30 @@ Transform your Django admin into a powerful, modern administrative interface wit
|
|
40
40
|
- **Turbo:** A Django & Next.js boilerplate implementing Unfold is available at [github.com/unfoldadmin/turbo](https://github.com/unfoldadmin/turbo?utm_medium=github&utm_source=unfold).
|
41
41
|
- **Discord:** Join our Unfold community on [Discord](https://discord.gg/9sQj9MEbNz).
|
42
42
|
|
43
|
-
##
|
43
|
+
## Profesional tools & services
|
44
44
|
|
45
|
-
|
45
|
+
Looking for professional help with your Django or Unfold project? We offer a range of tools and services to support your development process:
|
46
46
|
|
47
|
-
|
47
|
+
### Consulting services
|
48
48
|
|
49
|
-
|
49
|
+
Professional consulting services for Django applications — from architecture and performance optimization to feature development and Unfold integration.
|
50
|
+
Ideal for teams looking to scale, modernize, or customize their Django projects with expert support. Learn more at [unfoldadmin.com/consulting](https://unfoldadmin.com/consulting/?utm_medium=github&utm_source=unfold).
|
51
|
+
|
52
|
+
### Support package
|
53
|
+
|
54
|
+
If you need assistance with integrating or customizing Unfold, support packages are available. They include live 1:1 calls, implementation review, and ongoing Discord-based support — fixed price, no ongoing commitment. Learn more at [unfoldadmin.com/support](https://unfoldadmin.com/support/?utm_medium=github&utm_source=unfold).
|
55
|
+
|
56
|
+
### Unfold Studio
|
57
|
+
|
58
|
+
Unfold Studio lets you visually customize your Django admin without writing code — update colors, logos, sidebar, and interface styles to match your brand in minutes. Give your admin a polished, professional look that feels truly yours. Available at [unfoldadmin.com/studio](https://unfoldadmin.com/studio).
|
50
59
|
|
51
60
|
## Fresh Features & Enhancements
|
52
61
|
|
62
|
+
- **Paginated inlines:** Break down large record sets into pages within inlines for better admin performance
|
53
63
|
- **Conditional fields:** Show or hide fields dynamically based on the values of other fields in the form
|
54
64
|
- **Infinite paginator:** Efficiently handle large datasets with seamless pagination that reduces server load
|
55
65
|
- **Checkbox & radio filters:** Enhanced filter options with checkbox and radio interfaces for intuitive filtering
|
56
66
|
- **Site dropdown:** Configurable dropdown menu in the header area for managing custom navigation links
|
57
|
-
- **Dropdown actions:** Organize action items in customizable dropdown menus
|
58
67
|
|
59
68
|
## Core Features & Capabilities
|
60
69
|
|
@@ -74,6 +83,7 @@ Unfold Studio is a theme customizer for Django admin that helps you create a bra
|
|
74
83
|
- **Sortable inlines:** Allow sorting inlines by dragging and dropping
|
75
84
|
- **Environment label:** Distinguish between environments by displaying a label
|
76
85
|
- **Nonrelated inlines:** Display nonrelated models as inlines in the change form
|
86
|
+
- **Paginated inlines:** Break down large record sets into pages within inlines for better admin performance
|
77
87
|
- **Favicons:** Built-in support for configuring various site favicons
|
78
88
|
- **Themes:** Allow customization of color scheme, background color, border radius, and more
|
79
89
|
- **Font colors:** Adjust font colors for better readability
|
@@ -1,5 +1,5 @@
|
|
1
1
|
unfold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
unfold/admin.py,sha256=
|
2
|
+
unfold/admin.py,sha256=B-MAEjAJuDSzGse2POA6fiLklwcDb9oVEsWR7Zn4z5Q,7455
|
3
3
|
unfold/apps.py,sha256=SlBXPYrUd2uXn67qFbRvbXSUk3XFWrF4-5WELgDCvho,381
|
4
4
|
unfold/checks.py,sha256=e5HEhbXRcu3FwZDT_d-IbimeVpjJ6jgCUPXWvsUjEw0,2601
|
5
5
|
unfold/components.py,sha256=vqkQzseYUvLXDohmTVAlbKopALjyX4WA9yglvdfhqu4,1283
|
@@ -56,6 +56,7 @@ unfold/contrib/import_export/templates/admin/import_export/base.html,sha256=y-J1
|
|
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
|
59
|
+
unfold/contrib/import_export/templates/admin/import_export/change_list_import.html,sha256=QTbp4m-XKKWFbnBotslw1Dw7O1fUWnFTDtAIymzOMDw,164
|
59
60
|
unfold/contrib/import_export/templates/admin/import_export/change_list_import_export.html,sha256=JdKd6P2Ot9Ou4yg4CywTauuE1UiTz_mRvDwlx3vj3LI,229
|
60
61
|
unfold/contrib/import_export/templates/admin/import_export/change_list_import_item.html,sha256=XUuRxnsx9YQbKvW-E_JGl_ha7kpTSGSoRefOTTizuX0,233
|
61
62
|
unfold/contrib/import_export/templates/admin/import_export/export.html,sha256=uzv2LuTIV7MZKcg7L_I8EmI0weEpJBL_omXmGSHtyH0,3463
|
@@ -67,36 +68,39 @@ unfold/contrib/import_export/templates/admin/import_export/import_preview.html,s
|
|
67
68
|
unfold/contrib/import_export/templates/admin/import_export/import_validation.html,sha256=K7j5OlWMQUTcSVulJtIraKfWIupSvmN4R5bZ2hH4tRA,5117
|
68
69
|
unfold/contrib/import_export/templates/admin/import_export/resource_fields_list.html,sha256=Bc6uD8aHA5YYbZgLAPpGUckFjnxn9uq19YuKKFxTj4Y,887
|
69
70
|
unfold/contrib/inlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
unfold/contrib/inlines/admin.py,sha256=
|
71
|
+
unfold/contrib/inlines/admin.py,sha256=__U86gR2OfdEiLPmOsKwTu7t8X2be8_jL-NL1SSNb3Q,6066
|
71
72
|
unfold/contrib/inlines/apps.py,sha256=Z9JBnzywq-DanZbD56fG0ndBfLXbojzkjVBleqoOBSU,136
|
72
73
|
unfold/contrib/inlines/checks.py,sha256=0vkHUh-MtNSTrcOjCLbZmtI4961fFOygOv_dBAps6zw,534
|
73
|
-
unfold/contrib/inlines/forms.py,sha256=
|
74
|
+
unfold/contrib/inlines/forms.py,sha256=noZdrBgvsu9tCBbRW3f9p7o6xKSuXtWR14qbZPdZBPA,1395
|
75
|
+
unfold/contrib/location_field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
|
+
unfold/contrib/location_field/apps.py,sha256=qbNLfWXWf9q_gZxnuwFNVj20liSk_OT29uWMAi1she8,150
|
77
|
+
unfold/contrib/location_field/templates/location_field/map_widget.html,sha256=HXNqZ7TRh8zxq7jxGv5V5De7jdB_L6smXSWX_KXujJs,179
|
74
78
|
unfold/contrib/simple_history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
79
|
unfold/contrib/simple_history/apps.py,sha256=eF_KVYb60CAnGgWk2Z1YKYGfgA3TJBMr229qI7e2pgU,153
|
76
80
|
unfold/contrib/simple_history/templates/simple_history/object_history.html,sha256=unZQE70be7cK6v0YPlITFeaosmiLt3kiei-pmmCjBg0,1711
|
77
81
|
unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=1wsz8KTmjsgAthFS2myfcS3QvyeL0-qT8s2w7JINVhQ,2256
|
78
82
|
unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=PWtjuAcxciAI001qIrXLvbUxzCFl_SDAaHA5FhR16Z8,6858
|
79
|
-
unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=
|
83
|
+
unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=PEoPmWcWiiBIMs6XtXcoXswDtxp3FgntR3maieLDt4Y,1618
|
80
84
|
unfold/dataclasses.py,sha256=a-9INnkCAIcnMgoffTcB1rxWCJH33AjhMCWIGWnjWbI,719
|
81
85
|
unfold/decorators.py,sha256=jPiYFy1p0WGFn68VZhAZkYCPDF7argb9SDFaH6aemHk,4922
|
82
86
|
unfold/enums.py,sha256=9sTfyEycMWeoGPBa-ft6ZhQGnW1vkFg108RMBVf9nko,187
|
83
87
|
unfold/exceptions.py,sha256=gcCj1ox61E137bk_0Cqy4YC3SttdPgB-fiJUqpmyHSE,43
|
84
|
-
unfold/fields.py,sha256=
|
85
|
-
unfold/forms.py,sha256=
|
88
|
+
unfold/fields.py,sha256=h7mpRlsoFu6xQrCbehrjsBpyxFsXc-lMDzEI1JREoJk,7304
|
89
|
+
unfold/forms.py,sha256=0u4TFw7oQ96S7njzJ2G79Qzt1X-4P4px-kfMgjVt49o,7762
|
86
90
|
unfold/layout.py,sha256=Q-dFTA6UlvvPCA4PsGyTkHQmBLO7PL56xBfZi-bdt0c,1459
|
87
91
|
unfold/mixins/__init__.py,sha256=YlhoDs9Y_DXQ8Ejr3enxuHMS1-Ij9fwukxNwpeOS4Co,190
|
88
92
|
unfold/mixins/action_model_admin.py,sha256=9Zt4FLrQWEQSO2vrpwjzpFo_I3_yE000uEwHndsW5kg,12365
|
89
|
-
unfold/mixins/base_model_admin.py,sha256=
|
93
|
+
unfold/mixins/base_model_admin.py,sha256=PyTZSxF6tIcs20VlMCX08tFnB0ORU0VXvgcPArkiE68,4796
|
90
94
|
unfold/overrides.py,sha256=ERVY9boZiXgjDYcTEZcIp7KWoeBZ45VM_zN31yAOjyQ,2922
|
91
95
|
unfold/paginator.py,sha256=bZiEY-1kqZy_6CYGs9fHo6WntMgpnFCH-LJPoXkEESk,533
|
92
96
|
unfold/sections.py,sha256=Lcg3xCZ76fqjm4vD4x7YdE5VsbTKluL-sX5QTEBlHxA,2379
|
93
97
|
unfold/settings.py,sha256=DE3hComMaWtty8o-LqdgGGcoku3mevRWJah4NH1k5B4,2879
|
94
|
-
unfold/sites.py,sha256=
|
95
|
-
unfold/static/admin/js/admin/RelatedObjectLookups.js,sha256=
|
98
|
+
unfold/sites.py,sha256=GPeMbBA4ckhacUOPW9PXrzQrOttU7_91zwReaKJdZgc,17616
|
99
|
+
unfold/static/admin/js/admin/RelatedObjectLookups.js,sha256=ubKKhWmX_QborwPnaLHuQshTwQw6tK1pAViWdKIjw4E,9222
|
96
100
|
unfold/static/admin/js/inlines.js,sha256=zcYwLGI_6RHg-gucDbbhp43RRoZd3so8bPk841KFaIE,15573
|
97
101
|
unfold/static/unfold/css/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
|
98
102
|
unfold/static/unfold/css/simplebar/simplebar.css,sha256=5LLaEM11pKi6JFCOLt4XKuZxTpT9rpdq_tNlaQytFlU,4647
|
99
|
-
unfold/static/unfold/css/styles.css,sha256=
|
103
|
+
unfold/static/unfold/css/styles.css,sha256=3Ch1P8TjpORzdOWrm41Gk5ljm-S2XImJkHOLmtMFaaE,158843
|
100
104
|
unfold/static/unfold/fonts/inter/Inter-Bold.woff2,sha256=-oiBJ7baAVtlVp8DUfO1w5GtkokElR8cIOn4RiqNleo,114840
|
101
105
|
unfold/static/unfold/fonts/inter/Inter-Medium.woff2,sha256=D_PpRhThST61VjFP0keubEqFp3g7TMhr5TmUDPg_Kkg,114348
|
102
106
|
unfold/static/unfold/fonts/inter/Inter-Regular.woff2,sha256=4G9rG8VTqupORmgCPtCrChRxKcMQf1Ebx9A9NhsK4IU,111268
|
@@ -112,7 +116,7 @@ unfold/static/unfold/js/alpine/alpine.js,sha256=PtHu0lJIiSHfZeNj1nFd6wTX-Squ255S
|
|
112
116
|
unfold/static/unfold/js/alpine/alpine.persist.js,sha256=jFBwr6faTqqhp3sVi4_VTxJ0FpaF9YGZN1ZGLl_5QYM,837
|
113
117
|
unfold/static/unfold/js/alpine/alpine.resize.js,sha256=mXR2L6neT584cfNLY5_imDq5DKjW1noXys7fhb1yxY4,703
|
114
118
|
unfold/static/unfold/js/alpine/alpine.sort.js,sha256=q6LxgConwu8M8R03mZSBcsKwJv6fF7oomP8sqLxVQ0w,37891
|
115
|
-
unfold/static/unfold/js/app.js,sha256=
|
119
|
+
unfold/static/unfold/js/app.js,sha256=UfVvyLqwoUUYci7dRbFXz1e4q68WTwz3M3K80JAQxfE,9414
|
116
120
|
unfold/static/unfold/js/chart/LICENSE,sha256=QahKosq6ZF-WahjZwgVrc-bTqB2AvABGvAARomNNTM4,1093
|
117
121
|
unfold/static/unfold/js/chart/chart.js,sha256=22W6cFERR-CElMOKRgMMicueMVP0Vf7FBEBYH8Z8tCk,200633
|
118
122
|
unfold/static/unfold/js/htmx/LICENSE,sha256=09JFb3ZBTyRWEEZg69Za_xwEzXlmuUK9q9Y_PNsxajg,642
|
@@ -120,40 +124,40 @@ unfold/static/unfold/js/htmx/htmx.js,sha256=acrv0NqSJpBm5yXX_hdeJrnVDJYuMFZFnAxH
|
|
120
124
|
unfold/static/unfold/js/select2.init.js,sha256=l0O8ggw_CkAw-QtH3qEzC8xWk0mR9QHjy4VzAjMwiQQ,1109
|
121
125
|
unfold/static/unfold/js/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
|
122
126
|
unfold/static/unfold/js/simplebar/simplebar.js,sha256=t-uG1FAD6ZoiMeN--wac0XRS7SxoDVG6zvRnGuEp7X8,27176
|
123
|
-
unfold/styles.css,sha256=
|
127
|
+
unfold/styles.css,sha256=nFgCmto4fLeMBh2kZlRCTwLB4V6T-X9vNGKPXX8DWqo,21292
|
124
128
|
unfold/templates/admin/actions.html,sha256=iuuubcAILkOoYBgV6cpXqFIyZUh4zMqyFp0JaDFlPKU,3096
|
125
129
|
unfold/templates/admin/app_index.html,sha256=LRR07CLcZVsYpisCOncWdMSACARNstcDt536Oydnt60,1239
|
126
|
-
unfold/templates/admin/app_list.html,sha256
|
127
|
-
unfold/templates/admin/auth/user/add_form.html,sha256
|
130
|
+
unfold/templates/admin/app_list.html,sha256=-DEZKFdmkdTq3rix_cgZurPZ1r8PHg5pBL3i7ZtzVdI,2972
|
131
|
+
unfold/templates/admin/auth/user/add_form.html,sha256=-_YY4guGdAbw2rCskrQfRAAvQF2XzVHt5UMI0fsLDm4,337
|
128
132
|
unfold/templates/admin/auth/user/change_password.html,sha256=028v1dfQTlSmdr-WCuV4lBOmFa7Oo38CsYhsXEe8ANI,2831
|
129
133
|
unfold/templates/admin/base.html,sha256=z9sU8rezHLqOZk5x13_5nvnqpRYf6XxQaMfa7N_GU68,2460
|
130
134
|
unfold/templates/admin/base_site.html,sha256=UOsecaCycpyn_ygJNIKO7MQtDFJuHv--r83-mzaVY30,300
|
131
|
-
unfold/templates/admin/change_form.html,sha256=
|
135
|
+
unfold/templates/admin/change_form.html,sha256=SioX04QmUiCRBQYHD22HRss8V2ubhHDgZ_YVNfqiPV0,5758
|
132
136
|
unfold/templates/admin/change_form_object_tools.html,sha256=eyeH-i2HgEM0Yi-OJA2D1VnKJyC19A_my1IDGxxoP8Y,593
|
133
|
-
unfold/templates/admin/change_list.html,sha256=
|
137
|
+
unfold/templates/admin/change_list.html,sha256=39S_LBbd25DiKhL9HjLOamXN1o-Ads4HfeQ6wEvv8JA,5361
|
134
138
|
unfold/templates/admin/change_list_object_tools.html,sha256=cmMiT2nT20Ph5yfpj9aHPr76Z-JP4aSXp0o-Rnad28s,147
|
135
|
-
unfold/templates/admin/change_list_results.html,sha256=
|
139
|
+
unfold/templates/admin/change_list_results.html,sha256=YwLpgmsPgSSEk5Lw1VmmMfKS85y0ACrkNo-v0BKEw9Q,8238
|
136
140
|
unfold/templates/admin/date_hierarchy.html,sha256=A-sIqBKzZTMqSn3NSHORIL1yTEAqhj4Atff0OvWtqT0,1413
|
137
141
|
unfold/templates/admin/delete_confirmation.html,sha256=IPSGhOpxDl6hJB9LtpSg_XRkVmbDO1BpO9q_dthqkac,4635
|
138
142
|
unfold/templates/admin/delete_selected_confirmation.html,sha256=T3NNe7pP0WM2QM4F39AbkDGsfd_d_tKYRpwxvExahgU,4399
|
139
|
-
unfold/templates/admin/edit_inline/stacked.html,sha256=
|
140
|
-
unfold/templates/admin/edit_inline/tabular.html,sha256=
|
143
|
+
unfold/templates/admin/edit_inline/stacked.html,sha256=szX_jhvXShedo5owpYRGSjvRtYj2BjvukmnLfCsXvwc,8623
|
144
|
+
unfold/templates/admin/edit_inline/tabular.html,sha256=roeOKLctqSGga37jRkpm5X7cyaaXq5kJ31U4_WK2lSg,3015
|
141
145
|
unfold/templates/admin/filter.html,sha256=DEyrLgCWuncS1O1WR0vlt1evGQFvKoZV2pABkHzSoGU,2039
|
142
|
-
unfold/templates/admin/includes/fieldset.html,sha256=
|
146
|
+
unfold/templates/admin/includes/fieldset.html,sha256=knUIN44un4M-M4wlzoLIE1U6qHDlVSt7EH9bV8RwK4g,1461
|
143
147
|
unfold/templates/admin/includes/object_delete_summary.html,sha256=FgwfapZCKWtnFtTHqh1MRuxxLot4bAw92WCcR_V8ImI,444
|
144
148
|
unfold/templates/admin/index.html,sha256=9ey6IIXxBVTEkVSDiQw01AwvMbUnG_h0B08N1Zg3wTg,578
|
145
|
-
unfold/templates/admin/login.html,sha256=
|
149
|
+
unfold/templates/admin/login.html,sha256=W07Dtr3-YQ-JP1jYKZMsBxrmO1u49A5R4UZyOUmZYfY,2465
|
146
150
|
unfold/templates/admin/nav_sidebar.html,sha256=xvCaXOamXawmf80NhE0OwjjjuNwoyoePS--lsdqDeIE,772
|
147
151
|
unfold/templates/admin/object_history.html,sha256=t-iJFQnpstowwsabGGA-FQjmcT1KIKhKLKbQ3iVELkk,4832
|
148
152
|
unfold/templates/admin/pagination.html,sha256=-9kjc_lKEeqvDVHMrnTfnlXDxMSkM8GNRGZGuI9D8os,912
|
149
|
-
unfold/templates/admin/search_form.html,sha256=
|
150
|
-
unfold/templates/admin/submit_line.html,sha256=
|
153
|
+
unfold/templates/admin/search_form.html,sha256=7ckco8llu5paptroZgr3jZw54DtowX-NiwFvxsCV898,1713
|
154
|
+
unfold/templates/admin/submit_line.html,sha256=9FDZ5HOfiJG11HSMtA4rfqjKe3ucC-_OChpx1CGTLac,4626
|
151
155
|
unfold/templates/auth/widgets/read_only_password_hash.html,sha256=MlaNXJ2PLEbv8Nd01BBp-AQEfMB13LNxD_DzRemXhCg,775
|
152
156
|
unfold/templates/registration/logged_out.html,sha256=oIdaqGcvIdBih3yNnUkXSEpvofRsBJ77obldnhcnP2U,997
|
153
157
|
unfold/templates/registration/password_change_done.html,sha256=ITV6Fug4S6YG3WG-O1cm-sDAXTHEXPcNZ_w2x1IQFu8,1006
|
154
158
|
unfold/templates/registration/password_change_form.html,sha256=-8AauxUHWHXVaokG269UsETY_FHKqU83Zx38ZzrAA1A,2159
|
155
|
-
unfold/templates/unfold/components/button.html,sha256=
|
156
|
-
unfold/templates/unfold/components/card.html,sha256=
|
159
|
+
unfold/templates/unfold/components/button.html,sha256=RlNNIa_JmcsNFH151ECHkbB2TxpgeCPRh-eW1Bc0Xtk,933
|
160
|
+
unfold/templates/unfold/components/card.html,sha256=fwko37u8KJIDQwiD2v8RoVuvZu8qBPyPl2TambOcFnc,1349
|
157
161
|
unfold/templates/unfold/components/chart/bar.html,sha256=nDdDCUXvFd793OpNgNPQo0vBmvYngMsQyPHVTf1vfOw,297
|
158
162
|
unfold/templates/unfold/components/chart/cohort.html,sha256=L00WR-igYv0C3t2yT_nZqeI-M5gVHpoaGv5RooRojqU,2402
|
159
163
|
unfold/templates/unfold/components/chart/line.html,sha256=DHaZUFTlCs5cX7ioYdTzoN4ITHWNcEoNSUp7v3hlo_E,298
|
@@ -169,9 +173,9 @@ unfold/templates/unfold/components/title.html,sha256=aMYSO30ybFYqPnqwlJVh2uNmcgn
|
|
169
173
|
unfold/templates/unfold/components/tracker.html,sha256=krlvsb06lpfdOIANsyrBOoLq1sgv6rXUGr-7MmP5Le0,292
|
170
174
|
unfold/templates/unfold/helpers/account_links.html,sha256=Tq30bAkOU8QRR6CaB1CvTfTgkoPP5dz2v0OHYq0pRSE,2348
|
171
175
|
unfold/templates/unfold/helpers/actions_row.html,sha256=RqhZsxgIFR-r1casv5CueL81uxNl8rA3XuCMDP--zLA,2586
|
172
|
-
unfold/templates/unfold/helpers/add_link.html,sha256=
|
173
|
-
unfold/templates/unfold/helpers/app_list.html,sha256=
|
174
|
-
unfold/templates/unfold/helpers/app_list_default.html,sha256=
|
176
|
+
unfold/templates/unfold/helpers/add_link.html,sha256=vd-oy-xMIDiVmFVvwDL3-S360hOOmyAdfqcOTdDU1hI,870
|
177
|
+
unfold/templates/unfold/helpers/app_list.html,sha256=baydU9R_xmH9pWgs8B7PUcwTWcLxHDhD1ehs75c5PD0,5879
|
178
|
+
unfold/templates/unfold/helpers/app_list_default.html,sha256=0TR2ZTy0KUqa6YR8IgihA_4RQqBIFOroYpRHHIyD4H8,4015
|
175
179
|
unfold/templates/unfold/helpers/attrs.html,sha256=Mwpj72kuwYj8hOT3J2T8qx6f1r_4xwwaS1slHA-82jI,166
|
176
180
|
unfold/templates/unfold/helpers/boolean.html,sha256=kcSZr3siQeBWIy_jsx1tFf4m6IB3ooRnu8UUNQrh6so,569
|
177
181
|
unfold/templates/unfold/helpers/breadcrumb_item.html,sha256=9T6ojN7LOXIlgwSwlIwHgy5U22eQYtarCqcmzsQIoPU,201
|
@@ -189,18 +193,18 @@ unfold/templates/unfold/helpers/edit_inline/tabular_heading.html,sha256=wvnpGFJV
|
|
189
193
|
unfold/templates/unfold/helpers/edit_inline/tabular_row.html,sha256=eCyWEYvvDDCr9SR4_0ua5-GqCLIlFzgQYIZP0ip8cp8,2145
|
190
194
|
unfold/templates/unfold/helpers/edit_inline/tabular_title.html,sha256=2sk1TRzpmwy8PPPMNdf6CJx0zVSk-I2q3yX8uEPjuxE,2710
|
191
195
|
unfold/templates/unfold/helpers/empty_results.html,sha256=zN1XM6_9_Oj-inMZlDxEnicYfBRr4HhwS9ODAnMiRYc,1947
|
192
|
-
unfold/templates/unfold/helpers/field.html,sha256=
|
196
|
+
unfold/templates/unfold/helpers/field.html,sha256=KEs1SQRxzJ0x11zithlxVyv5zfQ9a_XGoJJ9AiWk1Vc,1038
|
193
197
|
unfold/templates/unfold/helpers/field_readonly.html,sha256=4qtXjWE7SA2qZSTYLOv0lT4pQfD0TE34mvWQJY7jhS8,237
|
194
198
|
unfold/templates/unfold/helpers/field_readonly_value.html,sha256=FI_CFEsCN7ELQux9gF-IaZ7nT7jyzidqwR2Med-E52g,504
|
195
199
|
unfold/templates/unfold/helpers/fieldset_row.html,sha256=LriorPLXU4VmqstjX1oBc3T49H8CbhCrRxwQ7YfUSkI,1219
|
196
200
|
unfold/templates/unfold/helpers/fieldset_row_checkbox.html,sha256=z4aRab--zJS2PC0jfKPez85IptKGRrqgkPpwW6_IKoo,1467
|
197
201
|
unfold/templates/unfold/helpers/fieldset_row_field.html,sha256=cqLT1fHsCCszOHxvYlDFDTAd-6RRoOjdqfdBdhFgHOo,647
|
198
|
-
unfold/templates/unfold/helpers/fieldsets_tabs.html,sha256
|
202
|
+
unfold/templates/unfold/helpers/fieldsets_tabs.html,sha256=-xKeJvEma2arbfle1gMMVR3wjaros7EIcbSyAgR0Lh4,1541
|
199
203
|
unfold/templates/unfold/helpers/form_errors.html,sha256=mrv2_J7RPcLfVtoN1UHh3rfUyOSZpHl67wk1UGqtPcY,266
|
200
204
|
unfold/templates/unfold/helpers/form_label.html,sha256=7FfaXfviQmqKpsA1E7NSwM8rJiMNLl9e73XQram0Pfs,249
|
201
205
|
unfold/templates/unfold/helpers/header.html,sha256=cHAPz7niLLQDQbrZpURZS1hiA8OYLzkGaqnYzjgv8aE,1151
|
202
206
|
unfold/templates/unfold/helpers/header_back_button.html,sha256=lNZcYZzQRZdNSI70UrxJ-pq7xnxifziZXtSK1FoPy_U,416
|
203
|
-
unfold/templates/unfold/helpers/help_text.html,sha256=
|
207
|
+
unfold/templates/unfold/helpers/help_text.html,sha256=fDsSptYt6aPO3xPdMgbpwaINaF1FGFmaOb_1FiS_Bsg,118
|
204
208
|
unfold/templates/unfold/helpers/history.html,sha256=qxfCZxFIyl91qDpxfwozhmyVFZwULysA8Y_2H8XJ7bM,1937
|
205
209
|
unfold/templates/unfold/helpers/label.html,sha256=DRs0B08SmIvNY0QcFy78xDiI0hAKyfjExu-cm33PAaQ,911
|
206
210
|
unfold/templates/unfold/helpers/language_form.html,sha256=Ve1qfIcL4DV6cxYfhqGkC_KghDjNyEB8j3hYts1S34M,708
|
@@ -211,31 +215,37 @@ unfold/templates/unfold/helpers/messages/errornote.html,sha256=3RVj4BIdft3yEUOdz
|
|
211
215
|
unfold/templates/unfold/helpers/messages/info.html,sha256=4SCFtg3p6F33ZHJhYoIm2VVO5UPdW0ef04mTTqIdcD0,153
|
212
216
|
unfold/templates/unfold/helpers/messages/success.html,sha256=UWHpRJTvVhXiYC9-AvJ9HeEZJj-poejFgy7EgLvwpf8,157
|
213
217
|
unfold/templates/unfold/helpers/messages/warning.html,sha256=UldycPr8wdyp5vdjlkfs_yHCEvNg9PgspyzTALAjdDY,161
|
214
|
-
unfold/templates/unfold/helpers/messages.html,sha256=
|
218
|
+
unfold/templates/unfold/helpers/messages.html,sha256=SYVGFWdL1ZhFamxnZ6ZJUvs9GKITYpY4fvdebBlSprU,1003
|
215
219
|
unfold/templates/unfold/helpers/navigation.html,sha256=U9cMmw3ETMI88zqHvSf5VQkMehcU6YfLKTcH1CmS4fY,554
|
216
220
|
unfold/templates/unfold/helpers/navigation_header.html,sha256=08_LTuJF6MrG0hK6lUI9daCP5kQr5Q7FwY7Pl4kFxJQ,1474
|
217
|
-
unfold/templates/unfold/helpers/pagination.html,sha256=
|
221
|
+
unfold/templates/unfold/helpers/pagination.html,sha256=cvD4Jtw1YeKcgvWuY10iyM9Qjs52iokskzYG3TLscyY,375
|
218
222
|
unfold/templates/unfold/helpers/pagination_current_item.html,sha256=4cZ2KLVcP0Y7xuGyXgexDQ07r94cgM5Gnmtv11dkRPQ,69
|
219
223
|
unfold/templates/unfold/helpers/pagination_default.html,sha256=pseTrqaG5EOn_IpCy0GXNht3ickSkZYJ4lJaocZeI6A,496
|
220
224
|
unfold/templates/unfold/helpers/pagination_ellipsis.html,sha256=8g0KUUKtqRkXx_EBLGtsJsiYQO4tPS3GazZjxT90e0M,56
|
221
225
|
unfold/templates/unfold/helpers/pagination_infinite.html,sha256=QyHcYb36CeuiwpukC0Y553UC4LU2tPolGos-0mh7WP0,557
|
222
|
-
unfold/templates/unfold/helpers/
|
223
|
-
unfold/templates/unfold/helpers/
|
224
|
-
unfold/templates/unfold/helpers/
|
226
|
+
unfold/templates/unfold/helpers/pagination_inline.html,sha256=wFuXDvW1p-9OF1FSlOERkhP1Jt1WLzNfN7UkqsHtOQ4,1414
|
227
|
+
unfold/templates/unfold/helpers/popup_header.html,sha256=IDR9B0OO6v6TvJggeof-OMGJ4cYK2INStU_2a1AlWfM,1325
|
228
|
+
unfold/templates/unfold/helpers/search.html,sha256=Eo59yc7wRlZ-Ee-AuQCSi-CfBUXUnLBMiSQO8uxaUoo,1772
|
229
|
+
unfold/templates/unfold/helpers/search_results.html,sha256=awd6DWTLILIBnx-QkwN7my8IncTN9BfE8jHm7OibgoM,846
|
230
|
+
unfold/templates/unfold/helpers/shortcut.html,sha256=gVoXCDwEpbjxLilJ3QEoFLWmFlH18-vgoWdHv6aRLfQ,199
|
231
|
+
unfold/templates/unfold/helpers/site_branding.html,sha256=_hhWQZqUrMYGqRJRpeANjbRJPfCROPZkQLZLV7FiRk8,268
|
225
232
|
unfold/templates/unfold/helpers/site_dropdown.html,sha256=UwGFImzujCt20M4_WZt_T9TjeqVSEattYtLXHq57bcY,910
|
226
233
|
unfold/templates/unfold/helpers/site_icon.html,sha256=q9YynbaAZsEXKXT3SDZy54iSdjUwR6i2vo0AFyllGQ0,1490
|
227
234
|
unfold/templates/unfold/helpers/site_logo.html,sha256=S_QJoT2qh0xw0ciaKxoT4GJ6QIH5eqgRSC0abbWWkOI,423
|
228
235
|
unfold/templates/unfold/helpers/submit.html,sha256=LaJdnSDzucH1CpWNCLfqHe_tCcCBMLap8c9ysY2q1HU,211
|
229
|
-
unfold/templates/unfold/helpers/tab_action.html,sha256=
|
236
|
+
unfold/templates/unfold/helpers/tab_action.html,sha256=mJd87_2qkSNQEwDZZCDkvll5ZbizBkPxWFnBR-kH89o,3431
|
230
237
|
unfold/templates/unfold/helpers/tab_actions.html,sha256=Ir0HFxNAdZWdE6GuxaanSScNYONft0lNB1sZZcKMS5Q,685
|
231
238
|
unfold/templates/unfold/helpers/tab_items.html,sha256=5kZcU7R9tZKKxVLahp2siZpZf7FhrluBH1dIAIaWoAg,3377
|
232
239
|
unfold/templates/unfold/helpers/tab_list.html,sha256=mprad7Fu5ms1qGqjDl9HMmtfUodk43smd3IjagYOyr0,452
|
233
240
|
unfold/templates/unfold/helpers/theme_switch.html,sha256=Y46KKpULH_G-fKQuc5LzfSB7Pubcgj_dBJPRMwZoWxE,2408
|
241
|
+
unfold/templates/unfold/helpers/unauthenticated_header.html,sha256=DNfZt_JDnMFwwo_SG0iYEB3I7eQIbwaB4QcpJGs1dtk,535
|
242
|
+
unfold/templates/unfold/helpers/unauthenticated_title.html,sha256=2aGnsdZbDV6yno9pb4sqEi15J7M9iLiMz3FY9F0Sgq4,387
|
234
243
|
unfold/templates/unfold/helpers/userlinks.html,sha256=bJRDQXQ_0XgxLpfmZoNgU9xpn4X6T6LOAgEmzepFXOI,740
|
235
244
|
unfold/templates/unfold/helpers/welcomemsg.html,sha256=Z3dDvozCJ5VhSVA_1go0F4ZD0lQYhCmoWqd_RM00pec,2019
|
236
245
|
unfold/templates/unfold/layouts/base.html,sha256=e9T-vuPvrySHf23LLwRuTQXUg0Q4x-6gmT_yXghqc-I,278
|
237
246
|
unfold/templates/unfold/layouts/base_simple.html,sha256=qUZ9YM24UHgWbmTl61zgN4_ty49P1FZJQ2siNbwnFnQ,1244
|
238
247
|
unfold/templates/unfold/layouts/skeleton.html,sha256=2AWjJx6TxpYbXldwrXRbtyp9XTpAu6O0U_zcJtfYfWs,4684
|
248
|
+
unfold/templates/unfold/layouts/unauthenticated.html,sha256=Rh84psp8Ek-i1hVIiYz-HX7lyiQL7FnqA_uAp-D69DI,1022
|
239
249
|
unfold/templates/unfold/templatetags/preserve_changelist_filters.html,sha256=sx2jUhogNY4emBhY8PqxQ6mXifbXQb_IQI9Hd0boJI0,111
|
240
250
|
unfold/templates/unfold/widgets/clearable_file_input.html,sha256=8dXZnc6z2D2K08hqHsQwR5UJffcIRnmYBT02zmCOr9A,2191
|
241
251
|
unfold/templates/unfold/widgets/clearable_file_input_small.html,sha256=zhnaDz72mJgMrq-nCPCMuR5tEJaFVfJyOJUAzR6tQWc,2624
|
@@ -249,23 +259,24 @@ unfold/templates/unfold/widgets/select.html,sha256=MyhlEO4sf7AUjOgH84rL76rhYM0WE
|
|
249
259
|
unfold/templates/unfold/widgets/split_datetime.html,sha256=Hfv2PoHxPmV_21DmBFmMcR4WVP9vTV9SrfjVdliRci8,1074
|
250
260
|
unfold/templates/unfold/widgets/split_datetime_vertical.html,sha256=39lZsRyRcKr8DIcy9oL39zC8nAHZTHwW6gyTYOKePrQ,806
|
251
261
|
unfold/templates/unfold/widgets/split_money.html,sha256=AFLUBmzGbY-RXgsfz7gaDxVRhplaIPhXjg_hWYo9xcY,352
|
262
|
+
unfold/templates/unfold/widgets/text.html,sha256=jR_nrBN5A-evlX8aHpJplB_CG4aJblaVLMdp8z4-dG8,949
|
252
263
|
unfold/templates/unfold/widgets/textarea.html,sha256=-ZLDGrtASero7L-J3VvTNq_KjPAZh_kLVw0Ow3awqXM,144
|
253
264
|
unfold/templates/unfold/widgets/time.html,sha256=ih9wj8koTaHb9s1NGUmyN9rHvSAmqCMbti9ONDOIujg,122
|
254
265
|
unfold/templates/unfold/widgets/url.html,sha256=IRLgW44VTKN7UrSWeywJwaxQhfG5jhhXuT-KTadKX58,304
|
255
266
|
unfold/templates/unfold_crispy/display_form.html,sha256=tGyr8hvMlnKkm2ILbVj0enj6IrjtqiKo6nO9Z-zHE2Q,270
|
256
267
|
unfold/templates/unfold_crispy/errors.html,sha256=bzTXuZh_UkQLb4sPaa0En5Uopveoe573TaEOM9OQVcw,132
|
257
268
|
unfold/templates/unfold_crispy/errors_formset.html,sha256=D52cx_PmIF9KSTO8WmQu0m2atpDfLIt79SPKz9LmjSE,136
|
258
|
-
unfold/templates/unfold_crispy/field.html,sha256=
|
269
|
+
unfold/templates/unfold_crispy/field.html,sha256=yOxniE7kAzzPRl8sHH5hHKzSoCYKfJTNeEngoTBHW3U,2079
|
259
270
|
unfold/templates/unfold_crispy/inputs.html,sha256=6aMXsUY26q_JcIVYgd6X4lwbwbagWj68KHyAYk_fCN4,238
|
260
271
|
unfold/templates/unfold_crispy/layout/attrs.html,sha256=LsLlfKenzHKl6n25m4Ers2NepLSA_RBy9AqezKZ7rH8,173
|
261
272
|
unfold/templates/unfold_crispy/layout/baseinput.html,sha256=GjMxXoqpnxCPkPC1E3v_crzlxDb_hHMf_UgJYfqSsYE,440
|
262
273
|
unfold/templates/unfold_crispy/layout/button.html,sha256=evlO80en9FkbW3UayLPTNUZXAYvgr3slSAsGPKXs96M,67
|
263
274
|
unfold/templates/unfold_crispy/layout/buttonholder.html,sha256=ruHqViROk7nh4luckA8-mcfmnYBqsVM85e8j0rOi3cU,415
|
264
|
-
unfold/templates/unfold_crispy/layout/checkbox.html,sha256=
|
275
|
+
unfold/templates/unfold_crispy/layout/checkbox.html,sha256=wyx8RdcRI6YSCxAOl2kKd82rCuKnGwDaVt2qA751FR0,1707
|
265
276
|
unfold/templates/unfold_crispy/layout/column.html,sha256=Bob4xRcbJOHScDjSjLMRIMNf4lonNmm8F_JOm2azTik,172
|
266
277
|
unfold/templates/unfold_crispy/layout/div.html,sha256=RE9qQ2w2I2zpi7Z7xzVmVO03UXq0yZvMw-W7rVJkEdw,174
|
267
278
|
unfold/templates/unfold_crispy/layout/field_errors.html,sha256=N0eNJo4OvYzFHPD6vX2gSZWabm46W1GP011sd_dua1I,291
|
268
|
-
unfold/templates/unfold_crispy/layout/fieldset.html,sha256=
|
279
|
+
unfold/templates/unfold_crispy/layout/fieldset.html,sha256=g1ZIjrdkO3vdoaAj0KO43kss3VJvueh2f7HuP2Z5yLE,764
|
269
280
|
unfold/templates/unfold_crispy/layout/fieldset_subheader.html,sha256=fAD3wa9JiuYJwbo8bsmW-LhMw72V2j27EkRgy0G6Kc8,209
|
270
281
|
unfold/templates/unfold_crispy/layout/help_text.html,sha256=FY0UQv5FsoOFhrqvbILEfZE78Hj30r73YHCtg_MWNeY,207
|
271
282
|
unfold/templates/unfold_crispy/layout/help_text_and_errors.html,sha256=Um14wIg0FHthNM0mKE9VdptTrC-lTTcrDUO-UbbXxhY,108
|
@@ -277,13 +288,13 @@ unfold/templates/unfold_crispy/uni_form.html,sha256=l9UNCUrIycgJ0p_B6qhtO_YxdARy
|
|
277
288
|
unfold/templates/unfold_crispy/whole_uni_form.html,sha256=ufXRKCIGqkqKFOsh166rpKUnHpFMyBV4eYUCRhs3iws,475
|
278
289
|
unfold/templates/unfold_crispy/whole_uni_formset.html,sha256=CYksfG2hRUdi5n691KW2ih-FfBxpOU4qVBfbOvcu1zs,873
|
279
290
|
unfold/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
280
|
-
unfold/templatetags/unfold.py,sha256=
|
281
|
-
unfold/templatetags/unfold_list.py,sha256=
|
291
|
+
unfold/templatetags/unfold.py,sha256=rk4f43w954HawFjhfwqY3zSwNRUGcSfR7FSYCko8_aE,18179
|
292
|
+
unfold/templatetags/unfold_list.py,sha256=WWQSCM4QmQMr8YddA4krFztuuUXo2y28RA7jZfOiewE,14415
|
282
293
|
unfold/typing.py,sha256=i7LM2LiwYTAjT5-OLDUPVn5b9X-DMmHnjlZG2toWwSE,692
|
283
294
|
unfold/utils.py,sha256=lXKkvhaTxoTtd4p3bB0wHIZD26md6XzBcDkPL5bJGH8,6191
|
284
295
|
unfold/views.py,sha256=FuYnMrlg6SegLUDDN6An__yZj8rchD_iBK8myieYhkA,1492
|
285
|
-
unfold/widgets.py,sha256=
|
286
|
-
django_unfold-0.
|
287
|
-
django_unfold-0.
|
288
|
-
django_unfold-0.
|
289
|
-
django_unfold-0.
|
296
|
+
unfold/widgets.py,sha256=S_HEcRNml7E4PqwYUpY58QIP7X6KH-5EHRHwEploCrU,24557
|
297
|
+
django_unfold-0.61.0.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
|
298
|
+
django_unfold-0.61.0.dist-info/METADATA,sha256=4YnEukbJQi-U2XT4-O4yzA5RlXDP-5YoO5Du-uSqwFA,8445
|
299
|
+
django_unfold-0.61.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
300
|
+
django_unfold-0.61.0.dist-info/RECORD,,
|
unfold/admin.py
CHANGED
@@ -1,11 +1,18 @@
|
|
1
1
|
from functools import update_wrapper
|
2
|
-
from typing import Optional
|
2
|
+
from typing import Any, Optional
|
3
3
|
|
4
4
|
from django import forms
|
5
5
|
from django.contrib.admin import ModelAdmin as BaseModelAdmin
|
6
6
|
from django.contrib.admin import StackedInline as BaseStackedInline
|
7
7
|
from django.contrib.admin import TabularInline as BaseTabularInline
|
8
8
|
from django.contrib.admin import display, helpers
|
9
|
+
from django.contrib.admin.options import InlineModelAdmin
|
10
|
+
from django.contrib.contenttypes.admin import (
|
11
|
+
GenericStackedInline as BaseGenericStackedInline,
|
12
|
+
)
|
13
|
+
from django.contrib.contenttypes.admin import (
|
14
|
+
GenericTabularInline as BaseGenericTabularInline,
|
15
|
+
)
|
9
16
|
from django.db.models import BLANK_CHOICE_DASH, Model
|
10
17
|
from django.http import HttpRequest, HttpResponse
|
11
18
|
from django.shortcuts import redirect
|
@@ -16,8 +23,11 @@ from django.utils.translation import gettext_lazy as _
|
|
16
23
|
from django.views import View
|
17
24
|
|
18
25
|
from unfold.checks import UnfoldModelAdminChecks
|
19
|
-
from unfold.
|
20
|
-
|
26
|
+
from unfold.forms import (
|
27
|
+
ActionForm,
|
28
|
+
PaginationGenericInlineFormSet,
|
29
|
+
PaginationInlineFormSet,
|
30
|
+
)
|
21
31
|
from unfold.mixins import ActionModelAdminMixin, BaseModelAdminMixin
|
22
32
|
from unfold.overrides import FORMFIELD_OVERRIDES_INLINE
|
23
33
|
from unfold.typing import FieldsetsType
|
@@ -32,10 +42,6 @@ checkbox = UnfoldBooleanWidget(
|
|
32
42
|
lambda value: False,
|
33
43
|
)
|
34
44
|
|
35
|
-
helpers.AdminField = UnfoldAdminField
|
36
|
-
|
37
|
-
helpers.AdminReadonlyField = UnfoldAdminReadonlyField
|
38
|
-
|
39
45
|
|
40
46
|
class ModelAdmin(BaseModelAdminMixin, ActionModelAdminMixin, BaseModelAdmin):
|
41
47
|
action_form = ActionForm
|
@@ -182,16 +188,42 @@ class ModelAdmin(BaseModelAdminMixin, ActionModelAdminMixin, BaseModelAdmin):
|
|
182
188
|
def get_changelist(self, request, **kwargs):
|
183
189
|
return ChangeList
|
184
190
|
|
191
|
+
def get_formset_kwargs(
|
192
|
+
self, request: HttpRequest, obj: Model, inline: InlineModelAdmin, prefix: str
|
193
|
+
) -> dict[str, Any]:
|
194
|
+
formset_kwargs = super().get_formset_kwargs(request, obj, inline, prefix)
|
185
195
|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
ordering_field = None
|
190
|
-
hide_ordering_field = False
|
196
|
+
if hasattr(inline, "per_page"):
|
197
|
+
formset_kwargs["request"] = request
|
198
|
+
formset_kwargs["per_page"] = inline.per_page
|
191
199
|
|
200
|
+
return formset_kwargs
|
192
201
|
|
193
|
-
|
202
|
+
|
203
|
+
class BaseInlineMixin:
|
194
204
|
formfield_overrides = FORMFIELD_OVERRIDES_INLINE
|
195
205
|
readonly_preprocess_fields = {}
|
196
206
|
ordering_field = None
|
207
|
+
per_page = None
|
197
208
|
hide_ordering_field = False
|
209
|
+
collapsible = False
|
210
|
+
|
211
|
+
|
212
|
+
class TabularInline(BaseInlineMixin, BaseModelAdminMixin, BaseTabularInline):
|
213
|
+
formset = PaginationInlineFormSet
|
214
|
+
|
215
|
+
|
216
|
+
class StackedInline(BaseInlineMixin, BaseModelAdminMixin, BaseStackedInline):
|
217
|
+
formset = PaginationInlineFormSet
|
218
|
+
|
219
|
+
|
220
|
+
class GenericStackedInline(
|
221
|
+
BaseInlineMixin, BaseModelAdminMixin, BaseGenericStackedInline
|
222
|
+
):
|
223
|
+
formset = PaginationGenericInlineFormSet
|
224
|
+
|
225
|
+
|
226
|
+
class GenericTabularInline(
|
227
|
+
BaseInlineMixin, BaseModelAdminMixin, BaseGenericTabularInline
|
228
|
+
):
|
229
|
+
formset = PaginationGenericInlineFormSet
|
unfold/contrib/inlines/admin.py
CHANGED
@@ -12,10 +12,15 @@ from django.http import HttpRequest
|
|
12
12
|
from django.utils.text import get_text_list
|
13
13
|
from django.utils.translation import gettext_lazy as _
|
14
14
|
|
15
|
-
from unfold.admin import
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
from unfold.admin import (
|
16
|
+
StackedInline,
|
17
|
+
TabularInline,
|
18
|
+
)
|
19
|
+
from unfold.contrib.inlines.checks import NonrelatedModelAdminChecks
|
20
|
+
from unfold.contrib.inlines.forms import (
|
21
|
+
NonrelatedInlineModelFormSet,
|
22
|
+
nonrelated_inline_formset_factory,
|
23
|
+
)
|
19
24
|
|
20
25
|
|
21
26
|
class NonrelatedInlineMixin:
|
@@ -135,8 +140,8 @@ class NonrelatedInlineMixin:
|
|
135
140
|
|
136
141
|
|
137
142
|
class NonrelatedStackedInline(NonrelatedInlineMixin, StackedInline):
|
138
|
-
|
143
|
+
formset = NonrelatedInlineModelFormSet
|
139
144
|
|
140
145
|
|
141
146
|
class NonrelatedTabularInline(NonrelatedInlineMixin, TabularInline):
|
142
|
-
|
147
|
+
formset = NonrelatedInlineModelFormSet
|
unfold/contrib/inlines/forms.py
CHANGED
@@ -3,8 +3,10 @@ from typing import Any, Callable, Optional
|
|
3
3
|
from django.db.models import Model, QuerySet
|
4
4
|
from django.forms import BaseModelFormSet, ModelForm, modelformset_factory
|
5
5
|
|
6
|
+
from unfold.forms import PaginationFormSetMixin
|
6
7
|
|
7
|
-
|
8
|
+
|
9
|
+
class NonrelatedInlineModelFormSet(PaginationFormSetMixin, BaseModelFormSet):
|
8
10
|
def __init__(
|
9
11
|
self,
|
10
12
|
instance: Optional[Model] = None,
|
File without changes
|
@@ -1,25 +1,23 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
|
-
<div {% if not is_popup %}id="submit-row"{% endif %} class="relative
|
4
|
-
<div class="
|
5
|
-
<div class="
|
6
|
-
|
7
|
-
{
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
{% endif %}
|
3
|
+
<div {% if not is_popup %}id="submit-row"{% endif %} class="relative lg:sticky lg:bottom-0 z-40">
|
4
|
+
<div class="backdrop-blur-xs bg-white/80 rounded-b-default pb-4 px-4 dark:bg-base-900/80 {% if not is_popup %}lg:border-t lg:border-base-200 relative lg:scrollable-top lg:py-0 dark:border-base-800{% endif %}">
|
5
|
+
<div class="flex flex-col-reverse gap-3 items-center mx-auto lg:flex-row-reverse container lg:h-[64px]">
|
6
|
+
{% if not revert_disabled %}
|
7
|
+
<button type="submit" form="{{ opts.model_name }}_form" class="bg-primary-600 block border border-transparent cursor-pointer font-medium px-3 py-2 rounded-default text-sm text-white w-full lg:w-auto" name="_save" {{ onclick_attrib }}>
|
8
|
+
{% trans 'Revert' %}
|
9
|
+
</button>
|
10
|
+
{% endif %}
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
{% if change_history %}
|
13
|
+
<button type="submit" form="{{ opts.model_name }}_form" class="bg-primary-600 block border border-transparent cursor-pointer font-medium px-3 py-2 rounded-default text-sm text-white w-full lg:w-auto" name="_change_history" {{ onclick_attrib }}>
|
14
|
+
{% trans 'Change History' %}
|
15
|
+
</button>
|
16
|
+
{% endif %}
|
18
17
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
</div>
|
18
|
+
<a href="{{ history_url }}" class="border border-base-200 font-medium mr-auto px-3 py-2 rounded-default text-sm text-base-500 text-center transition-all w-full hover:bg-base-50 lg:block lg:w-auto dark:border-base-700 dark:text-font-default-dark dark:hover:text-base-200 dark:hover:bg-base-900">
|
19
|
+
{% trans 'Close' %}
|
20
|
+
</a>
|
23
21
|
</div>
|
24
22
|
</div>
|
25
23
|
</div>
|
unfold/fields.py
CHANGED
@@ -17,33 +17,24 @@ from django.utils.module_loading import import_string
|
|
17
17
|
from django.utils.safestring import SafeText, mark_safe
|
18
18
|
from django.utils.text import capfirst
|
19
19
|
|
20
|
-
from unfold.mixins import BaseModelAdminMixin
|
21
20
|
from unfold.settings import get_config
|
22
21
|
from unfold.utils import display_for_field, prettify_json
|
23
|
-
from unfold.widgets import
|
22
|
+
from unfold.widgets import (
|
23
|
+
CHECKBOX_LABEL_CLASSES,
|
24
|
+
INPUT_CLASSES,
|
25
|
+
LABEL_CLASSES,
|
26
|
+
)
|
24
27
|
|
25
28
|
|
26
29
|
class UnfoldAdminReadonlyField(helpers.AdminReadonlyField):
|
27
30
|
def label_tag(self) -> SafeText:
|
28
|
-
from .admin import ModelAdmin
|
29
|
-
|
30
|
-
if not isinstance(self.model_admin, ModelAdmin) and not isinstance(
|
31
|
-
self.model_admin, BaseModelAdminMixin
|
32
|
-
):
|
33
|
-
return super().label_tag()
|
34
|
-
|
35
31
|
attrs = {
|
36
32
|
"class": " ".join(LABEL_CLASSES + ["mb-2"]),
|
37
33
|
}
|
38
34
|
|
39
35
|
label = self.field["label"]
|
40
36
|
|
41
|
-
return format_html(
|
42
|
-
"<label{}>{}{}</label>",
|
43
|
-
flatatt(attrs),
|
44
|
-
capfirst(label),
|
45
|
-
self.form.label_suffix,
|
46
|
-
)
|
37
|
+
return format_html("<label{}>{}</label>", flatatt(attrs), capfirst(label))
|
47
38
|
|
48
39
|
def is_json(self) -> bool:
|
49
40
|
field, obj, model_admin = (
|
@@ -174,12 +165,19 @@ class UnfoldAdminReadonlyField(helpers.AdminReadonlyField):
|
|
174
165
|
|
175
166
|
|
176
167
|
class UnfoldAdminField(helpers.AdminField):
|
168
|
+
def __init__(self, *args, **kwargs):
|
169
|
+
super().__init__(*args, **kwargs)
|
170
|
+
|
171
|
+
try:
|
172
|
+
from location_field.widgets import LocationWidget
|
173
|
+
|
174
|
+
if isinstance(self.field.field.widget, LocationWidget):
|
175
|
+
self.field.field.widget.attrs["class"] = " ".join(INPUT_CLASSES)
|
176
|
+
except ImportError:
|
177
|
+
pass
|
178
|
+
|
177
179
|
def label_tag(self) -> SafeText:
|
178
180
|
classes = []
|
179
|
-
if not self.field.field.widget.__class__.__name__.startswith(
|
180
|
-
"Unfold"
|
181
|
-
) and not self.field.field.widget.template_name.startswith("unfold"):
|
182
|
-
return super().label_tag()
|
183
181
|
|
184
182
|
# TODO load config from current AdminSite (override Fieldline.__iter__ method)
|
185
183
|
for lang, flag in get_config()["EXTENSIONS"]["modeltranslation"][
|