accrete 0.0.80__tar.gz → 0.0.82__tar.gz

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 (238) hide show
  1. {accrete-0.0.80 → accrete-0.0.82}/PKG-INFO +2 -1
  2. accrete-0.0.82/accrete/contrib/tags/admin.py +12 -0
  3. accrete-0.0.82/accrete/contrib/tags/apps.py +6 -0
  4. accrete-0.0.82/accrete/contrib/tags/migrations/0001_initial.py +42 -0
  5. accrete-0.0.82/accrete/contrib/tags/models.py +50 -0
  6. accrete-0.0.82/accrete/contrib/tags/views.py +3 -0
  7. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/context.py +2 -11
  8. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/css/accrete.css +7 -2
  9. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/css/accrete.css.map +1 -1
  10. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/css/accrete.scss +10 -2
  11. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/layout.html +1 -1
  12. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/list.html +4 -1
  13. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/header.html +1 -1
  14. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/modal.html +2 -2
  15. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templatetags/accrete_ui.py +11 -1
  16. accrete-0.0.82/accrete/contrib/user_registration/migrations/__init__.py +0 -0
  17. accrete-0.0.82/accrete/contrib/user_registration/tests.py +3 -0
  18. accrete-0.0.82/accrete/migrations/__init__.py +0 -0
  19. {accrete-0.0.80 → accrete-0.0.82}/accrete/models.py +8 -3
  20. accrete-0.0.82/accrete/utils/__init__.py +14 -0
  21. {accrete-0.0.80 → accrete-0.0.82}/accrete/utils/forms.py +2 -2
  22. {accrete-0.0.80 → accrete-0.0.82}/accrete/utils/http.py +29 -0
  23. {accrete-0.0.80 → accrete-0.0.82}/pyproject.toml +2 -1
  24. accrete-0.0.80/accrete/utils/__init__.py +0 -4
  25. {accrete-0.0.80 → accrete-0.0.82}/.gitignore +0 -0
  26. {accrete-0.0.80 → accrete-0.0.82}/LICENSE +0 -0
  27. {accrete-0.0.80 → accrete-0.0.82}/README.md +0 -0
  28. {accrete-0.0.80 → accrete-0.0.82}/accrete/__init__.py +0 -0
  29. {accrete-0.0.80 → accrete-0.0.82}/accrete/admin.py +0 -0
  30. {accrete-0.0.80 → accrete-0.0.82}/accrete/annotation.py +0 -0
  31. {accrete-0.0.80 → accrete-0.0.82}/accrete/apps.py +0 -0
  32. {accrete-0.0.80 → accrete-0.0.82}/accrete/config.py +0 -0
  33. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/__init__.py +0 -0
  34. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/__init__.py +0 -0
  35. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/admin.py +0 -0
  36. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/apps.py +0 -0
  37. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/forms.py +0 -0
  38. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/migrations/0001_initial.py +0 -0
  39. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/migrations/0002_alter_sequence_name.py +0 -0
  40. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/migrations/__init__.py +0 -0
  41. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/models.py +0 -0
  42. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/queries.py +0 -0
  43. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/tests.py +0 -0
  44. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/sequence/views.py +0 -0
  45. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/__init__.py +0 -0
  46. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/admin.py +0 -0
  47. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/apps.py +0 -0
  48. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/forms.py +0 -0
  49. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/migrations/0001_initial.py +0 -0
  50. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/migrations/__init__.py +0 -0
  51. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/models.py +0 -0
  52. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/tasks.py +0 -0
  53. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/tests.py +0 -0
  54. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/system_mail/views.py +0 -0
  55. {accrete-0.0.80/accrete/contrib/ui/migrations → accrete-0.0.82/accrete/contrib/tags}/__init__.py +0 -0
  56. {accrete-0.0.80/accrete/contrib/ui/templatetags → accrete-0.0.82/accrete/contrib/tags/migrations}/__init__.py +0 -0
  57. {accrete-0.0.80/accrete/contrib/ui → accrete-0.0.82/accrete/contrib/tags}/tests.py +0 -0
  58. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/__init__.py +0 -0
  59. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/admin.py +0 -0
  60. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/apps.py +0 -0
  61. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/elements.py +0 -0
  62. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/filter.py +0 -0
  63. {accrete-0.0.80/accrete/contrib/user → accrete-0.0.82/accrete/contrib/ui/migrations}/__init__.py +0 -0
  64. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/LICENSE +0 -0
  65. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/README.md +0 -0
  66. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/bulma.scss +0 -0
  67. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/bulma.css +0 -0
  68. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/bulma.css.map +0 -0
  69. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/bulma.min.css +0 -0
  70. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css +0 -0
  71. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css.map +0 -0
  72. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css +0 -0
  73. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css.map +0 -0
  74. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css +0 -0
  75. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css.map +0 -0
  76. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css +0 -0
  77. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css.map +0 -0
  78. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/package.json +0 -0
  79. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/_index.scss +0 -0
  80. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/base/_index.scss +0 -0
  81. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/base/animations.scss +0 -0
  82. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/base/generic.scss +0 -0
  83. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/base/minireset.scss +0 -0
  84. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/base/skeleton.scss +0 -0
  85. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/_index.scss +0 -0
  86. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/breadcrumb.scss +0 -0
  87. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/card.scss +0 -0
  88. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/dropdown.scss +0 -0
  89. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/menu.scss +0 -0
  90. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/message.scss +0 -0
  91. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/modal.scss +0 -0
  92. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/navbar.scss +0 -0
  93. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/pagination.scss +0 -0
  94. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/panel.scss +0 -0
  95. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/components/tabs.scss +0 -0
  96. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/_index.scss +0 -0
  97. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/block.scss +0 -0
  98. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/box.scss +0 -0
  99. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/button.scss +0 -0
  100. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/content.scss +0 -0
  101. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/delete.scss +0 -0
  102. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/icon.scss +0 -0
  103. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/image.scss +0 -0
  104. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/loader.scss +0 -0
  105. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/notification.scss +0 -0
  106. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/progress.scss +0 -0
  107. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/table.scss +0 -0
  108. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/tag.scss +0 -0
  109. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/elements/title.scss +0 -0
  110. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/_index.scss +0 -0
  111. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.scss +0 -0
  112. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/file.scss +0 -0
  113. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/input-textarea.scss +0 -0
  114. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/select.scss +0 -0
  115. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/shared.scss +0 -0
  116. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/form/tools.scss +0 -0
  117. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/grid/_index.scss +0 -0
  118. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/grid/columns-v2.scss +0 -0
  119. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/grid/columns.scss +0 -0
  120. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/grid/grid.scss +0 -0
  121. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/_index.scss +0 -0
  122. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.scss +0 -0
  123. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/border.scss +0 -0
  124. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/color.scss +0 -0
  125. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/flexbox.scss +0 -0
  126. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/float.scss +0 -0
  127. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/gap.scss +0 -0
  128. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/other.scss +0 -0
  129. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/overflow.scss +0 -0
  130. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/position.scss +0 -0
  131. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/spacing.scss +0 -0
  132. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/typography.scss +0 -0
  133. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/helpers/visibility.scss +0 -0
  134. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/_index.scss +0 -0
  135. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/container.scss +0 -0
  136. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/footer.scss +0 -0
  137. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/hero.scss +0 -0
  138. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/level.scss +0 -0
  139. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/media.scss +0 -0
  140. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/layout/section.scss +0 -0
  141. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/themes/_index.scss +0 -0
  142. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/themes/dark.scss +0 -0
  143. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/themes/light.scss +0 -0
  144. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/themes/setup.scss +0 -0
  145. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/_index.scss +0 -0
  146. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/controls.scss +0 -0
  147. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/css-variables.scss +0 -0
  148. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.scss +0 -0
  149. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/extends.scss +0 -0
  150. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/functions.scss +0 -0
  151. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.scss +0 -0
  152. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/sass/utilities/mixins.scss +0 -0
  153. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.scss +0 -0
  154. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.scss +0 -0
  155. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.scss +0 -0
  156. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/bulma/versions/bulma-prefixed.scss +0 -0
  157. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/css/fa.css +0 -0
  158. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/css/icons.css +0 -0
  159. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/icons/Logo.svg +0 -0
  160. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/icons/accrete.svg +0 -0
  161. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/js/filter.js +0 -0
  162. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/js/htmx.min.js +0 -0
  163. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/js/ui.js +0 -0
  164. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-brands-400.ttf +0 -0
  165. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-brands-400.woff2 +0 -0
  166. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-regular-400.ttf +0 -0
  167. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-regular-400.woff2 +0 -0
  168. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-solid-900.ttf +0 -0
  169. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-solid-900.woff2 +0 -0
  170. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.ttf +0 -0
  171. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.woff2 +0 -0
  172. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/attrs.html +0 -0
  173. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/email.html +0 -0
  174. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/file.html +0 -0
  175. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/input.html +0 -0
  176. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/select.html +0 -0
  177. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/text.html +0 -0
  178. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/django/forms/widgets/textarea.html +0 -0
  179. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/dashboard.html +0 -0
  180. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/detail.html +0 -0
  181. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/form.html +0 -0
  182. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/filter.html +0 -0
  183. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/form_errors.html +0 -0
  184. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/modal_form.html +0 -0
  185. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/onchange_form.html +0 -0
  186. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/pagination_detail.html +0 -0
  187. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/pagination_list.html +0 -0
  188. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/table_field.html +0 -0
  189. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/table_field_float.html +0 -0
  190. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/table_field_monetary.html +0 -0
  191. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/partials/table_field_string.html +0 -0
  192. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/templates/ui/table.html +0 -0
  193. {accrete-0.0.80/accrete/contrib/user/migrations → accrete-0.0.82/accrete/contrib/ui/templatetags}/__init__.py +0 -0
  194. {accrete-0.0.80/accrete/contrib/user → accrete-0.0.82/accrete/contrib/ui}/tests.py +0 -0
  195. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/urls.py +0 -0
  196. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/ui/views.py +0 -0
  197. {accrete-0.0.80/accrete/contrib/user_registration → accrete-0.0.82/accrete/contrib/user}/__init__.py +0 -0
  198. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/admin.py +0 -0
  199. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/apps.py +0 -0
  200. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/forms.py +0 -0
  201. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/locale/de/LC_MESSAGES/django.mo +0 -0
  202. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/locale/de/LC_MESSAGES/django.po +0 -0
  203. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/middleware.py +0 -0
  204. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/migrations/0001_initial.py +0 -0
  205. {accrete-0.0.80/accrete/contrib/user_registration → accrete-0.0.82/accrete/contrib/user}/migrations/__init__.py +0 -0
  206. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/models.py +0 -0
  207. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/accrete_navbar_end_dropdown.html +0 -0
  208. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/change_email.html +0 -0
  209. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/change_password.html +0 -0
  210. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/login.html +0 -0
  211. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/user_detail.html +0 -0
  212. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/templates/user/user_form.html +0 -0
  213. {accrete-0.0.80/accrete/contrib/user_registration → accrete-0.0.82/accrete/contrib/user}/tests.py +0 -0
  214. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/urls.py +0 -0
  215. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user/views.py +0 -0
  216. {accrete-0.0.80/accrete/migrations → accrete-0.0.82/accrete/contrib/user_registration}/__init__.py +0 -0
  217. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/admin.py +0 -0
  218. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/apps.py +0 -0
  219. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/config.py +0 -0
  220. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/forms.py +0 -0
  221. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/migrations/0001_initial.py +0 -0
  222. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/models.py +0 -0
  223. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/templates/user_registration/mail_templates/confirmation_mail.html +0 -0
  224. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/templates/user_registration/registration.html +0 -0
  225. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/urls.py +0 -0
  226. {accrete-0.0.80 → accrete-0.0.82}/accrete/contrib/user_registration/views.py +0 -0
  227. {accrete-0.0.80 → accrete-0.0.82}/accrete/forms.py +0 -0
  228. {accrete-0.0.80 → accrete-0.0.82}/accrete/managers.py +0 -0
  229. {accrete-0.0.80 → accrete-0.0.82}/accrete/middleware.py +0 -0
  230. {accrete-0.0.80 → accrete-0.0.82}/accrete/migrations/0001_initial.py +0 -0
  231. {accrete-0.0.80 → accrete-0.0.82}/accrete/migrations/0002_initial.py +0 -0
  232. {accrete-0.0.80 → accrete-0.0.82}/accrete/storage.py +0 -0
  233. {accrete-0.0.80 → accrete-0.0.82}/accrete/tenant.py +0 -0
  234. {accrete-0.0.80 → accrete-0.0.82}/accrete/tests.py +0 -0
  235. {accrete-0.0.80 → accrete-0.0.82}/accrete/urls.py +0 -0
  236. {accrete-0.0.80 → accrete-0.0.82}/accrete/utils/dates.py +0 -0
  237. {accrete-0.0.80 → accrete-0.0.82}/accrete/utils/models.py +0 -0
  238. {accrete-0.0.80 → accrete-0.0.82}/accrete/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: accrete
