accrete 0.0.159__tar.gz → 0.0.160__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 (306) hide show
  1. {accrete-0.0.159 → accrete-0.0.160}/PKG-INFO +1 -1
  2. {accrete-0.0.159 → accrete-0.0.160}/accrete/consumer.py +5 -2
  3. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/queries.py +2 -2
  4. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/response.py +7 -0
  5. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/css/accrete.css +8 -2
  6. accrete-0.0.160/accrete/contrib/ui/static/css/accrete.css.map +7 -0
  7. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/css/accrete.scss +10 -2
  8. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/layout.html +2 -2
  9. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/table.html +15 -14
  10. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/templatetags/field.html +0 -12
  11. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/widgets/model_search_select.html +1 -1
  12. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/widgets/model_search_select_multi.html +7 -5
  13. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templatetags/ui.py +9 -6
  14. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/widgets/search_select.py +0 -6
  15. {accrete-0.0.159 → accrete-0.0.160}/accrete/managers.py +1 -1
  16. {accrete-0.0.159 → accrete-0.0.160}/accrete/middleware.py +8 -3
  17. {accrete-0.0.159 → accrete-0.0.160}/accrete/models.py +2 -2
  18. {accrete-0.0.159 → accrete-0.0.160}/pyproject.toml +1 -1
  19. accrete-0.0.159/accrete/contrib/ui/static/css/accrete.css.map +0 -7
  20. {accrete-0.0.159 → accrete-0.0.160}/.gitignore +0 -0
  21. {accrete-0.0.159 → accrete-0.0.160}/LICENSE +0 -0
  22. {accrete-0.0.159 → accrete-0.0.160}/README.md +0 -0
  23. {accrete-0.0.159 → accrete-0.0.160}/accrete/__init__.py +0 -0
  24. {accrete-0.0.159 → accrete-0.0.160}/accrete/admin.py +0 -0
  25. {accrete-0.0.159 → accrete-0.0.160}/accrete/apps.py +0 -0
  26. {accrete-0.0.159 → accrete-0.0.160}/accrete/channels.py +0 -0
  27. {accrete-0.0.159 → accrete-0.0.160}/accrete/config.py +0 -0
  28. {accrete-0.0.159 → accrete-0.0.160}/accrete/context_processors.py +0 -0
  29. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/__init__.py +0 -0
  30. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/__init__.py +0 -0
  31. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/admin.py +0 -0
  32. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/apps.py +0 -0
  33. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/migrations/0001_initial.py +0 -0
  34. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/migrations/0002_auto_20250219_1759.py +0 -0
  35. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/migrations/0003_alter_country_options.py +0 -0
  36. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/migrations/__init__.py +0 -0
  37. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/country/models.py +0 -0
  38. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/__init__.py +0 -0
  39. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/admin.py +0 -0
  40. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/apps.py +0 -0
  41. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/config.py +0 -0
  42. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/helper.py +0 -0
  43. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0001_initial.py +0 -0
  44. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0002_log_user_alter_log_new_value_type_and_more.py +0 -0
  45. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0003_alter_log_tenant.py +0 -0
  46. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0004_logconfig_logconfigfield.py +0 -0
  47. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0005_logconfig_exclude_fields_and_more.py +0 -0
  48. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0006_remove_log_accrete_log_model_cf888c_idx_and_more.py +0 -0
  49. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/0007_alter_log_new_value_type_alter_log_old_value_type.py +0 -0
  50. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/migrations/__init__.py +0 -0
  51. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/models.py +0 -0
  52. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/queries.py +0 -0
  53. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/signals.py +0 -0
  54. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/tests.py +0 -0
  55. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/log/views.py +0 -0
  56. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/__init__.py +0 -0
  57. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/admin.py +0 -0
  58. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/apps.py +0 -0
  59. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/forms.py +0 -0
  60. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/migrations/0001_initial.py +0 -0
  61. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/migrations/0002_alter_sequence_name.py +0 -0
  62. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/migrations/0003_alter_sequence_tenant.py +0 -0
  63. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/migrations/__init__.py +0 -0
  64. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/models.py +0 -0
  65. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/tests.py +0 -0
  66. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/sequence/views.py +0 -0
  67. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/__init__.py +0 -0
  68. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/admin.py +0 -0
  69. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/apps.py +0 -0
  70. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/forms.py +0 -0
  71. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/migrations/0001_initial.py +0 -0
  72. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/migrations/__init__.py +0 -0
  73. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/models.py +0 -0
  74. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/tasks.py +0 -0
  75. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/tests.py +0 -0
  76. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/system_mail/views.py +0 -0
  77. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/__init__.py +0 -0
  78. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/admin.py +0 -0
  79. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/apps.py +0 -0
  80. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/config.py +0 -0
  81. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/filter.py +0 -0
  82. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/forms.py +0 -0
  83. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/middleware.py +0 -0
  84. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/0001_initial.py +0 -0
  85. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/0002_alter_theme_color_danger_alter_theme_color_link_and_more.py +0 -0
  86. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/0003_alter_theme_check_user_or_tenant.py +0 -0
  87. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/0004_theme_force_tenant_theme.py +0 -0
  88. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/0005_theme_base_theme.py +0 -0
  89. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/migrations/__init__.py +0 -0
  90. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/models.py +0 -0
  91. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/LICENSE +0 -0
  92. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/README.md +0 -0
  93. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/bulma.scss +0 -0
  94. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/bulma.css +0 -0
  95. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/bulma.css.map +0 -0
  96. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/bulma.min.css +0 -0
  97. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css +0 -0
  98. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css.map +0 -0
  99. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css +0 -0
  100. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css +0 -0
  101. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css.map +0 -0
  102. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css +0 -0
  103. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css +0 -0
  104. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css.map +0 -0
  105. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css +0 -0
  106. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.css +0 -0
  107. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.css.map +0 -0
  108. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css +0 -0
  109. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/package.json +0 -0
  110. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/_index.scss +0 -0
  111. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/base/_index.scss +0 -0
  112. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/base/animations.scss +0 -0
  113. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/base/generic.scss +0 -0
  114. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/base/minireset.scss +0 -0
  115. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/base/skeleton.scss +0 -0
  116. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/_index.scss +0 -0
  117. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/breadcrumb.scss +0 -0
  118. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/card.scss +0 -0
  119. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/dropdown.scss +0 -0
  120. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/menu.scss +0 -0
  121. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/message.scss +0 -0
  122. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/modal.scss +0 -0
  123. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/navbar.scss +0 -0
  124. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/pagination.scss +0 -0
  125. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/panel.scss +0 -0
  126. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/components/tabs.scss +0 -0
  127. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/_index.scss +0 -0
  128. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/block.scss +0 -0
  129. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/box.scss +0 -0
  130. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/button.scss +0 -0
  131. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/content.scss +0 -0
  132. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/delete.scss +0 -0
  133. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/icon.scss +0 -0
  134. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/image.scss +0 -0
  135. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/loader.scss +0 -0
  136. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/notification.scss +0 -0
  137. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/progress.scss +0 -0
  138. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/table.scss +0 -0
  139. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/tag.scss +0 -0
  140. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/elements/title.scss +0 -0
  141. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/_index.scss +0 -0
  142. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.scss +0 -0
  143. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/file.scss +0 -0
  144. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/input-textarea.scss +0 -0
  145. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/select.scss +0 -0
  146. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/shared.scss +0 -0
  147. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/form/tools.scss +0 -0
  148. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/grid/_index.scss +0 -0
  149. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/grid/columns.scss +0 -0
  150. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/grid/grid.scss +0 -0
  151. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/_index.scss +0 -0
  152. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.scss +0 -0
  153. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/border.scss +0 -0
  154. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/color.scss +0 -0
  155. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/flexbox.scss +0 -0
  156. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/float.scss +0 -0
  157. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/gap.scss +0 -0
  158. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/other.scss +0 -0
  159. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/overflow.scss +0 -0
  160. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/position.scss +0 -0
  161. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/spacing.scss +0 -0
  162. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/typography.scss +0 -0
  163. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/helpers/visibility.scss +0 -0
  164. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/_index.scss +0 -0
  165. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/container.scss +0 -0
  166. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/footer.scss +0 -0
  167. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/hero.scss +0 -0
  168. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/level.scss +0 -0
  169. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/media.scss +0 -0
  170. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/layout/section.scss +0 -0
  171. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/themes/_index.scss +0 -0
  172. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/themes/dark.scss +0 -0
  173. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/themes/light.scss +0 -0
  174. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/themes/setup.scss +0 -0
  175. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/_index.scss +0 -0
  176. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/controls.scss +0 -0
  177. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/css-variables.scss +0 -0
  178. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.scss +0 -0
  179. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/extends.scss +0 -0
  180. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/functions.scss +0 -0
  181. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.scss +0 -0
  182. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/sass/utilities/mixins.scss +0 -0
  183. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.scss +0 -0
  184. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.scss +0 -0
  185. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.scss +0 -0
  186. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/bulma/versions/bulma-prefixed.scss +0 -0
  187. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/css/fa.css +0 -0
  188. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/css/icons.css +0 -0
  189. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/icons/Logo.svg +0 -0
  190. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/icons/accrete.svg +0 -0
  191. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/alpine-3.14.9.js +0 -0
  192. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/alpine-focus-3.14.9.js +0 -0
  193. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/alpine-sort-3.14.9.js +0 -0
  194. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/filter.js +0 -0
  195. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/htmx.min.js +0 -0
  196. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/js/ws.js +0 -0
  197. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-brands-400.ttf +0 -0
  198. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-brands-400.woff2 +0 -0
  199. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-regular-400.ttf +0 -0
  200. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-regular-400.woff2 +0 -0
  201. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-solid-900.ttf +0 -0
  202. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-solid-900.woff2 +0 -0
  203. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.ttf +0 -0
  204. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.woff2 +0 -0
  205. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/attrs.html +0 -0
  206. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/date.html +0 -0
  207. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/email.html +0 -0
  208. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/file.html +0 -0
  209. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/input.html +0 -0
  210. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/radio.html +0 -0
  211. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/select.html +0 -0
  212. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/text.html +0 -0
  213. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/django/forms/widgets/textarea.html +0 -0
  214. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/content.html +0 -0
  215. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/content_right.html +0 -0
  216. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/custom_theme.html +0 -0
  217. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/detail.html +0 -0
  218. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/favicon.html +0 -0
  219. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/filter/filter.html +0 -0
  220. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/filter/query_input.html +0 -0
  221. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/filter/query_operator.html +0 -0
  222. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/filter/query_params.html +0 -0
  223. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/filter/query_tags.html +0 -0
  224. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/form_error.html +0 -0
  225. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/list.html +0 -0
  226. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/list_update.html +0 -0
  227. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/message.html +0 -0
  228. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/modal.html +0 -0
  229. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/oob.html +0 -0
  230. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/table_row_update.html +0 -0
  231. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/templatetags/tenant_quick_switch.html +0 -0
  232. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/widgets/date_weekday.html +0 -0
  233. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templates/ui/widgets/model_search_select_options.html +0 -0
  234. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/templatetags/__init__.py +0 -0
  235. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/tests.py +0 -0
  236. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/urls.py +0 -0
  237. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/views.py +0 -0
  238. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/widgets/__init__.py +0 -0
  239. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/ui/widgets/date_weekday.py +0 -0
  240. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/__init__.py +0 -0
  241. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/admin.py +0 -0
  242. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/apps.py +0 -0
  243. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/auth_backends.py +0 -0
  244. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/forms.py +0 -0
  245. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/locale/de/LC_MESSAGES/django.mo +0 -0
  246. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/locale/de/LC_MESSAGES/django.po +0 -0
  247. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/middleware.py +0 -0
  248. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0001_initial.py +0 -0
  249. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0002_user_theme.py +0 -0
  250. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0003_alter_user_email.py +0 -0
  251. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0004_user_login_alter_user_email_user_email_or_login_set.py +0 -0
  252. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0005_remove_user_email_or_login_set_and_more.py +0 -0
  253. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0006_remove_user_email_or_login_set_user_is_managed_and_more.py +0 -0
  254. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0007_user_managed_login.py +0 -0
  255. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0008_remove_user_no_email_for_managed_user_and_more.py +0 -0
  256. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0009_alter_user_theme.py +0 -0
  257. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0010_alter_user_theme.py +0 -0
  258. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/0011_alter_user_theme.py +0 -0
  259. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/migrations/__init__.py +0 -0
  260. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/models.py +0 -0
  261. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/accrete_navbar_end_dropdown.html +0 -0
  262. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/change_email.html +0 -0
  263. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/change_password.html +0 -0
  264. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/login.html +0 -0
  265. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/password_forgotten.html +0 -0
  266. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/templates/user/user_preferences.html +0 -0
  267. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/tests.py +0 -0
  268. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/urls.py +0 -0
  269. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user/views.py +0 -0
  270. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/__init__.py +0 -0
  271. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/admin.py +0 -0
  272. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/apps.py +0 -0
  273. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/config.py +0 -0
  274. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/forms.py +0 -0
  275. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/migrations/0001_initial.py +0 -0
  276. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/migrations/__init__.py +0 -0
  277. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/models.py +0 -0
  278. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/templates/user_registration/mail_templates/confirmation_mail.html +0 -0
  279. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/templates/user_registration/registration.html +0 -0
  280. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/tests.py +0 -0
  281. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/urls.py +0 -0
  282. {accrete-0.0.159 → accrete-0.0.160}/accrete/contrib/user_registration/views.py +0 -0
  283. {accrete-0.0.159 → accrete-0.0.160}/accrete/fields.py +0 -0
  284. {accrete-0.0.159 → accrete-0.0.160}/accrete/forms.py +0 -0
  285. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0001_initial.py +0 -0
  286. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0002_initial.py +0 -0
  287. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0003_remove_member_name.py +0 -0
  288. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0004_rename_accessgroupmember_memberaccessgrouprel_and_more.py +0 -0
  289. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0005_accessgroup_apply_on_alter_member_access_groups_and_more.py +0 -0
  290. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0006_alter_member_user.py +0 -0
  291. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0007_accessgroup_description.py +0 -0
  292. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0008_alter_member_access_groups_and_more.py +0 -0
  293. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0009_alter_accessgroup_name.py +0 -0
  294. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/0010_alter_accessgroup_description.py +0 -0
  295. {accrete-0.0.159 → accrete-0.0.160}/accrete/migrations/__init__.py +0 -0
  296. {accrete-0.0.159 → accrete-0.0.160}/accrete/storage.py +0 -0
  297. {accrete-0.0.159 → accrete-0.0.160}/accrete/tenant.py +0 -0
  298. {accrete-0.0.159 → accrete-0.0.160}/accrete/tests.py +0 -0
  299. {accrete-0.0.159 → accrete-0.0.160}/accrete/urls.py +0 -0
  300. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/__init__.py +0 -0
  301. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/dates.py +0 -0
  302. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/forms.py +0 -0
  303. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/log.py +0 -0
  304. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/models.py +0 -0
  305. {accrete-0.0.159 → accrete-0.0.160}/accrete/utils/views.py +0 -0
  306. {accrete-0.0.159 → accrete-0.0.160}/accrete/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: accrete
