django-unfold 0.62.0__py3-none-any.whl → 0.64.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.
Files changed (71) hide show
  1. {django_unfold-0.62.0.dist-info → django_unfold-0.64.0.dist-info}/METADATA +15 -2
  2. {django_unfold-0.62.0.dist-info → django_unfold-0.64.0.dist-info}/RECORD +71 -62
  3. unfold/admin.py +1 -1
  4. unfold/contrib/constance/__init__.py +0 -0
  5. unfold/contrib/constance/apps.py +6 -0
  6. unfold/contrib/constance/settings.py +32 -0
  7. unfold/contrib/constance/templates/admin/constance/change_list.html +52 -0
  8. unfold/contrib/constance/templates/admin/constance/includes/results_list.html +71 -0
  9. unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +1 -1
  10. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +0 -24
  11. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +0 -26
  12. unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +0 -26
  13. unfold/contrib/import_export/templates/admin/import_export/export.html +0 -23
  14. unfold/contrib/import_export/templates/admin/import_export/import.html +0 -23
  15. unfold/contrib/simple_history/templates/simple_history/object_history_form.html +1 -33
  16. unfold/contrib/simple_history/templates/simple_history/object_history_list.html +0 -1
  17. unfold/dataclasses.py +8 -0
  18. unfold/fields.py +1 -1
  19. unfold/settings.py +28 -22
  20. unfold/sites.py +120 -43
  21. unfold/static/admin/js/inlines.js +42 -17
  22. unfold/static/unfold/css/styles.css +2 -2
  23. unfold/static/unfold/js/app.js +147 -9
  24. unfold/static/unfold/js/select2.init.js +4 -0
  25. unfold/styles.css +33 -33
  26. unfold/templates/admin/app_index.html +0 -18
  27. unfold/templates/admin/auth/user/change_password.html +1 -26
  28. unfold/templates/admin/base.html +0 -16
  29. unfold/templates/admin/change_form.html +7 -34
  30. unfold/templates/admin/change_list.html +0 -19
  31. unfold/templates/admin/change_list_results.html +2 -2
  32. unfold/templates/admin/delete_confirmation.html +0 -21
  33. unfold/templates/admin/delete_selected_confirmation.html +0 -22
  34. unfold/templates/admin/includes/fieldset.html +1 -1
  35. unfold/templates/admin/index.html +0 -2
  36. unfold/templates/admin/login.html +1 -1
  37. unfold/templates/admin/object_history.html +0 -24
  38. unfold/templates/registration/logged_out.html +12 -7
  39. unfold/templates/registration/password_change_done.html +0 -17
  40. unfold/templates/registration/password_change_form.html +0 -17
  41. unfold/templates/unfold/components/navigation.html +2 -2
  42. unfold/templates/unfold/components/table.html +55 -9
  43. unfold/templates/unfold/helpers/boolean.html +6 -6
  44. unfold/templates/unfold/helpers/command.html +53 -0
  45. unfold/templates/unfold/helpers/command_history.html +54 -0
  46. unfold/templates/unfold/helpers/command_results.html +50 -0
  47. unfold/templates/unfold/helpers/header_back_button.html +10 -2
  48. unfold/templates/unfold/helpers/header_title.html +11 -0
  49. unfold/templates/unfold/helpers/label.html +1 -1
  50. unfold/templates/unfold/helpers/navigation_header.html +2 -2
  51. unfold/templates/unfold/helpers/pagination_inline.html +28 -20
  52. unfold/templates/unfold/helpers/search.html +40 -22
  53. unfold/templates/unfold/helpers/search_results.html +2 -2
  54. unfold/templates/unfold/helpers/shortcut.html +1 -1
  55. unfold/templates/unfold/helpers/site_dropdown.html +1 -1
  56. unfold/templates/unfold/helpers/submit.html +1 -1
  57. unfold/templates/unfold/helpers/tab_items.html +15 -33
  58. unfold/templates/unfold/helpers/tab_list.html +1 -1
  59. unfold/templates/unfold/helpers/unauthenticated_header.html +2 -2
  60. unfold/templates/unfold/helpers/unauthenticated_title.html +1 -1
  61. unfold/templates/unfold/helpers/welcomemsg.html +6 -18
  62. unfold/templates/unfold/layouts/base_simple.html +0 -6
  63. unfold/templates/unfold/layouts/skeleton.html +4 -1
  64. unfold/templates/unfold/layouts/unauthenticated.html +0 -2
  65. unfold/templates/unfold/widgets/related_widget_wrapper.html +4 -4
  66. unfold/templatetags/unfold.py +141 -0
  67. unfold/utils.py +25 -10
  68. unfold/views.py +4 -1
  69. unfold/widgets.py +6 -1
  70. {django_unfold-0.62.0.dist-info → django_unfold-0.64.0.dist-info}/LICENSE.md +0 -0
  71. {django_unfold-0.62.0.dist-info → django_unfold-0.64.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: django-unfold
3
- Version: 0.62.0
3
+ Version: 0.64.0
4
4
  Summary: Modern Django admin theme for seamless interface development
5
5
  License: MIT
6
6
  Keywords: django,admin,tailwind,theme
@@ -59,11 +59,11 @@ Unfold Studio lets you visually customize your Django admin without writing code
59
59
 
60
60
  ## Fresh Features & Enhancements
61
61
 
62
+ - **django-constance**: Official support with a completely new design and UX improvements
62
63
  - **Paginated inlines:** Break down large record sets into pages within inlines for better admin performance
63
64
  - **Conditional fields:** Show or hide fields dynamically based on the values of other fields in the form
64
65
  - **Infinite paginator:** Efficiently handle large datasets with seamless pagination that reduces server load
65
66
  - **Checkbox & radio filters:** Enhanced filter options with checkbox and radio interfaces for intuitive filtering
66
- - **Site dropdown:** Configurable dropdown menu in the header area for managing custom navigation links
67
67
 
68
68
  ## Core Features & Capabilities
69
69
 
@@ -74,6 +74,7 @@ Unfold Studio lets you visually customize your Django admin without writing code
74
74
  - **Advanced filters**: Features custom dropdowns, autocomplete, numeric, datetime, and text field filters.
75
75
  - **Dashboard tools**: Includes helpers for building custom dashboard pages.
76
76
  - **UI components**: Offers reusable interface components such as cards, buttons, and charts.
77
+ - **Crispy forms**: Custom template pack for django-crispy-forms to style forms with Unfold's design system
77
78
  - **WYSIWYG editor**: Built-in support for WYSIWYG editing through Trix.
78
79
  - **Array widget:** Built-in widget for `django.contrib.postgres.fields.ArrayField`
79
80
  - **Inline tabs:** Group inlines into tab navigation in the change form
@@ -96,8 +97,20 @@ Unfold Studio lets you visually customize your Django admin without writing code
96
97
  - **Dependencies:** Built entirely on `django.contrib.admin`.
97
98
  - **VS Code:** Project configuration and development container included.
98
99
 
100
+ ## Third-party package support
101
+
102
+ - [django-guardian](https://github.com/django-guardian/django-guardian) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-guardian/)
103
+ - [django-import-export](https://github.com/django-import-export/django-import-export) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-import-export/)
104
+ - [django-simple-history](https://github.com/jazzband/django-simple-history) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-simple-history/)
105
+ - [django-constance](https://github.com/jazzband/django-constance) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-constance/)
106
+ - [django-celery-beat](https://github.com/celery/django-celery-beat) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-celery-beat/)
107
+ - [django-modeltranslation](https://github.com/deschler/django-modeltranslation) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-modeltranslation/)
108
+ - [django-money](https://github.com/django-money/django-money) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-money/)
109
+ - [django-location-field](https://github.com/caioariede/django-location-field) - [Integration guide](https://unfoldadmin.com/docs/integrations/django-location-field/)
110
+
99
111
  ## Credits
100
112
 
113
+ - **Tailwind**: [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss) - Licensed under the [MIT License](https://opensource.org/licenses/MIT).
101
114
  - **Icons**: [Material Symbols](https://github.com/google/material-design-icons) - Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
102
115
  - **Font**: [Inter](https://github.com/rsms/inter) - Licensed under the [SIL Open Font License 1.1](https://scripts.sil.org/OFL).
103
116
  - **Charts**: [Chart.js](https://github.com/chartjs/Chart.js) - Licensed under the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,9 +1,14 @@
1
1
  unfold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- unfold/admin.py,sha256=B-MAEjAJuDSzGse2POA6fiLklwcDb9oVEsWR7Zn4z5Q,7455
2
+ unfold/admin.py,sha256=KJdeGky2GPW-haq9B81c_UdbZt05Ievky9tt2z6apsA,7454
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
6
6
  unfold/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ unfold/contrib/constance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ unfold/contrib/constance/apps.py,sha256=636jGQ_C15fp5WRccmuSeZCZ4GOQ2PhXSEe4769uqrQ,139
9
+ unfold/contrib/constance/settings.py,sha256=SuEMNoEHjCiC3TrdQirKP6Uw17nuTaReKOTGiFjgAR4,785
10
+ unfold/contrib/constance/templates/admin/constance/change_list.html,sha256=F1vjLZ4WBnpJY_teCioCbr9EuBmXEuYZsGxsARqFT0U,2366
11
+ unfold/contrib/constance/templates/admin/constance/includes/results_list.html,sha256=icFkvds6H96GeeJZFTmWw74Ze4TwBX9GGUPltkg16qA,3663
7
12
  unfold/contrib/filters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
13
  unfold/contrib/filters/admin/__init__.py,sha256=7pooAoA2Y9MbBL_RTJBZeIAwV5ECrOvMbe0_egoHfew,1663
9
14
  unfold/contrib/filters/admin/autocomplete_filters.py,sha256=Jh3m3iQ8YubZRQDVzHPGfpk9RulOhHkZc0N7L6KV9wc,514
@@ -28,7 +33,7 @@ unfold/contrib/filters/templates/unfold/filters/filters_datetime_range.html,sha2
28
33
  unfold/contrib/filters/templates/unfold/filters/filters_field.html,sha256=UTlSZlpg-gAc_a-EJLLF0NI_ofuSHQ2kMMoAs99nL2E,164
29
34
  unfold/contrib/filters/templates/unfold/filters/filters_numeric_range.html,sha256=TnklQxXhe17UaImoiHahhtN6d1xVdXt2dhIMQESJY68,661
30
35
  unfold/contrib/filters/templates/unfold/filters/filters_numeric_single.html,sha256=uELVrDzFgmzGwkm37SpZeXXbfpijDnSBIJVtf6evWjM,598
31
- unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html,sha256=_yOzo0T0OcHFKAZFj6L3-4_Y9MlKg53yKMq7LizWFS0,1762
36
+ unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html,sha256=ihRdegeKkP2R3XQ_Z3_wujkjnc7ZByGqhfuDw4zjtNU,1880
32
37
  unfold/contrib/forms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
38
  unfold/contrib/forms/apps.py,sha256=Di0TMzVuRpVxLG-8Bjdq5ALCSf5r7u2xVhD0jU6H5Sc,132
34
39
  unfold/contrib/forms/static/unfold/forms/css/trix/LICENSE,sha256=-g0UVDdcvHcBvBPZFsOuceYTuK5xgyFkHmeOCUCTk8Q,1053
@@ -44,9 +49,9 @@ unfold/contrib/guardian/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
44
49
  unfold/contrib/guardian/apps.py,sha256=ObJqwh4vHxkD4XfduP5IQAiYiWZxsXUOUqF1_R1GsRI,136
45
50
  unfold/contrib/guardian/templates/admin/guardian/model/change_form.html,sha256=FSJc4MYYWyzZAy8Ay0b7Ov-cUo-oELHOM5fQehM54Lg,403
46
51
  unfold/contrib/guardian/templates/admin/guardian/model/field.html,sha256=V9ZgmYiIQAFy3GC464y0iBOHm3SDvEEymbuhT3S0qKU,296
47
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html,sha256=L5_DXmkGA-_6zfInia9bTz-5SDE116qeMAeA2NE_7cc,1476
48
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html,sha256=qJ5UATMF2oDC3gYj1_rlpyOafeU_73FJKPc1tad1ePw,2377
49
- unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html,sha256=YEPb1WAc4-0fqgtibBqkNFtmo4WRxkx-YODw1UkNGwg,2375
52
+ unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html,sha256=aF697XjelSYYhXOq8Z9ks2HUDVIONoMaI5kAhKokLZI,317
53
+ unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html,sha256=SdMQodNHtWxosbzt_lDGfQ1n3Ub3FxQsKS8qSsak05I,1096
54
+ unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html,sha256=pS9muGOUhCV0UYvZSIeTEfbNcWbxjQSGDDkPXbMyifo,1095
50
55
  unfold/contrib/guardian/templates/unfold/guardian/group_form.html,sha256=2wDcr-6dBGdEhfo18Yrcht1Oo872DnQCvOKFRkiFc2M,3956
51
56
  unfold/contrib/guardian/templates/unfold/guardian/user_form.html,sha256=JqYF7HiIqEK_-t_rBQgin8ZPrihL1FxkPDOnG0tuf_o,3945
52
57
  unfold/contrib/import_export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -59,8 +64,8 @@ unfold/contrib/import_export/templates/admin/import_export/change_list_export_it
59
64
  unfold/contrib/import_export/templates/admin/import_export/change_list_import.html,sha256=QTbp4m-XKKWFbnBotslw1Dw7O1fUWnFTDtAIymzOMDw,164
60
65
  unfold/contrib/import_export/templates/admin/import_export/change_list_import_export.html,sha256=JdKd6P2Ot9Ou4yg4CywTauuE1UiTz_mRvDwlx3vj3LI,229
61
66
  unfold/contrib/import_export/templates/admin/import_export/change_list_import_item.html,sha256=XUuRxnsx9YQbKvW-E_JGl_ha7kpTSGSoRefOTTizuX0,233
62
- unfold/contrib/import_export/templates/admin/import_export/export.html,sha256=uzv2LuTIV7MZKcg7L_I8EmI0weEpJBL_omXmGSHtyH0,3463
63
- unfold/contrib/import_export/templates/admin/import_export/import.html,sha256=uI9me41UQ_iMf1PCPlyGm7MjSqI2lKPhGhUD5IPrDRs,2126
67
+ unfold/contrib/import_export/templates/admin/import_export/export.html,sha256=fZs4nAhTod50azFKr1C5SffA_j9aU1M8C5kgQpuADSo,2428
68
+ unfold/contrib/import_export/templates/admin/import_export/import.html,sha256=ze7b9i20nHJksccf14i0sv8By_D8oOvTExAyTX3Z9-s,1091
64
69
  unfold/contrib/import_export/templates/admin/import_export/import_confirm.html,sha256=VeGgT1hDunN5c9ijeOvkIezdAmkrsABt5bAnyg5Mu8c,879
65
70
  unfold/contrib/import_export/templates/admin/import_export/import_errors.html,sha256=tgGPoNea7JtuqwVuh-a2TSip7lM8inJvgcVfrsYB_FA,1805
66
71
  unfold/contrib/import_export/templates/admin/import_export/import_form.html,sha256=GkivtNDO5IKuVxwPK1pD0czUsuuXWHGjk2dETO-1pZg,1002
@@ -78,14 +83,14 @@ unfold/contrib/location_field/templates/location_field/map_widget.html,sha256=HX
78
83
  unfold/contrib/simple_history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
84
  unfold/contrib/simple_history/apps.py,sha256=eF_KVYb60CAnGgWk2Z1YKYGfgA3TJBMr229qI7e2pgU,153
80
85
  unfold/contrib/simple_history/templates/simple_history/object_history.html,sha256=unZQE70be7cK6v0YPlITFeaosmiLt3kiei-pmmCjBg0,1711
81
- unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=1wsz8KTmjsgAthFS2myfcS3QvyeL0-qT8s2w7JINVhQ,2256
82
- unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=PWtjuAcxciAI001qIrXLvbUxzCFl_SDAaHA5FhR16Z8,6858
86
+ unfold/contrib/simple_history/templates/simple_history/object_history_form.html,sha256=TuQ_Fwrefjo3p9A-2asBxVq9bRJ9j5r11Jy-uS7K0TU,751
87
+ unfold/contrib/simple_history/templates/simple_history/object_history_list.html,sha256=kMtxD5II32etsk05IArxe_wGvVjrizMVVH8uRl5RjR0,6816
83
88
  unfold/contrib/simple_history/templates/simple_history/submit_line.html,sha256=PEoPmWcWiiBIMs6XtXcoXswDtxp3FgntR3maieLDt4Y,1618
84
- unfold/dataclasses.py,sha256=a-9INnkCAIcnMgoffTcB1rxWCJH33AjhMCWIGWnjWbI,719
89
+ unfold/dataclasses.py,sha256=pvzhMrJIC80zbTnH075PmFeJEEnSjzgvaxQGTfCEpYg,826
85
90
  unfold/decorators.py,sha256=jPiYFy1p0WGFn68VZhAZkYCPDF7argb9SDFaH6aemHk,4922
86
91
  unfold/enums.py,sha256=9sTfyEycMWeoGPBa-ft6ZhQGnW1vkFg108RMBVf9nko,187
87
92
  unfold/exceptions.py,sha256=gcCj1ox61E137bk_0Cqy4YC3SttdPgB-fiJUqpmyHSE,43
88
- unfold/fields.py,sha256=h7mpRlsoFu6xQrCbehrjsBpyxFsXc-lMDzEI1JREoJk,7304
93
+ unfold/fields.py,sha256=wvkdeMCIYs3vNB_QDtRo191tXoYVrP-uRFfzFCTYY3c,7314
89
94
  unfold/forms.py,sha256=0u4TFw7oQ96S7njzJ2G79Qzt1X-4P4px-kfMgjVt49o,7762
90
95
  unfold/layout.py,sha256=Q-dFTA6UlvvPCA4PsGyTkHQmBLO7PL56xBfZi-bdt0c,1459
91
96
  unfold/mixins/__init__.py,sha256=YlhoDs9Y_DXQ8Ejr3enxuHMS1-Ij9fwukxNwpeOS4Co,190
@@ -94,13 +99,13 @@ unfold/mixins/base_model_admin.py,sha256=PyTZSxF6tIcs20VlMCX08tFnB0ORU0VXvgcPArk
94
99
  unfold/overrides.py,sha256=ERVY9boZiXgjDYcTEZcIp7KWoeBZ45VM_zN31yAOjyQ,2922
95
100
  unfold/paginator.py,sha256=bZiEY-1kqZy_6CYGs9fHo6WntMgpnFCH-LJPoXkEESk,533
96
101
  unfold/sections.py,sha256=Lcg3xCZ76fqjm4vD4x7YdE5VsbTKluL-sX5QTEBlHxA,2379
97
- unfold/settings.py,sha256=DE3hComMaWtty8o-LqdgGGcoku3mevRWJah4NH1k5B4,2879
98
- unfold/sites.py,sha256=GPeMbBA4ckhacUOPW9PXrzQrOttU7_91zwReaKJdZgc,17616
102
+ unfold/settings.py,sha256=o_yjhM1OgW2KSrae4oeUqjLw3lI9HZ1lkKGUW4nuC4Q,3432
103
+ unfold/sites.py,sha256=CgHmH9ozko-_WSW54gmZ3HBDbmekKVyVOmefFO10adY,20320
99
104
  unfold/static/admin/js/admin/RelatedObjectLookups.js,sha256=ubKKhWmX_QborwPnaLHuQshTwQw6tK1pAViWdKIjw4E,9222
100
- unfold/static/admin/js/inlines.js,sha256=zcYwLGI_6RHg-gucDbbhp43RRoZd3so8bPk841KFaIE,15573
105
+ unfold/static/admin/js/inlines.js,sha256=UXtFzCWHZWIJbxRghlNsNsz8HuRHjcaH1Mvb5e6uJms,16222
101
106
  unfold/static/unfold/css/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
102
107
  unfold/static/unfold/css/simplebar/simplebar.css,sha256=5LLaEM11pKi6JFCOLt4XKuZxTpT9rpdq_tNlaQytFlU,4647
103
- unfold/static/unfold/css/styles.css,sha256=NhgQLUndZg4sTi6-tg5WRqMi_RxShD7OzxBvDTRHvCg,158448
108
+ unfold/static/unfold/css/styles.css,sha256=PqqGUjW6Dj1k2Nd4R0yoS7hCD5BUgmmUZxDifB4pCEI,159736
104
109
  unfold/static/unfold/fonts/inter/Inter-Bold.woff2,sha256=-oiBJ7baAVtlVp8DUfO1w5GtkokElR8cIOn4RiqNleo,114840
105
110
  unfold/static/unfold/fonts/inter/Inter-Medium.woff2,sha256=D_PpRhThST61VjFP0keubEqFp3g7TMhr5TmUDPg_Kkg,114348
106
111
  unfold/static/unfold/fonts/inter/Inter-Regular.woff2,sha256=4G9rG8VTqupORmgCPtCrChRxKcMQf1Ebx9A9NhsK4IU,111268
@@ -116,46 +121,46 @@ unfold/static/unfold/js/alpine/alpine.js,sha256=PtHu0lJIiSHfZeNj1nFd6wTX-Squ255S
116
121
  unfold/static/unfold/js/alpine/alpine.persist.js,sha256=jFBwr6faTqqhp3sVi4_VTxJ0FpaF9YGZN1ZGLl_5QYM,837
117
122
  unfold/static/unfold/js/alpine/alpine.resize.js,sha256=mXR2L6neT584cfNLY5_imDq5DKjW1noXys7fhb1yxY4,703
118
123
  unfold/static/unfold/js/alpine/alpine.sort.js,sha256=q6LxgConwu8M8R03mZSBcsKwJv6fF7oomP8sqLxVQ0w,37891
119
- unfold/static/unfold/js/app.js,sha256=UfVvyLqwoUUYci7dRbFXz1e4q68WTwz3M3K80JAQxfE,9414
124
+ unfold/static/unfold/js/app.js,sha256=F7xblFopfjmdEAttR0ShM8yzE2g_mGWt1mPuh8e-Cj4,13454
120
125
  unfold/static/unfold/js/chart/LICENSE,sha256=QahKosq6ZF-WahjZwgVrc-bTqB2AvABGvAARomNNTM4,1093
121
126
  unfold/static/unfold/js/chart/chart.js,sha256=22W6cFERR-CElMOKRgMMicueMVP0Vf7FBEBYH8Z8tCk,200633
122
127
  unfold/static/unfold/js/htmx/LICENSE,sha256=09JFb3ZBTyRWEEZg69Za_xwEzXlmuUK9q9Y_PNsxajg,642
123
128
  unfold/static/unfold/js/htmx/htmx.js,sha256=acrv0NqSJpBm5yXX_hdeJrnVDJYuMFZFnAxHcVTNudM,50918
124
- unfold/static/unfold/js/select2.init.js,sha256=l0O8ggw_CkAw-QtH3qEzC8xWk0mR9QHjy4VzAjMwiQQ,1109
129
+ unfold/static/unfold/js/select2.init.js,sha256=E1BhZ_a16_wxMb3zFq346HIrzvfQz8PRSB_o5CH_i2E,1196
125
130
  unfold/static/unfold/js/simplebar/LICENSE,sha256=okNJf6UFl2NrEiC4iqORNBa16IKgUgV88acdcl9FbtY,1081
126
131
  unfold/static/unfold/js/simplebar/simplebar.js,sha256=t-uG1FAD6ZoiMeN--wac0XRS7SxoDVG6zvRnGuEp7X8,27176
127
- unfold/styles.css,sha256=RsknYaV1gf2bWYDAubtKzC5N1ZCZdIVO0kR5yPRiuFQ,21312
132
+ unfold/styles.css,sha256=c62G1eNFzth-br50OZIl8vBMOWK_6myffjHt1JFj08I,21231
128
133
  unfold/templates/admin/actions.html,sha256=iuuubcAILkOoYBgV6cpXqFIyZUh4zMqyFp0JaDFlPKU,3096
129
- unfold/templates/admin/app_index.html,sha256=LRR07CLcZVsYpisCOncWdMSACARNstcDt536Oydnt60,1239
134
+ unfold/templates/admin/app_index.html,sha256=hcXcaEwqKYTaClnGzlBEsTzy3YJn_37AiFs4YVbvX8A,585
130
135
  unfold/templates/admin/app_list.html,sha256=-DEZKFdmkdTq3rix_cgZurPZ1r8PHg5pBL3i7ZtzVdI,2972
131
136
  unfold/templates/admin/auth/user/add_form.html,sha256=-_YY4guGdAbw2rCskrQfRAAvQF2XzVHt5UMI0fsLDm4,337
132
- unfold/templates/admin/auth/user/change_password.html,sha256=028v1dfQTlSmdr-WCuV4lBOmFa7Oo38CsYhsXEe8ANI,2831
133
- unfold/templates/admin/base.html,sha256=pU0e7dCQa1E1K1BDGEiqM_OD_GRgNVrqC8As_t-nAyo,2471
137
+ unfold/templates/admin/auth/user/change_password.html,sha256=3NIopJ8JFN4iv428kUTqRthZvmden9sb0-D7AKohRjA,1577
138
+ unfold/templates/admin/base.html,sha256=CuttiTMMtEiPNIEv4VXt27UGITgqPZaz5V8BJlBEOdk,1663
134
139
  unfold/templates/admin/base_site.html,sha256=UOsecaCycpyn_ygJNIKO7MQtDFJuHv--r83-mzaVY30,300
135
- unfold/templates/admin/change_form.html,sha256=aNCCLdeVgHNmCUHFuAhplCraVaOmLqqqjJukwtQmM4c,5774
140
+ unfold/templates/admin/change_form.html,sha256=zjcJ-aB4hES_3-YJdRXhp7GWzuOk_yQ7UoyYBu-5sno,4491
136
141
  unfold/templates/admin/change_form_object_tools.html,sha256=eyeH-i2HgEM0Yi-OJA2D1VnKJyC19A_my1IDGxxoP8Y,593
137
- unfold/templates/admin/change_list.html,sha256=39S_LBbd25DiKhL9HjLOamXN1o-Ads4HfeQ6wEvv8JA,5361
142
+ unfold/templates/admin/change_list.html,sha256=aesNLu_b4j90Q08nWpMlVembYuH0TMGhwO7DJMMrSsI,4503
138
143
  unfold/templates/admin/change_list_object_tools.html,sha256=cmMiT2nT20Ph5yfpj9aHPr76Z-JP4aSXp0o-Rnad28s,147
139
- unfold/templates/admin/change_list_results.html,sha256=vGmT3hxmVUxyJvYlYo6-EKxrfhDk1Bp9jlIVriMFsWM,8173
144
+ unfold/templates/admin/change_list_results.html,sha256=NZmqOajOP9-TSJSUZxU7z-6_cpJX8rgrcvPoQfehMb8,8193
140
145
  unfold/templates/admin/date_hierarchy.html,sha256=A-sIqBKzZTMqSn3NSHORIL1yTEAqhj4Atff0OvWtqT0,1413
141
- unfold/templates/admin/delete_confirmation.html,sha256=IPSGhOpxDl6hJB9LtpSg_XRkVmbDO1BpO9q_dthqkac,4635
142
- unfold/templates/admin/delete_selected_confirmation.html,sha256=T3NNe7pP0WM2QM4F39AbkDGsfd_d_tKYRpwxvExahgU,4399
146
+ unfold/templates/admin/delete_confirmation.html,sha256=0vHhrbUAOW8CXfkEB20JoA9qV5xRbyb5xGc1jpWcrN4,3661
147
+ unfold/templates/admin/delete_selected_confirmation.html,sha256=mtRZyZH5xBRk60KktA8PZviAeI3yOH34cS_FDHaZOu0,3401
143
148
  unfold/templates/admin/edit_inline/stacked.html,sha256=EpTG-HPExprnY833xeFcqY8qTOnNXvDHYicgl2NkIZI,8628
144
149
  unfold/templates/admin/edit_inline/tabular.html,sha256=DtXaKC_0HEKPIphbqiykixQa1cRrEYcnLV7I3VlynhU,3020
145
150
  unfold/templates/admin/filter.html,sha256=DEyrLgCWuncS1O1WR0vlt1evGQFvKoZV2pABkHzSoGU,2039
146
- unfold/templates/admin/includes/fieldset.html,sha256=knUIN44un4M-M4wlzoLIE1U6qHDlVSt7EH9bV8RwK4g,1461
151
+ unfold/templates/admin/includes/fieldset.html,sha256=UWcatsmHzfdcjZP58P94YL7BI3F-CP-BgYi2uC7FSb4,1471
147
152
  unfold/templates/admin/includes/object_delete_summary.html,sha256=FgwfapZCKWtnFtTHqh1MRuxxLot4bAw92WCcR_V8ImI,444
148
- unfold/templates/admin/index.html,sha256=9ey6IIXxBVTEkVSDiQw01AwvMbUnG_h0B08N1Zg3wTg,578
149
- unfold/templates/admin/login.html,sha256=W07Dtr3-YQ-JP1jYKZMsBxrmO1u49A5R4UZyOUmZYfY,2465
153
+ unfold/templates/admin/index.html,sha256=n9uEm32hjM3g5d2hkjRlgwcYcAcmVw6nBVS__h8BIRU,539
154
+ unfold/templates/admin/login.html,sha256=E963dlzjZlkNc6WPJg9DiqijWAhRp1QLVCxFHkRca3g,2468
150
155
  unfold/templates/admin/nav_sidebar.html,sha256=xvCaXOamXawmf80NhE0OwjjjuNwoyoePS--lsdqDeIE,772
151
- unfold/templates/admin/object_history.html,sha256=t-iJFQnpstowwsabGGA-FQjmcT1KIKhKLKbQ3iVELkk,4832
156
+ unfold/templates/admin/object_history.html,sha256=4S9xpBtywUdFPUmvAuH2lMOG6jxCFZ-rFZYnhbajkRw,3726
152
157
  unfold/templates/admin/pagination.html,sha256=-9kjc_lKEeqvDVHMrnTfnlXDxMSkM8GNRGZGuI9D8os,912
153
158
  unfold/templates/admin/search_form.html,sha256=7ckco8llu5paptroZgr3jZw54DtowX-NiwFvxsCV898,1713
154
159
  unfold/templates/admin/submit_line.html,sha256=9FDZ5HOfiJG11HSMtA4rfqjKe3ucC-_OChpx1CGTLac,4626
155
160
  unfold/templates/auth/widgets/read_only_password_hash.html,sha256=MlaNXJ2PLEbv8Nd01BBp-AQEfMB13LNxD_DzRemXhCg,775
156
- unfold/templates/registration/logged_out.html,sha256=oIdaqGcvIdBih3yNnUkXSEpvofRsBJ77obldnhcnP2U,997
157
- unfold/templates/registration/password_change_done.html,sha256=ITV6Fug4S6YG3WG-O1cm-sDAXTHEXPcNZ_w2x1IQFu8,1006
158
- unfold/templates/registration/password_change_form.html,sha256=-8AauxUHWHXVaokG269UsETY_FHKqU83Zx38ZzrAA1A,2159
161
+ unfold/templates/registration/logged_out.html,sha256=ytjIz3abnpERwUp1F8zn89HyrimSrb9wgUna3Iz0CJE,1202
162
+ unfold/templates/registration/password_change_done.html,sha256=TjzRQ476BNkz3To2S7MhEXxA-zoqCI8Op_FjY0cRod0,364
163
+ unfold/templates/registration/password_change_form.html,sha256=E9fRkSh7n5N7UQIy0oWpcvI1mVPQ0nYGlBrM_WTi9kw,1517
159
164
  unfold/templates/unfold/components/button.html,sha256=RlNNIa_JmcsNFH151ECHkbB2TxpgeCPRh-eW1Bc0Xtk,933
160
165
  unfold/templates/unfold/components/card.html,sha256=fwko37u8KJIDQwiD2v8RoVuvZu8qBPyPl2TambOcFnc,1349
161
166
  unfold/templates/unfold/components/chart/bar.html,sha256=nDdDCUXvFd793OpNgNPQo0vBmvYngMsQyPHVTf1vfOw,297
@@ -164,10 +169,10 @@ unfold/templates/unfold/components/chart/line.html,sha256=DHaZUFTlCs5cX7ioYdTzoN
164
169
  unfold/templates/unfold/components/container.html,sha256=WBk1rGHnTsObi3pJCpL3dfFAUQ2abDmokU0Lee7R9CI,83
165
170
  unfold/templates/unfold/components/flex.html,sha256=_hBsQLJ6-7MfEfXNp5Wy-ykNtPMnnNg_io2IMGegn3s,134
166
171
  unfold/templates/unfold/components/icon.html,sha256=Qlhcf41FOwNVJ-nvA0RJ_Dn6JW6PUFXO6tOR3Xtf6e8,99
167
- unfold/templates/unfold/components/navigation.html,sha256=eVpuQ_yTxIv6JVL8sM21Wy-sBfGviIdEsQbEWPgw5WQ,903
172
+ unfold/templates/unfold/components/navigation.html,sha256=0imW9pQs9kUZy2iROeAsGJDXC5tMRq9ABRcN85fJPeQ,866
168
173
  unfold/templates/unfold/components/progress.html,sha256=5D9z7PDo68jI_33e-MVPM0V3tywswn5fWc_x39XKQ_4,972
169
174
  unfold/templates/unfold/components/separator.html,sha256=yvHywT_MFkx5dNC2K53OFHRGxLDsEjRpptujXyGeoTY,168
170
- unfold/templates/unfold/components/table.html,sha256=VVMTrrDy_Oq09MG9aNAsnMZfXSp23K2sAMRnbjzOZmI,3355
175
+ unfold/templates/unfold/components/table.html,sha256=5Ghmaw3mHhKOlBKKRBfhmSx0-HkRx1sHpX6NDItgdv4,7911
171
176
  unfold/templates/unfold/components/text.html,sha256=-GjxvdiaBQIaNfPSzT6SSIwnc3R27FkSDQMoF3FDPso,102
172
177
  unfold/templates/unfold/components/title.html,sha256=aMYSO30ybFYqPnqwlJVh2uNmcgnVrRycZkHTjJTjpX8,171
173
178
  unfold/templates/unfold/components/tracker.html,sha256=krlvsb06lpfdOIANsyrBOoLq1sgv6rXUGr-7MmP5Le0,292
@@ -177,11 +182,14 @@ unfold/templates/unfold/helpers/add_link.html,sha256=vd-oy-xMIDiVmFVvwDL3-S360hO
177
182
  unfold/templates/unfold/helpers/app_list.html,sha256=baydU9R_xmH9pWgs8B7PUcwTWcLxHDhD1ehs75c5PD0,5879
178
183
  unfold/templates/unfold/helpers/app_list_default.html,sha256=0TR2ZTy0KUqa6YR8IgihA_4RQqBIFOroYpRHHIyD4H8,4015
179
184
  unfold/templates/unfold/helpers/attrs.html,sha256=Mwpj72kuwYj8hOT3J2T8qx6f1r_4xwwaS1slHA-82jI,166
180
- unfold/templates/unfold/helpers/boolean.html,sha256=kcSZr3siQeBWIy_jsx1tFf4m6IB3ooRnu8UUNQrh6so,569
185
+ unfold/templates/unfold/helpers/boolean.html,sha256=GyLsuvfp7SJSvwdN_wkruuL6yf3Rpb6zWl_WycTC8a8,811
181
186
  unfold/templates/unfold/helpers/breadcrumb_item.html,sha256=9T6ojN7LOXIlgwSwlIwHgy5U22eQYtarCqcmzsQIoPU,201
182
187
  unfold/templates/unfold/helpers/change_list_actions.html,sha256=xuFMZel6kH014H9sl0hKvQo7LP0UxwlhFQHIUeyQxVM,643
183
188
  unfold/templates/unfold/helpers/change_list_filter.html,sha256=WwU-AG4U5qZQ_sFs1z_jaaYBWqIv3ASmtKIQIhAp2gs,1908
184
189
  unfold/templates/unfold/helpers/change_list_filter_actions.html,sha256=K99hHgpCLaAHxv-eqIf4nOUfq6CeTQHekEeudKTRYME,2036
190
+ unfold/templates/unfold/helpers/command.html,sha256=59bqXiyIpcK6mU-Qcu_tiJWcG5ZXRdFtYjQyJ40TXwI,2815
191
+ unfold/templates/unfold/helpers/command_history.html,sha256=AB5elGPyY51aHuaWnwXddZmdcSadcqBOzdzjYqR4lfU,2866
192
+ unfold/templates/unfold/helpers/command_results.html,sha256=nmdU8QEF68tYIOgt5pPmNPq4pQ_fCtNIOSPeunsadvs,2708
185
193
  unfold/templates/unfold/helpers/delete_submit_line.html,sha256=7SNS0axGytvUih9KxtOzy9ZC5rwG9u99iQxlnUZQfdE,700
186
194
  unfold/templates/unfold/helpers/display_dropdown.html,sha256=IpOy8-hww4arAVjPIRsHrip30J3IEd2p-2BzD3BjIaA,2906
187
195
  unfold/templates/unfold/helpers/display_header.html,sha256=2u-5Vc3mA6rS3ZlOWm3WRNLUX1wmZy4OSmGY2mdPZYs,1714
@@ -203,10 +211,11 @@ unfold/templates/unfold/helpers/fieldsets_tabs.html,sha256=F-s-4imtLbp2IYad3lFcD
203
211
  unfold/templates/unfold/helpers/form_errors.html,sha256=mrv2_J7RPcLfVtoN1UHh3rfUyOSZpHl67wk1UGqtPcY,266
204
212
  unfold/templates/unfold/helpers/form_label.html,sha256=7FfaXfviQmqKpsA1E7NSwM8rJiMNLl9e73XQram0Pfs,249
205
213
  unfold/templates/unfold/helpers/header.html,sha256=cHAPz7niLLQDQbrZpURZS1hiA8OYLzkGaqnYzjgv8aE,1151
206
- unfold/templates/unfold/helpers/header_back_button.html,sha256=lNZcYZzQRZdNSI70UrxJ-pq7xnxifziZXtSK1FoPy_U,416
214
+ unfold/templates/unfold/helpers/header_back_button.html,sha256=FsgC8ULfm7U3a9-uxY_ebdgKFh-Pecc-9_hgenkHKdU,734
215
+ unfold/templates/unfold/helpers/header_title.html,sha256=-H3x6au-ZmMV1Y-HDeOs66MsL0XGKwQxYRnmDGuR268,510
207
216
  unfold/templates/unfold/helpers/help_text.html,sha256=fDsSptYt6aPO3xPdMgbpwaINaF1FGFmaOb_1FiS_Bsg,118
208
217
  unfold/templates/unfold/helpers/history.html,sha256=qxfCZxFIyl91qDpxfwozhmyVFZwULysA8Y_2H8XJ7bM,1937
209
- unfold/templates/unfold/helpers/label.html,sha256=DRs0B08SmIvNY0QcFy78xDiI0hAKyfjExu-cm33PAaQ,911
218
+ unfold/templates/unfold/helpers/label.html,sha256=miawI37nl0totKxNekRvImHWOG2Og91ozBOny43y8C4,905
210
219
  unfold/templates/unfold/helpers/language_form.html,sha256=Ve1qfIcL4DV6cxYfhqGkC_KghDjNyEB8j3hYts1S34M,708
211
220
  unfold/templates/unfold/helpers/language_switch.html,sha256=vZiYutLOWChHUQRw1OaHIYVhfzl84-BfZq14FUCKvuo,1225
212
221
  unfold/templates/unfold/helpers/messages/debug.html,sha256=OIWKZp04zxWPmVaKZaEtzrikZq1kVruncYRKiKrHWds,153
@@ -217,35 +226,35 @@ unfold/templates/unfold/helpers/messages/success.html,sha256=UWHpRJTvVhXiYC9-AvJ
217
226
  unfold/templates/unfold/helpers/messages/warning.html,sha256=UldycPr8wdyp5vdjlkfs_yHCEvNg9PgspyzTALAjdDY,161
218
227
  unfold/templates/unfold/helpers/messages.html,sha256=SYVGFWdL1ZhFamxnZ6ZJUvs9GKITYpY4fvdebBlSprU,1003
219
228
  unfold/templates/unfold/helpers/navigation.html,sha256=U9cMmw3ETMI88zqHvSf5VQkMehcU6YfLKTcH1CmS4fY,554
220
- unfold/templates/unfold/helpers/navigation_header.html,sha256=frgItqC006qdYoKPty59WU5aIbUFXIUKEgz_aMtjKrM,1329
229
+ unfold/templates/unfold/helpers/navigation_header.html,sha256=cs15HJiGtGh7tZzizJfh8ioS5vmRu5gmqW_oBkViKy0,1381
221
230
  unfold/templates/unfold/helpers/pagination.html,sha256=cvD4Jtw1YeKcgvWuY10iyM9Qjs52iokskzYG3TLscyY,375
222
231
  unfold/templates/unfold/helpers/pagination_current_item.html,sha256=4cZ2KLVcP0Y7xuGyXgexDQ07r94cgM5Gnmtv11dkRPQ,69
223
232
  unfold/templates/unfold/helpers/pagination_default.html,sha256=pseTrqaG5EOn_IpCy0GXNht3ickSkZYJ4lJaocZeI6A,496
224
233
  unfold/templates/unfold/helpers/pagination_ellipsis.html,sha256=8g0KUUKtqRkXx_EBLGtsJsiYQO4tPS3GazZjxT90e0M,56
225
234
  unfold/templates/unfold/helpers/pagination_infinite.html,sha256=QyHcYb36CeuiwpukC0Y553UC4LU2tPolGos-0mh7WP0,557
226
- unfold/templates/unfold/helpers/pagination_inline.html,sha256=wFuXDvW1p-9OF1FSlOERkhP1Jt1WLzNfN7UkqsHtOQ4,1414
235
+ unfold/templates/unfold/helpers/pagination_inline.html,sha256=mMiqoYTmLjN2DFoen46EWHyP-b61staMG6WiaZn-YxI,1889
227
236
  unfold/templates/unfold/helpers/popup_header.html,sha256=IDR9B0OO6v6TvJggeof-OMGJ4cYK2INStU_2a1AlWfM,1325
228
- unfold/templates/unfold/helpers/search.html,sha256=ATAYuvFU6Io6zmo5ki4TlYK6f3veg4GA2SNjCBEvYLs,1878
229
- unfold/templates/unfold/helpers/search_results.html,sha256=awd6DWTLILIBnx-QkwN7my8IncTN9BfE8jHm7OibgoM,846
230
- unfold/templates/unfold/helpers/shortcut.html,sha256=gVoXCDwEpbjxLilJ3QEoFLWmFlH18-vgoWdHv6aRLfQ,199
237
+ unfold/templates/unfold/helpers/search.html,sha256=Fpft3UmIH2EVI3_Jt66-ot42eTGj90cU5kns8XNHe5k,3070
238
+ unfold/templates/unfold/helpers/search_results.html,sha256=9FXx8fiByx0K2o8x2y8n0Wv-9kRUWk0y2PYu9raK1es,833
239
+ unfold/templates/unfold/helpers/shortcut.html,sha256=K71_vp9qvY5gSsTgDP-9rivneSKAP5uWbfUnIpiwMBM,217
231
240
  unfold/templates/unfold/helpers/site_branding.html,sha256=_hhWQZqUrMYGqRJRpeANjbRJPfCROPZkQLZLV7FiRk8,268
232
- unfold/templates/unfold/helpers/site_dropdown.html,sha256=UwGFImzujCt20M4_WZt_T9TjeqVSEattYtLXHq57bcY,910
241
+ unfold/templates/unfold/helpers/site_dropdown.html,sha256=vQC7UZDVxIWJMGBD5qHLMGA9Cza3DTMDY2Z9n9EV60M,985
233
242
  unfold/templates/unfold/helpers/site_icon.html,sha256=q9YynbaAZsEXKXT3SDZy54iSdjUwR6i2vo0AFyllGQ0,1490
234
243
  unfold/templates/unfold/helpers/site_logo.html,sha256=S_QJoT2qh0xw0ciaKxoT4GJ6QIH5eqgRSC0abbWWkOI,423
235
- unfold/templates/unfold/helpers/submit.html,sha256=LaJdnSDzucH1CpWNCLfqHe_tCcCBMLap8c9ysY2q1HU,211
244
+ unfold/templates/unfold/helpers/submit.html,sha256=6bfZ7V2PTJfSXGg4K3IEZ42oREkMdAVjfP8yaM8Tu0k,226
236
245
  unfold/templates/unfold/helpers/tab_action.html,sha256=mJd87_2qkSNQEwDZZCDkvll5ZbizBkPxWFnBR-kH89o,3431
237
246
  unfold/templates/unfold/helpers/tab_actions.html,sha256=koe4D-vm7PRPqZ4FPjo3KEfWARebcpt1KuUJ7oa7PK4,685
238
- unfold/templates/unfold/helpers/tab_items.html,sha256=5kZcU7R9tZKKxVLahp2siZpZf7FhrluBH1dIAIaWoAg,3377
239
- unfold/templates/unfold/helpers/tab_list.html,sha256=98qf9a-lxfgbGORhjs7OyjgYMIOpT5NKMIa972CI5uA,461
247
+ unfold/templates/unfold/helpers/tab_items.html,sha256=GE1-5pC6CZShn666AxpZ548mfs3lKWzMkrBedjaKJfo,1945
248
+ unfold/templates/unfold/helpers/tab_list.html,sha256=7Jy4QrGfmKq4ORBi9w_Wya_b2QJZOZndvILDaM1unBc,386
240
249
  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
250
+ unfold/templates/unfold/helpers/unauthenticated_header.html,sha256=nBTHKonEmR87zMAivl48E4c1xOVcTujodn6H9rAf_6U,601
251
+ unfold/templates/unfold/helpers/unauthenticated_title.html,sha256=GRPqdhpPdxYG4o3DNB1uBE0V1IFotVqeviCW-znGDNE,416
243
252
  unfold/templates/unfold/helpers/userlinks.html,sha256=bJRDQXQ_0XgxLpfmZoNgU9xpn4X6T6LOAgEmzepFXOI,740
244
- unfold/templates/unfold/helpers/welcomemsg.html,sha256=Z3dDvozCJ5VhSVA_1go0F4ZD0lQYhCmoWqd_RM00pec,2019
253
+ unfold/templates/unfold/helpers/welcomemsg.html,sha256=DECz-YhlRcXd_iShyGHld5ofOOp8z1vXcDWs9x_vvTU,1635
245
254
  unfold/templates/unfold/layouts/base.html,sha256=e9T-vuPvrySHf23LLwRuTQXUg0Q4x-6gmT_yXghqc-I,278
246
- unfold/templates/unfold/layouts/base_simple.html,sha256=qUZ9YM24UHgWbmTl61zgN4_ty49P1FZJQ2siNbwnFnQ,1244
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
255
+ unfold/templates/unfold/layouts/base_simple.html,sha256=-Q5h4oTDCc2_d1WbCE7gST2u6GlS7_sXpP1KoghzgUw,1060
256
+ unfold/templates/unfold/layouts/skeleton.html,sha256=hkCClXksW5IQVN95WPfmOa6h6iARM-hhjXqMQzNcNSg,4858
257
+ unfold/templates/unfold/layouts/unauthenticated.html,sha256=b1yVJZThOw30SF580BTKzj5TJsIsR3lGBJ5jqtFsXuM,983
249
258
  unfold/templates/unfold/templatetags/preserve_changelist_filters.html,sha256=sx2jUhogNY4emBhY8PqxQ6mXifbXQb_IQI9Hd0boJI0,111
250
259
  unfold/templates/unfold/widgets/clearable_file_input.html,sha256=8dXZnc6z2D2K08hqHsQwR5UJffcIRnmYBT02zmCOr9A,2191
251
260
  unfold/templates/unfold/widgets/clearable_file_input_small.html,sha256=zhnaDz72mJgMrq-nCPCMuR5tEJaFVfJyOJUAzR6tQWc,2624
@@ -254,7 +263,7 @@ unfold/templates/unfold/widgets/foreign_key_raw_id.html,sha256=4r7ha4I9vMp9Ls7WI
254
263
  unfold/templates/unfold/widgets/radio.html,sha256=7Mgc92mMwJdVLjCxoGj5lo76KNaN5dKKktV3vzmbeqA,652
255
264
  unfold/templates/unfold/widgets/radio_option.html,sha256=wVg6zIB0O44vwBgQCCphPuCXeh-gaDg6ed-0gcf5kg4,324
256
265
  unfold/templates/unfold/widgets/range.html,sha256=Zhfj2VTusS3nZjOYR7slcjk1JtFK0psZbaSCw6TDY1I,294
257
- unfold/templates/unfold/widgets/related_widget_wrapper.html,sha256=8poy8kZRGPqmY4gSXkEZt7vevBomrKoe2Lg5zsjpwiU,3919
266
+ unfold/templates/unfold/widgets/related_widget_wrapper.html,sha256=5QNucDSrA5-vDnuCXToUfsbEVW6fhGOhm-6uMKmZebA,4179
258
267
  unfold/templates/unfold/widgets/select.html,sha256=MyhlEO4sf7AUjOgH84rL76rhYM0WEn4qRqzuzPmgu5M,715
259
268
  unfold/templates/unfold/widgets/split_datetime.html,sha256=Hfv2PoHxPmV_21DmBFmMcR4WVP9vTV9SrfjVdliRci8,1074
260
269
  unfold/templates/unfold/widgets/split_datetime_vertical.html,sha256=39lZsRyRcKr8DIcy9oL39zC8nAHZTHwW6gyTYOKePrQ,806
@@ -288,13 +297,13 @@ unfold/templates/unfold_crispy/uni_form.html,sha256=l9UNCUrIycgJ0p_B6qhtO_YxdARy
288
297
  unfold/templates/unfold_crispy/whole_uni_form.html,sha256=ufXRKCIGqkqKFOsh166rpKUnHpFMyBV4eYUCRhs3iws,475
289
298
  unfold/templates/unfold_crispy/whole_uni_formset.html,sha256=CYksfG2hRUdi5n691KW2ih-FfBxpOU4qVBfbOvcu1zs,873
290
299
  unfold/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
- unfold/templatetags/unfold.py,sha256=PZGnKciiEYZfREApWp-0CcFiGYWU5UPOmTMfapzmfUY,18155
300
+ unfold/templatetags/unfold.py,sha256=_OtD5JmyPA4G28fZRFEkfBQMUq8giNumjqFP8AhvCjI,22550
292
301
  unfold/templatetags/unfold_list.py,sha256=WWQSCM4QmQMr8YddA4krFztuuUXo2y28RA7jZfOiewE,14415
293
302
  unfold/typing.py,sha256=i7LM2LiwYTAjT5-OLDUPVn5b9X-DMmHnjlZG2toWwSE,692
294
- unfold/utils.py,sha256=lXKkvhaTxoTtd4p3bB0wHIZD26md6XzBcDkPL5bJGH8,6191
295
- unfold/views.py,sha256=FuYnMrlg6SegLUDDN6An__yZj8rchD_iBK8myieYhkA,1492
296
- unfold/widgets.py,sha256=S_HEcRNml7E4PqwYUpY58QIP7X6KH-5EHRHwEploCrU,24557
297
- django_unfold-0.62.0.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
298
- django_unfold-0.62.0.dist-info/METADATA,sha256=3MM50K4RLIfkjO8FTDGf3w0IXkYYmh3CSCr8fm43tdc,8445
299
- django_unfold-0.62.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
300
- django_unfold-0.62.0.dist-info/RECORD,,
303
+ unfold/utils.py,sha256=NAm3NJGJCefvg-jsoBnwdnTzyweuB2UikWIewuyDH0A,6641
304
+ unfold/views.py,sha256=iICsveQVxeXSKKr8MfJbq82nOpLLNlGYoJox7SEHFcA,1572
305
+ unfold/widgets.py,sha256=Af4eZWRxhOxxDpyxz-jC5DD_JNvZ0NSvJirVJOQcA_8,24687
306
+ django_unfold-0.64.0.dist-info/LICENSE.md,sha256=Ltk_quRyyvV3J5v3brtOqmibeZSw2Hrb8bY1W3ya0Ik,1077
307
+ django_unfold-0.64.0.dist-info/METADATA,sha256=JGB6Mbkdj80aeZmVtCEjxtgN9YajavujnKkDu-jldu8,9998
308
+ django_unfold-0.64.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
309
+ django_unfold-0.64.0.dist-info/RECORD,,
unfold/admin.py CHANGED
@@ -129,7 +129,7 @@ class ModelAdmin(BaseModelAdminMixin, ActionModelAdminMixin, BaseModelAdmin):
129
129
 
130
130
  action_detail_urls = [
131
131
  path(
132
- f"<path:object_id>/{action.path}/",
132
+ f"<path:object_id>/{action.path}",
133
133
  wrap(action.method),
134
134
  name=action.action_name,
135
135
  )
File without changes
@@ -0,0 +1,6 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class ConstanceConfig(AppConfig):
5
+ name = "unfold.contrib.constance"
6
+ label = "unfold_constance"
@@ -0,0 +1,32 @@
1
+ UNFOLD_CONSTANCE_ADDITIONAL_FIELDS = {
2
+ str: [
3
+ "django.forms.CharField",
4
+ {
5
+ "widget": "unfold.widgets.UnfoldAdminTextInputWidget",
6
+ },
7
+ ],
8
+ int: [
9
+ "django.forms.IntegerField",
10
+ {
11
+ "widget": "unfold.widgets.UnfoldAdminIntegerFieldWidget",
12
+ },
13
+ ],
14
+ bool: [
15
+ "django.forms.BooleanField",
16
+ {
17
+ "widget": "unfold.widgets.UnfoldBooleanSwitchWidget",
18
+ },
19
+ ],
20
+ "file_field": [
21
+ "django.forms.fields.FileField",
22
+ {
23
+ "widget": "unfold.widgets.UnfoldAdminFileFieldWidget",
24
+ },
25
+ ],
26
+ "image_field": [
27
+ "django.forms.fields.ImageField",
28
+ {
29
+ "widget": "unfold.widgets.UnfoldAdminImageFieldWidget",
30
+ },
31
+ ],
32
+ }
@@ -0,0 +1,52 @@
1
+ {% extends "admin/base_site.html" %}
2
+
3
+ {% load admin_list static i18n %}
4
+
5
+ {% block extrahead %}
6
+ {% url 'admin:jsi18n' as jsi18nurl %}
7
+ <script type="text/javascript" src="{{ jsi18nurl|default:'../../jsi18n/' }}"></script>
8
+ {{ block.super }}
9
+ {{ media.js }}
10
+ <script type="text/javascript" src="{% static 'admin/js/constance.js' %}"></script>
11
+ {% endblock %}
12
+
13
+ {% block content %}
14
+ <div id="content-main" class="constance">
15
+ <div id="changelist" class="flex flex-col gap-8 w-full">
16
+ <form id="changelist-form" action="" method="post" enctype="multipart/form-data" novalidate class="flex flex-col gap-8 w-full">
17
+ {% csrf_token %}
18
+
19
+ {% include "unfold/helpers/form_errors.html" with errors=form.non_field_errors %}
20
+
21
+ {% for field in form.hidden_fields %}
22
+ {{ field }}
23
+ {% endfor %}
24
+
25
+ {% if fieldsets %}
26
+ <div class="border border-base-200 rounded-default overflow-x-auto simplebar-horizontal-scrollbar-top dark:border-base-800" data-simplebar data-simplebar-auto-hide="false">
27
+ <table class="w-full border-collapse">
28
+ {% for fieldset in fieldsets %}
29
+ {% with config_values=fieldset.config_values %}
30
+ {% include "admin/constance/includes/results_list.html" %}
31
+ {% endwith %}
32
+ {% endfor %}
33
+
34
+ <tfoot>
35
+ <tr>
36
+ <td class="border-t border-base-200 px-3 py-2 dark:border-base-800" colspan="100%">
37
+ <div class="flex justify-end">
38
+ {% trans "Save" as title %}
39
+ {% include "unfold/helpers/submit.html" with title=title %}
40
+ </div>
41
+ </td>
42
+ </tr>
43
+ </tfoot>
44
+ </table>
45
+ </div>
46
+ {% else %}
47
+ {% include "admin/constance/includes/results_list.html" %}
48
+ {% endif %}
49
+ </form>
50
+ </div>
51
+ </div>
52
+ {% endblock %}
@@ -0,0 +1,71 @@
1
+ {% load admin_list static i18n %}
2
+
3
+ <tbody {% if fieldset.collapse %} x-data="{ rowsOpen: false }" {% endif %}>
4
+ <tr {% if fieldset.collapse %} x-on:click="rowsOpen = !rowsOpen" {% endif %} class="{% if fieldset.collapse %}cursor-pointer{% endif %}">
5
+ <th class="bg-base-50 border-t border-base-200 font-semibold px-3 py-2 text-left text-font-important-light dark:text-font-important-dark dark:border-base-800 dark:bg-white/[.04] {% if forloop.first %}border-t-0{% endif %}" colspan="100%">
6
+ {{ fieldset.title }}
7
+
8
+ {% if fieldset.collapse %}
9
+ <span class="material-symbols-outlined float-right select-none transition-all" title="{% trans "Collapse" %}" x-bind:class="rowsOpen ? 'rotate-180' : ''">
10
+ expand_more
11
+ </span>
12
+ {% endif %}
13
+ </th>
14
+ </tr>
15
+
16
+ <tr class="border-t border-base-200 dark:border-base-800 *:font-semibold *:px-3 *:py-2 *:text-left *:text-font-important-light dark:*:text-font-important-dark" {% if fieldset.collapse %}x-show="rowsOpen"{% endif %}>
17
+ <th>{% trans "Name" %}</th>
18
+ <th>{% trans "Value" %}</th>
19
+ <th>{% trans "Default" %}</th>
20
+ <th>{% trans "Code" %}</th>
21
+ <th>{% trans "Modified" %}</th>
22
+ <th></th>
23
+ </tr>
24
+
25
+ {% for item in config_values %}
26
+ <tr class="border-t border-base-200 h-[55px] *:px-3 *:py-2 *:align-middle dark:border-base-800" {% if fieldset.collapse %}x-show="rowsOpen"{% endif %}>
27
+ <th class="font-normal text-left">
28
+ {{ item.help_text|linebreaksbr }}
29
+ </th>
30
+
31
+ <td class="{% if item.form_field.errors %}group errors{% endif %}">
32
+ {{ item.form_field }}
33
+
34
+ {% include "unfold/helpers/form_errors.html" with errors=item.form_field.errors %}
35
+ </td>
36
+
37
+ <td>
38
+ {% if item.default %}
39
+ {% include "unfold/helpers/label.html" with text=item.default %}
40
+ {% else %}
41
+ -
42
+ {% endif %}
43
+ </td>
44
+
45
+ <td>
46
+ <a class="item-name item-anchor" href="#{{ item.name|slugify }}" tabindex="-1" id="{{ item.name|slugify }}" title="Link to this setting">
47
+ {% include "unfold/helpers/label.html" with text=item.name type="info" %}
48
+ </a>
49
+ </td>
50
+
51
+ <td>
52
+ {% include "unfold/helpers/boolean.html" with value=item.modified %}
53
+ </td>
54
+
55
+ <td class="w-px">
56
+ {% if not item.is_file %}
57
+ <a href="#"
58
+ tabindex="-1"
59
+ class="flex items-center gap-1 reset-link whitespace-nowrap"
60
+ data-default="{% spaceless %}{% if item.is_checkbox %}{% if item.raw_default %} true {% else %} false {% endif %}{% elif item.is_date %}{{ item.raw_default|date:"U" }}{% elif item.is_datetime %}{{ item.raw_default|date:"U" }}{% else %}{{ item.default }}{% endif %}{% endspaceless %}"
61
+ data-field-type="{% spaceless %}{% if item.is_checkbox %}checkbox{% elif item.is_datetime %}datetime{% elif item.is_date %}date{% endif %}{% endspaceless %}"
62
+ data-field-id="{{ item.form_field.auto_id }}">
63
+ <span class="material-symbols-outlined text-base-400 hover:text-base-700 dark:border-base-700 dark:text-base-500 dark:hover:text-base-200" title="{% trans "Reset to default" %}">
64
+ refresh
65
+ </span>
66
+ </a>
67
+ {% endif %}
68
+ </td>
69
+ </tr>
70
+ {% endfor %}
71
+ </tbody>
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  {% else %}
28
28
  <div class="admin-numeric-filter-slider-error dark:text-font-default-dark">
29
- <p>
29
+ <p class="border border-base-300 border-dashed leading-[36px] h-[38px] rounded-default text-center dark:border-base-700">
30
30
  {% trans 'Not enough data.' %}
31
31
  </p>
32
32
  </div>
@@ -2,30 +2,6 @@
2
2
 
3
3
  {% load admin_urls i18n guardian_tags %}
4
4
 
5
- {% block breadcrumbs %}{% if not is_popup %}
6
- <div class="px-4">
7
- <div class="container mb-6 mx-auto -my-3 lg:mb-12">
8
- <ul class="flex flex-wrap">
9
- {% url 'admin:index' as link %}
10
- {% trans 'Home' as name %}
11
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=name %}
12
-
13
- {% url 'admin:app_list' app_label=opts.app_label as link %}
14
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=opts.app_config.verbose_name %}
15
-
16
- {% url opts|admin_urlname:'changelist' as link %}
17
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=opts.verbose_name_plural|capfirst %}
18
-
19
- {% url opts|admin_urlname:'change' object.pk|admin_urlquote as link %}
20
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=original|truncatewords:'18' %}
21
-
22
- {% trans 'Object permissions' as name %}
23
- {% include 'unfold/helpers/breadcrumb_item.html' with link='' name=name %}
24
- </ul>
25
- </div>
26
- </div>
27
- {% endif %}{% endblock %}
28
-
29
5
  {% block content %}
30
6
  {% include "unfold/guardian/user_form.html" %}
31
7
 
@@ -5,32 +5,6 @@
5
5
  {{ form.media }}
6
6
  {% endblock %}
7
7
 
8
- {% block breadcrumbs %}{% if not is_popup %}
9
- <div class="px-4">
10
- <div class="container mb-6 mx-auto -my-3 lg:mb-12">
11
- <ul class="flex flex-wrap">
12
- {% url 'admin:index' as link %}
13
- {% trans 'Home' as name %}
14
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=name %}
15
-
16
- {% url 'admin:app_list' app_label=opts.app_label as link %}
17
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=opts.app_config.verbose_name %}
18
-
19
- {% url opts|admin_urlname:'changelist' as link %}
20
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=opts.verbose_name_plural|capfirst %}
21
-
22
- {% url opts|admin_urlname:'change' object.pk|admin_urlquote as link %}
23
- {% include 'unfold/helpers/breadcrumb_item.html' with link=link name=original|truncatewords:'18' %}
24
-
25
- {% trans 'Object permissions' as name %}
26
- {% include 'unfold/helpers/breadcrumb_item.html' with link="../../" name=name %}
27
-
28
- {% include 'unfold/helpers/breadcrumb_item.html' with link='' name=group_obj|truncatewords:"18" %}
29
- </ul>
30
- </div>
31
- </div>
32
- {% endif %}{% endblock %}
33
-
34
8
  {% block content %}
35
9
  <div class="border border-base-200 overflow-hidden rounded-default p-3 shadow-xs dark:border-base-800">
36
10
  <form method="post">