3
- Version: 0.0.80
3
+ Version: 0.0.82
4
4
  Summary: Django Shared Schema Multi Tenant
5
5
  Author-email: Benedikt Jilek <benedikt.jilek@pm.me>
6
6
  License: Copyright (c) 2023 Benedikt Jilek
@@ -35,6 +35,7 @@ Requires-Dist: django>=4.2
35
35
  Provides-Extra: contrib
36
36
  Requires-Dist: celery>=5.3.4; extra == 'contrib'
37
37
  Requires-Dist: django-celery-beat; extra == 'contrib'
38
+ Requires-Dist: django-template-partials; extra == 'contrib'
38
39
  Requires-Dist: sqlalchemy; extra == 'contrib'
39
40
  Provides-Extra: dev
40
41
  Requires-Dist: build; extra == 'dev'
@@ -0,0 +1,12 @@
1
+ from django.contrib import admin
2
+ from .models import Tag
3
+ from accrete.models import TenantManager
4
+
5
+
6
+ class TagAdmin(admin.ModelAdmin):
7
+ model = Tag
8
+ list_display = ('name', 'color', 'tag_group', 'tenant')
9
+ search_fields = ('name', 'tag_group', 'tenant__name')
10
+
11
+
12
+ admin.site.register(Tag, TagAdmin)
@@ -0,0 +1,6 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class TagsConfig(AppConfig):
5
+ default_auto_field = 'django.db.models.BigAutoField'
6
+ name = 'accrete.contrib.tags'
@@ -0,0 +1,42 @@
1
+ # Generated by Django 5.0.7 on 2024-08-01 05:28
2
+
3
+ import accrete.annotation
4
+ import django.db.models.deletion
5
+ from django.db import migrations, models
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+
10
+ initial = True
11
+
12
+ dependencies = [
13
+ ('accrete', '0002_initial'),
14
+ ]
15
+
16
+ operations = [
17
+ migrations.CreateModel(
18
+ name='Tag',
19
+ fields=[
20
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
21
+ ('name', models.CharField(max_length=50, verbose_name='Name')),
22
+ ('color', models.CharField(max_length=7, verbose_name='Color')),
23
+ ('tag_group', models.CharField(max_length=255, verbose_name='Group')),
24
+ ('tenant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='accrete.tenant')),
25
+ ],
26
+ options={
27
+ 'verbose_name': 'Tag',
28
+ 'verbose_name_plural': 'Tags',
29
+ 'db_table': 'accrete_tag',
30
+ 'default_related_name': 'tags',
31
+ },
32
+ bases=(models.Model, accrete.annotation.AnnotationModelMixin),
33
+ ),
34
+ migrations.AddConstraint(
35
+ model_name='tag',
36
+ constraint=models.UniqueConstraint(fields=('tenant', 'name'), name='unique_tag_name_per_tenant'),
37
+ ),
38
+ migrations.AddConstraint(
39
+ model_name='tag',
40
+ constraint=models.UniqueConstraint(fields=('tenant', 'tag_group'), name='unique_tag_group_per_tenant'),
41
+ ),
42
+ ]
@@ -0,0 +1,50 @@
1
+ from django.db import models
2
+ from django.utils.translation import gettext_lazy as _
3
+ from accrete.models import TenantModel
4
+ from accrete.managers import TenantManager
5
+ from accrete.tenant import get_tenant
6
+
7
+
8
+ class TagManager(TenantManager):
9
+
10
+ def get_queryset(self):
11
+ queryset = super().get_queryset()
12
+ if group := not getattr(self.model, 'tag_group', None):
13
+ print(group)
14
+ if group := getattr(self.model, 'tag_group', False) and get_tenant():
15
+ return queryset.filter(tag_group=group)
16
+ return queryset
17
+
18
+
19
+ class Tag(TenantModel):
20
+
21
+ class Meta:
22
+ verbose_name = _('Tag')
23
+ verbose_name_plural = _('Tags')
24
+ db_table = 'accrete_tag'
25
+ default_related_name = 'tags'
26
+ constraints= [
27
+ models.UniqueConstraint(
28
+ fields=['tenant', 'name'], name='unique_tag_name_per_tenant'
29
+ ),
30
+ models.UniqueConstraint(
31
+ fields=['tenant', 'tag_group'], name='unique_tag_group_per_tenant'
32
+ )
33
+ ]
34
+
35
+ objects = TagManager()
36
+
37
+ name = models.CharField(
38
+ verbose_name=_('Name'),
39
+ max_length=50
40
+ )
41
+
42
+ color = models.CharField(
43
+ verbose_name=_('Color'),
44
+ max_length=7
45
+ )
46
+
47
+ tag_group = models.CharField(
48
+ verbose_name=_('Group'),
49
+ max_length=255
50
+ )
@@ -0,0 +1,3 @@
1
+ from django.shortcuts import render
2
+
3
+ # Create your views here.
@@ -4,7 +4,7 @@ from urllib.parse import quote_plus
4
4
  from uuid import uuid4
5
5
  from dataclasses import dataclass, field
6
6
  from functools import partial
7
- from typing import Type, TypedDict, Callable
7
+ from typing import Type, TypedDict
8
8
  from django.utils.translation import gettext_lazy as _t
9
9
  from django.db import models
10
10
  from django.db.models import Model, QuerySet
@@ -12,6 +12,7 @@ from django.core.paginator import Paginator
12
12
  from django.core import paginator, exceptions
13
13
  from django.forms import Form, ModelForm
14
14
  from accrete.annotation import Annotation
15
+ from accrete.utils.http import cast_param
15
16
  from .elements import (
16
17
  ClientAction, BreadCrumb, TableField, TableFieldType, TableFieldAlignment,
17
18
  ClientActionGroup
@@ -210,16 +211,6 @@ class ModalContext(BaseContext):
210
211
  self.modal_id = f'modal{str(uuid4())[:8]}'
211
212
 
212
213
 
213
- def cast_param(params: dict, param: str, cast_to: Callable, default):
214
- if param not in params:
215
- return default
216
- try:
217
- return cast_to(params.get(param, default))
218
- except Exception as e:
219
- _logger.exception(e)
220
- return default
221
-
222
-
223
214
  def url_param_dict(get_params: dict) -> dict:
224
215
  return {
225
216
  key: f'&{key}={quote_plus(value)}'
@@ -20616,7 +20616,7 @@ td {
20616
20616
  height: 100%;
20617
20617
  display: flex;
20618
20618
  flex-direction: column;
20619
- justify-content: end;
20619
+ justify-content: start;
20620
20620
  font-weight: 300;
20621
20621
  word-break: break-word;
20622
20622
  padding: 12px 12px 12px 0;
@@ -20923,7 +20923,12 @@ select:focus {
20923
20923
 
20924
20924
  .card-header-icon:has(span.icon):hover {
20925
20925
  background: var(--accrete-hover-color);
20926
- border-radius: var(--bulma-radius-small);
20926
+ border-radius: 0;
20927
+ }
20928
+
20929
+ .card-header-icon:has(span.icon):last-of-type:hover {
20930
+ background: var(--accrete-hover-color);
20931
+ border-top-right-radius: var(--bulma-radius-large);
20927
20932
  }
20928
20933
 
20929
20934
  .dropdown.is-active * .side-panel-action-content {