3
- Version: 0.0.159
3
+ Version: 0.0.160
4
4
  Summary: Django Shared Schema Multi Tenant
5
5
  Author-email: Benedikt Jilek <benedikt.jilek@pm.me>
6
6
  License: Copyright (c) 2025 Benedikt Jilek
@@ -14,5 +14,8 @@ class WebsocketTenantConsumer(WebsocketConsumer):
14
14
 
15
15
  class JsonWebsocketTenantConsumer(JsonWebsocketConsumer):
16
16
 
17
- pass
18
-
17
+ def websocket_connect(self, message):
18
+ tenant = get_tenant()
19
+ if tenant is None:
20
+ raise ValueError('Tenant must be set.')
21
+ super().websocket_connect(message)
@@ -9,13 +9,13 @@ def get_nextval(name: str, create_if_none:bool = True) -> int:
9
9
  tenant = get_tenant()
10
10
  with transaction.atomic():
11
11
  seq = Sequence.objects.filter(
12
- tenant=tenant, name=name
12
+ tenant_id=tenant.pk, name=name
13
13
  ).select_for_update().first()
14
14
 
15
15
  if seq is None and not create_if_none:
16
16
  raise ValueError(f'Sequence "{name}" does not exist.')
17
17
  elif seq is None:
18
- seq = Sequence(name=name, tenant=tenant)
18
+ seq = Sequence(name=name, tenant_id=tenant.pk)
19
19
  seq.save()
20
20
 
21
21
  nextval = seq.nextval
@@ -247,6 +247,7 @@ class TableResponse(WindowResponse):
247
247
  context: dict,
248
248
  fields: list[str],
249
249
  instance_label: str | Promise | None = None,
250
+ active_instance: Model = None,
250
251
  footer: dict = None,
251
252
  page: paginator.Page = None,
252
253
  ui_filter: Filter = None,
@@ -257,6 +258,7 @@ class TableResponse(WindowResponse):
257
258
  detail_header_template: str = None,
258
259
  detail_data_template: str = None,
259
260
  detail_enabled: bool = True,
261
+ can_compact: bool = True,
260
262
  config: WindowResponseConfig = None
261
263
  ):
262
264
  assert page is not None or ui_filter is not None, _(
@@ -271,6 +273,7 @@ class TableResponse(WindowResponse):
271
273
  config=config
272
274
  )
273
275
  self.instance_label = instance_label
276
+ self.active_instance = active_instance
274
277
  self.fields = fields
275
278
  self.footer = footer
276
279
  self.page = page or (ui_filter and ui_filter.get_page())
@@ -279,6 +282,7 @@ class TableResponse(WindowResponse):
279
282
  self.detail_header_template = detail_header_template
280
283
  self.detail_data_template = detail_data_template
281
284
  self.detail_enabled = detail_enabled
285
+ self.can_compact = can_compact
282
286
 
283
287
  def _has_panel(self):
284
288
  return bool(self.panel_template or self.ui_filter)
@@ -291,10 +295,12 @@ class TableResponse(WindowResponse):
291
295
  'endless_scroll': self.endless_scroll,
292
296
  'fields': self.fields,
293
297
  'instance_label': self.instance_label,
298
+ 'active_instance': self.active_instance,
294
299
  'footer': self.footer,
295
300
  'detail_header_template': self.detail_header_template,
296
301
  'detail_data_template': self.detail_data_template,
297
302
  'detail_enabled': self.detail_enabled,
303
+ 'can_compact': self.can_compact,
298
304
  'show_content_right': str(bool(
299
305
  self.detail_header_template or self.detail_data_template
300
306
  )).lower()
@@ -329,6 +335,7 @@ class TableRowResponse(Response):
329
335
  context = super().get_context()
330
336
  context.update({
331
337
  'instance': self.instance,
338
+ 'row_object': self.instance,
332
339
  'fields': self.fields,
333
340
  'instance_label': self.instance_label,
334
341
  'footer': self.footer,
@@ -52,17 +52,23 @@ a {
52
52
  border-bottom-color: transparent;
53
53
  border-left-color: transparent; }
54
54
 
55
+ .button.is-static.is-primary {
56
+ background-color: var(--bulma-primary);
57
+ color: var(--bulma-button-disabled-border-color); }
58
+
55
59
  .input:focus, .input:focus-within {
56
60
  box-shadow: none;
57
61
  border: 1px solid var(--bulma-primary); }
58
62
 
59
63
  input[disabled] {
60
- background-color: transparent !important;
61
- cursor: unset !important; }
64
+ cursor: default !important; }
62
65
 
63
66
  input[disabled] ~ .helptext {
64
67
  font-weight: normal !important; }
65
68
 
69
+ select[disabled] {
70
+ cursor: default !important; }
71
+
66
72
  textarea {
67
73
  box-shadow: none !important; }
68
74
 
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["accrete.scss"],
5
+ "names": [],
6
+ "file": "accrete.css"
7
+ }
@@ -70,20 +70,28 @@ a {
70
70
  border-left-color: transparent;
71
71
  }
72
72
 
73
+ .button.is-static.is-primary {
74
+ background-color: var(--bulma-primary);
75
+ color: var(--bulma-button-disabled-border-color);
76
+ }
77
+
73
78
  .input:focus, .input:focus-within {
74
79
  box-shadow: none;
75
80
  border: 1px solid var(--bulma-primary);
76
81
  }
77
82
 
78
83
  input[disabled] {
79
- background-color: transparent !important;
80
- cursor: unset !important;
84
+ cursor: default !important;
81
85
  }
82
86
 
83
87
  input[disabled] ~ .helptext {
84
88
  font-weight: normal !important;
85
89
  }
86
90
 
91
+ select[disabled] {
92
+ cursor: default !important;
93
+ }
94
+
87
95
  textarea {
88
96
  box-shadow: none!important;
89
97
  }
@@ -166,7 +166,7 @@
166
166
  {% if config.display_header %}
167
167
  <div id="overview-header">
168
168
  <div class="is-flex is-justify-content-space-between is-flex-wrap-wrap {% if is_centered %}container{% endif %}">
169
- <div class="is-flex is-flex-wrap-wrap is-flex-grow-5 is-align-self-center py-2 mx-1 header-items">
169
+ <div id="overview-header-items" class="is-flex is-flex-wrap-wrap is-flex-grow-5 is-align-self-center py-2 mx-1 header-items">
170
170
  {% block overview_header %}
171
171
  <div class="" style="align-self: center">
172
172
  <p class="title is-5">{{ title }}</p>
@@ -199,7 +199,7 @@
199
199
  <button id="pagination-next-button" class="button"
200
200
  hx-get="{% if page.has_next %}{% querystring page=page.next_page_number %}{% else %}{% querystring page=1 %}{% endif %}"
201
201
  hx-replace-url="true"
202
- hx-select-oob="#overview,#pagination,#overview-buttons"
202
+ hx-select-oob="#overview-header-items,#overview,#pagination,#overview-buttons"
203
203
  >
204
204
  &gt;
205
205
  </button>
@@ -3,7 +3,7 @@
3
3
  {% load partials %}
4
4
 
5
5
  {% block table %}
6
- <table id="content-table" class="table can-compact is-fullwidth is-hoverable is-narrow my-0" hx-indicator=".htmx-indicator" x-data="">
6
+ <table id="content-table" class="table is-fullwidth is-hoverable is-narrow my-0 {% if can_compact %}can-compact{% endif %}" style="{% if not can_compact %}white-space: nowrap{% endif %}" hx-indicator=".htmx-indicator" x-data="">
7
7
  <thead style="position: sticky; top: 0; z-index: 10; background-color: var(--bulma-scheme-main)">
8
8
  <tr>
9
9
  {% if instance_label %}<th>{{ instance_label }}</th>{% endif %}
@@ -13,24 +13,24 @@
13
13
  </tr>
14
14
  </thead>
15
15
  <tbody id="content-table-body" style="z-index: 9" x-ref="tbody">
16
- {% for instance in page.object_list %}
16
+ {% for row_object in page.object_list %}
17
17
  {% partialdef tr inline=True %}
18
- <tr id="tr-{{ instance.pk }}"
19
- {% if instance.get_absolute_url and detail_enabled %}
18
+ <tr id="tr-{{ row_object.pk }}"
19
+ {% if row_object.get_absolute_url and detail_enabled %}
20
20
  style="cursor: pointer;"
21
- hx-get="{{ instance.get_absolute_url }}{% querystring %}" hx-swap="none"
22
- hx-replace-url="{% querystring detail=instance.pk %}"
23
- x-data="{selected: false}" @unselect-tr.window="selected = false"
21
+ hx-get="{{ row_object.get_absolute_url }}{% querystring %}" hx-swap="none"
22
+ hx-replace-url="{% querystring detail=row_object.pk %}"
23
+ x-data="{selected: {% if row_object == active_instance %}true{% else %}false{% endif %}}" @unselect-tr.window="selected = false"
24
24
  x-on:click="$dispatch('unselect-tr'); selected = true; $nextTick(() => { $el.scrollIntoView( {block: 'nearest'} ) });" x-bind:class="selected ? 'is-primary' : ''"
25
25
  {% endif %}
26
26
  >
27
27
  {% partialdef td inline=True %}
28
- {% if instance_label %}<td>{{ instance }}</td>{% endif %}
28
+ {% if instance_label %}<td><span class="has-text-weight-bold">{{ row_object }}</span></td>{% endif %}
29
29
  {% for field in fields %}
30
- <td style="text-align: {{ instance|table_alignment:field }}">
30
+ <td style="text-align: {{ row_object|table_alignment:field }}">
31
31
  <span>
32
- <span class="responsive-heading has-text-weight-light" style="margin-right: .2rem">{{ instance|verbose_field_name:field }}:</span>
33
- {{ instance|table_display:field|default_if_none:'' }}
32
+ {% if can_compact %}<span class="responsive-heading has-text-weight-medium mr-2" style="margin-right: .2rem">{{ row_object|verbose_field_name:field }}:</span>{% endif %}
33
+ <span>{{ row_object|table_display:field|default_if_none:'' }}</span>
34
34
  </span>
35
35
  </td>
36
36
  {% endfor %}
@@ -59,19 +59,20 @@
59
59
  </tr>
60
60
  </tfoot>
61
61
  </table>
62
-
62
+ {% if endless_scroll %}
63
63
  <div id="endless-scroller"
64
64
  {% if page.has_next %}
65
65
  hx-get="{% querystring page=page.next_page_number %}"
66
66
  hx-trigger="intersect once"
67
- hx-select="tbody > tr"
67
+ hx-select="#content-table > tbody > tr"
68
68
  hx-target="#content-table-body"
69
69
  hx-swap="beforeend"
70
- hx-select-oob="#pagination-next-button,#pagination-end-index,#endless-scroller"
70
+ hx-select-oob="#overview-header-items,#pagination-next-button,#pagination-end-index,#endless-scroller"
71
71
  hx-indicator="#endless-scroll-indicator"
72
72
  hx-replace-url="true"
73
73
  {% endif %}
74
74
  >
75
75
  </div>
76
76
  <progress id="endless-scroll-indicator" class="htmx-indicator progress is-small is-primary" max="100">15%</progress>
77
+ {% endif %}
77
78
  {% endblock %}
@@ -57,15 +57,3 @@
57
57
  <span class="helptext is-size-7">{{ field.help_text|default_if_falsy:'' }}</span>
58
58
  </div>
59
59
  {% endpartialdef %}
60
-
61
- {% partialdef model_state %}
62
- <label class="label mb-0 {% if field.field.required %}has-text-weight-bold{% endif %}" for="{{ field.id_for_label }}">{{ label }}</label>
63
- <div class="field has-addons mb-0">
64
- {% if icon %}
65
- <p class="control">
66
- <button tabindex="-1" type="button" class="button is-static"><span class="icon"><i class="{{ icon }}"></i></span></button>
67
- </p>
68
- {% endif %}
69
- <div class="control input is-expanded">{{ value|default_if_none:'' }}</div>
70
- </div>
71
- {% endpartialdef %}
@@ -22,7 +22,7 @@
22
22
  hx-trigger="input changed delay:500ms, search" hx-target="#{{ widget.name }}_dropdown_items"
23
23
  style="border-radius: 0; border-top: none; border-right: none; border-left: none"
24
24
  >
25
- <div x-on:click="$refs.inputValue.setAttribute('value', $event.target.value); $refs.inputDisplay.value = $event.target.innerText; htmx.trigger($refs.inputValue, 'submit'); open = false; {% if widget.hx_trigger_on_change %}htmx.trigger('#id_{{ widget.name }}_value', 'change');{% endif %}"
25
+ <div x-on:click="$refs.inputValue.setAttribute('value', $event.target.value); $refs.inputDisplay.value = $event.target.innerText; htmx.trigger($refs.inputValue, 'submit'); open = false; htmx.trigger('#id_{{ widget.name }}_value', 'change');"
26
26
  x-on:keydown="if (![9, 27, 38, 40].includes($event.keyCode)) {$refs.searchInput.focus();}"
27
27
  @keyup.escape="if (open) {$event.stopPropagation();} open = false;"
28
28
  >
@@ -1,7 +1,7 @@
1
1
  {% load i18n %}
2
2
  {% load ui %}
3
3
 
4
- <div class="is-fullwidth" x-data="{open: false}"
4
+ <div class="is-fullwidth" x-data="{open: false, changed: false}"
5
5
  @click.outside="open = false" hx-disinherit="*" @keyup.escape="if (open) {$event.stopPropagation();} open = false;"
6
6
  x-on:keydown="if (!open && [38, 40].includes($event.keyCode)) {open = true};"
7
7
  >
@@ -21,7 +21,10 @@
21
21
  let val = $event.target.getAttribute('data-value');
22
22
  $refs.inputValue.querySelector(`option[value=${CSS.escape(val)}]`).remove();
23
23
  $event.target.parentElement.remove();
24
- $dispatch('change');
24
+ changed = true;
25
+ if (!open) {
26
+ htmx.trigger('#{{ widget.attrs.id }}', 'change');
27
+ }
25
28
  }
26
29
  "
27
30
  >
@@ -34,7 +37,7 @@
34
37
  </div>
35
38
  </div>
36
39
  <div style="position: relative; top: .5rem; z-index: 9">
37
- <div x-show="open" x-effect="if (open) {$nextTick(() => { $refs.dropdownContent.scrollIntoView(true) });}" class="box pt-3 px-3 mb-2" x-ref="dropdownContent" x-cloak="" tabindex="-1" x-transition style="position: absolute; width: 100%">
40
+ <div x-show="open" x-effect="if (open) {$nextTick(() => { $refs.dropdownContent.scrollIntoView(true) });} if(!open & changed) {htmx.trigger('#{{ widget.attrs.id }}', 'change');}" class="box pt-3 px-3 mb-2" x-ref="dropdownContent" x-cloak="" tabindex="-1" x-transition style="position: absolute; width: 100%">
38
41
  <input id="id_{{ widget.uuid }}_search" type="search" autocomplete="off" class="input mb-2" x-ref="searchInput" aria-label="search"
39
42
  name="{{ widget.search_parameter }}"
40
43
  placeholder="{% translate 'Type to search' %}"
@@ -63,10 +66,9 @@
63
66
  tag.appendChild(delButton);
64
67
  $refs.inputValue.appendChild(option);
65
68
  $refs.inputDisplayTags.appendChild(tag);
66
- $dispatch('change');
69
+ changed = true;
67
70
  }
68
71
  $refs.inputDisplay.focus();
69
- {% if widget.hx_trigger_on_change %}htmx.trigger('#{{ widget.attrs.id }}_value', 'change');{% endif %}
70
72
  "
71
73
  x-on:keydown="
72
74
  if ($event.keyCode == 27) {$event.stopPropagation; document.activeElement.blur()}
@@ -63,6 +63,8 @@ def get_attr_from_string(param: object, value: str):
63
63
  except (AttributeError,):
64
64
  _logger.warning(f'Object {param} has no attribute {value}')
65
65
  attribute = None
66
+ if attribute and callable(attribute):
67
+ attribute = attribute()
66
68
  return return_save(attribute)
67
69
 
68
70
 
@@ -112,6 +114,13 @@ def table_display(param: object, value: str):
112
114
  </div>
113
115
  </span>
114
116
  """)
117
+ try:
118
+ has_choices = param._meta.get_field(value).choices
119
+ except Exception as e:
120
+ _logger.error(repr(e))
121
+ has_choices = False
122
+ if has_choices:
123
+ value = f'get_{value}_display'
115
124
  return get_attr_from_string(param, value)
116
125
 
117
126
 
@@ -208,12 +217,6 @@ def wrap_model_field(instance, field_name):
208
217
  return mark_safe(html)
209
218
 
210
219
 
211
- @register.filter(name='wrap_model_state')
212
- def wrap_model_state(instance, field_name):
213
- field = instance._meta.get_field(field_name)
214
- # get choices, handle groups
215
-
216
-
217
220
  @register.filter(name='default_if_falsy')
218
221
  def default_if_falsy(value, default):
219
222
  if bool(value):
@@ -14,7 +14,6 @@ class ModelSearchSelect(widgets.NumberInput):
14
14
  search_kwargs: dict = None,
15
15
  search_parameter: str = 'search',
16
16
  limit: int | None = 5,
17
- hx_trigger_on_change: bool = False,
18
17
  choices=()
19
18
  ):
20
19
  super().__init__()
@@ -22,7 +21,6 @@ class ModelSearchSelect(widgets.NumberInput):
22
21
  self.search_kwargs = search_kwargs or {}
23
22
  self.search_parameter = search_parameter
24
23
  self.limit = limit
25
- self.hx_trigger_on_change = hx_trigger_on_change # trigger htmx request on change
26
24
  self.choices = choices
27
25
 
28
26
  def get_context(self, name, value, attrs):
@@ -42,7 +40,6 @@ class ModelSearchSelect(widgets.NumberInput):
42
40
  "template_name": self.template_name,
43
41
  'search_url': resolve_url(self.search_url, **self.search_kwargs),
44
42
  'search_parameter': self.search_parameter,
45
- 'hx_trigger_on_change': self.hx_trigger_on_change,
46
43
  'uuid': uuid
47
44
  },
48
45
  'options': qs
@@ -74,7 +71,6 @@ class ModelSearchSelectMulti(widgets.SelectMultiple):
74
71
  search_kwargs: dict = None,
75
72
  search_parameter: str = 'search',
76
73
  limit: int | None = 5,
77
- hx_trigger_on_change: bool = False,
78
74
  choices=()
79
75
  ):
80
76
  super().__init__()
@@ -82,7 +78,6 @@ class ModelSearchSelectMulti(widgets.SelectMultiple):
82
78
  self.search_kwargs = search_kwargs or {}
83
79
  self.search_parameter = search_parameter
84
80
  self.limit = limit
85
- self.hx_trigger_on_change = hx_trigger_on_change # trigger 'change' event on the actual input field
86
81
  self.choices = choices
87
82
 
88
83
  def get_context(self, name, value, attrs):
@@ -101,7 +96,6 @@ class ModelSearchSelectMulti(widgets.SelectMultiple):
101
96
  "template_name": self.template_name,
102
97
  'search_url': resolve_url(self.search_url, **self.search_kwargs),
103
98
  'search_parameter': self.search_parameter,
104
- 'hx_trigger_on_change': self.hx_trigger_on_change,
105
99
  'uuid': uuid
106
100
  },
107
101
  'options': qs,
@@ -8,7 +8,7 @@ class TenantManager(models.Manager):
8
8
  queryset = super().get_queryset()
9
9
  tenant = get_tenant()
10
10
  if tenant:
11
- queryset = queryset.filter(tenant=tenant)
11
+ queryset = queryset.filter(tenant_id=tenant.pk)
12
12
  return queryset
13
13
 
14
14
  def bulk_create(
@@ -45,7 +45,7 @@ class TenantMiddleware(MiddlewareMixin):
45
45
  request.member = memberships.first()
46
46
  request.tenant = request.member.tenant
47
47
  set_member(request.member)
48
- self.update_post_data(request)
48
+ self.update_request_data(request)
49
49
  return
50
50
  if membership_count > 1:
51
51
  set_member(None)
@@ -54,13 +54,18 @@ class TenantMiddleware(MiddlewareMixin):
54
54
  set_member(None)
55
55
  set_tenant(tenant)
56
56
  request.tenant = tenant
57
+ self.update_request_data(request)
57
58
  return
58
59
  set_member(None)
59
60
  return
60
61
 
61
62
  @staticmethod
62
- def update_post_data(request):
63
- if request.POST and not request.POST.get('tenant') and request.tenant:
63
+ def update_request_data(request):
64
+ if not request.tenant:
65
+ return
66
+ request.GET = request.GET.copy()
67
+ request.GET['tenant_id'] = request.tenant.pk
68
+ if request.POST and not request.POST.get('tenant'):
64
69
  request.POST = request.POST.copy()
65
70
  request.POST['tenant'] = request.tenant.pk
66
71
 
@@ -29,7 +29,7 @@ class TenantModel(models.Model):
29
29
  update_fields=None
30
30
  ):
31
31
  tenant = get_tenant()
32
- if self.pk and tenant and self.tenant != tenant:
32
+ if self.pk and tenant and self.tenant_id != tenant.pk:
33
33
  raise ValueError('Current tenant differs from tenant of the record!')
34
34
  if self.pk and not self.tenant and not tenant:
35
35
  raise ValueError(
@@ -38,7 +38,7 @@ class TenantModel(models.Model):
38
38
  'or set the tenant explicitly on the instance.'
39
39
  )
40
40
  if tenant:
41
- self.tenant = tenant
41
+ self.tenant_id = tenant.pk
42
42
  super().save(
43
43
  force_insert=force_insert,
44
44
  force_update=force_update,
@@ -4,7 +4,7 @@ build-backend = 'hatchling.build'
4
4
 
5
5
  [project]
6
6
  name = 'accrete'
7
- version = '0.0.159'
7
+ version = '0.0.160'
8
8
  authors = [
9
9
  { name='Benedikt Jilek', email='benedikt.jilek@pm.me' },
10
10
  ]
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "mappings": "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",
4
- "sources": ["accrete.scss"],
5
- "names": [],
6
- "file": "accrete.css"
7
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes