accrete 0.0.138__tar.gz → 0.0.139__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.
- {accrete-0.0.138 → accrete-0.0.139}/PKG-INFO +1 -1
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/__init__.py +2 -1
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/context.py +7 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/form_error.html +1 -1
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/layout.html +1 -1
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/list.html +5 -5
- accrete-0.0.139/accrete/contrib/ui/templates/ui/message.html +14 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/modal.html +2 -2
- accrete-0.0.139/accrete/contrib/user/migrations/0008_remove_user_no_email_for_managed_user_and_more.py +23 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/models.py +6 -6
- accrete-0.0.139/accrete/migrations/0006_alter_member_user.py +21 -0
- accrete-0.0.139/accrete/migrations/0007_accessgroup_description.py +18 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/models.py +7 -1
- {accrete-0.0.138 → accrete-0.0.139}/accrete/tenant.py +10 -6
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/views.py +3 -6
- {accrete-0.0.138 → accrete-0.0.139}/accrete/views.py +9 -4
- {accrete-0.0.138 → accrete-0.0.139}/pyproject.toml +1 -1
- accrete-0.0.138/accrete/contrib/ui/templates/ui/message.html +0 -13
- {accrete-0.0.138 → accrete-0.0.139}/.gitignore +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/LICENSE +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/README.md +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/config.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/context_processors.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/0002_auto_20250219_1759.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/0003_alter_country_options.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/config.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/helper.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0002_log_user_alter_log_new_value_type_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0003_alter_log_tenant.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0004_logconfig_logconfigfield.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0005_logconfig_exclude_fields_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/queries.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/signals.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/migrations/0002_alter_sequence_name.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/migrations/0003_alter_sequence_tenant.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/queries.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/tasks.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/system_mail/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/filter.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/middleware.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/LICENSE +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/README.md +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/bulma.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/bulma.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/bulma.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/bulma.min.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/package.json +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/animations.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/generic.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/minireset.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/skeleton.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/breadcrumb.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/card.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/dropdown.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/menu.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/message.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/modal.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/navbar.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/pagination.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/panel.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/tabs.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/block.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/box.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/button.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/content.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/delete.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/icon.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/image.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/loader.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/notification.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/progress.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/table.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/tag.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/title.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/file.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/input-textarea.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/select.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/shared.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/form/tools.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/grid/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/grid/columns.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/grid/grid.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/border.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/color.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/flexbox.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/float.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/gap.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/other.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/overflow.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/position.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/spacing.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/typography.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/helpers/visibility.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/container.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/footer.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/hero.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/level.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/media.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/layout/section.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/themes/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/themes/dark.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/themes/light.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/themes/setup.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/_index.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/controls.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/css-variables.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/extends.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/functions.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/utilities/mixins.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/versions/bulma-prefixed.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/.sass-cache/15adf1eed05371361b08787c918a7f18fc15be79/accrete.scssc +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/accrete.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/accrete.css.map +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/accrete.scss +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/fa.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/css/icons.css +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/icons/Logo.svg +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/icons/accrete.svg +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/js/alpine-3.14.9.js +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/js/alpine-focus-3.14.9.js +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/js/alpine-sort-3.14.9.js +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/js/filter.js +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/js/htmx.min.js +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-brands-400.ttf +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-brands-400.woff2 +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-regular-400.ttf +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-regular-400.woff2 +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-solid-900.ttf +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-solid-900.woff2 +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.ttf +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/webfonts/fa-v4compatibility.woff2 +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/attrs.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/date.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/email.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/file.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/input.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/select.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/text.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/django/forms/widgets/textarea.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/content_right.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/filter/filter.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/filter/query_input.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/filter/query_operator.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/filter/query_params.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/filter/query_tags.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/list_update.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/oob.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/table.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/table_row_update.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/templatetags/field.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/widgets/model_search_select.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/widgets/model_search_select_multi.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templates/ui/widgets/model_search_select_options.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templatetags/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/templatetags/ui.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/urls.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/utils.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/widgets/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/widgets/search_select.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/auth_backends.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/locale/de/LC_MESSAGES/django.mo +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/locale/de/LC_MESSAGES/django.po +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/middleware.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0002_user_theme.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0003_alter_user_email.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0004_user_login_alter_user_email_user_email_or_login_set.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0005_remove_user_email_or_login_set_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0006_remove_user_email_or_login_set_user_is_managed_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/0007_user_managed_login.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/templates/user/accrete_navbar_end_dropdown.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/templates/user/change_email.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/templates/user/change_password.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/templates/user/login.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/templates/user/user_form.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/urls.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/admin.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/apps.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/config.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/models.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/templates/user_registration/mail_templates/confirmation_mail.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/templates/user_registration/registration.html +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/urls.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/user_registration/views.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/fields.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/managers.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/middleware.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/0001_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/0002_initial.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/0003_remove_member_name.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/0004_rename_accessgroupmember_memberaccessgrouprel_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/0005_accessgroup_apply_on_alter_member_access_groups_and_more.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/migrations/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/storage.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/tests.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/urls.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/__init__.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/dates.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/forms.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/log.py +0 -0
- {accrete-0.0.138 → accrete-0.0.139}/accrete/utils/models.py +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
{% load i18n %}
|
2
2
|
|
3
3
|
{% if form.non_field_errors or form.save_error %}
|
4
|
-
<div class="notification is-danger is-light">
|
4
|
+
<div class="notification is-danger is-light" style="word-wrap: break-word;">
|
5
5
|
{{ form.non_field_errors }}
|
6
6
|
{% if form.save_error %}
|
7
7
|
<p>{{ form.save_error }}</p>
|
@@ -203,7 +203,7 @@
|
|
203
203
|
<div id="content-right-header" class="is-flex is-flex-wrap-wrap">
|
204
204
|
{% block header_right %}{% endblock %}
|
205
205
|
</div>
|
206
|
-
<button class="button is-
|
206
|
+
<button class="button is-light is-align-self-baseline m-1" style="border-radius: var(--bulma-radius-medium)" x-on:click="showContentRight = false;">
|
207
207
|
<span class="icon"><i class="fa fa-xmark"></i></span>
|
208
208
|
</button>
|
209
209
|
</div>
|
@@ -10,11 +10,11 @@
|
|
10
10
|
<div id="list-entry-{{ object.pk }}" class="list-entry cell pb-0" style="height: {{ column_height }}{{ column_height_unit }}">
|
11
11
|
<div class="box p-3"
|
12
12
|
style="word-break: break-word; height: 100%; overflow-y: auto; {% if object.get_absolute_url %}cursor:pointer;{% endif %}"
|
13
|
-
{% if object.get_absolute_url %}
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
{%
|
13
|
+
{% if object.get_absolute_url and detail_enabled %}
|
14
|
+
hx-get="{{ object.get_absolute_url }}{% querystring %}" hx-target="#content-right-header" hx-select="#content-right-header" hx-select-oob="#content-right" hx-swap="outerHTML"
|
15
|
+
x-on:click="$dispatch('unselect-list-entry'); showContentRight = true; selected = true; $nextTick(() => { $el.scrollIntoView( {block: 'nearest'} ) });" x-bind:class="selected ? 'box selected' : ''"
|
16
|
+
{% elif object.get_absolute_url and not detail_enabled %}
|
17
|
+
hx-get="{{ object.get_absolute_url }}{% querystring %}" hx-target="body" hx-push-url="true"
|
18
18
|
{% endif %}
|
19
19
|
x-data="{selected: false}" @unselect-list-entry.window="selected = false"
|
20
20
|
>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
{% load ui %}
|
2
|
+
|
3
|
+
{% if messages %}
|
4
|
+
{% for message in messages %}
|
5
|
+
<div hx-swap-oob="{% if append %}beforeend:#message{% else %}innerHTML:#message{% endif %}">
|
6
|
+
<div class="mb-2" style="min-width: 340px; max-width: 340px" x-data="{ show: false }" x-show="show" x-cloak="" x-init="show = true; {% if not persistent %}setTimeout(() => show = false, 4000){% endif %}" x-transition.duration.200ms>
|
7
|
+
<div class="notification has-text-centered {{ message|message_class }}">
|
8
|
+
{% if persistent %}<button class="delete" x-on:click="show = false;"></button>{% endif %}
|
9
|
+
{{ message }}
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
{% endfor %}
|
14
|
+
{% endif %}
|
@@ -12,10 +12,10 @@
|
|
12
12
|
<button id="{{ modal_id }}-background" class="modal-background" @click="$dispatch('close-modal-{{ modal_id }}')" style="cursor: default"></button>
|
13
13
|
<div class="modal-card" x-show="showModal" x-transition.duration.200ms x-init="$nextTick(() => {showModal = true;})" >
|
14
14
|
<header class="modal-card-head">
|
15
|
-
<p class="modal-card-title">
|
15
|
+
<p class="modal-card-title is-flex-shrink-1">
|
16
16
|
{{ title }}
|
17
17
|
</p>
|
18
|
-
<button class="delete" aria-label="close" @click="$dispatch('close-modal-{{ modal_id }}')"></button>
|
18
|
+
<button class="delete is-align-self-baseline" aria-label="close" @click="$dispatch('close-modal-{{ modal_id }}')"></button>
|
19
19
|
</header>
|
20
20
|
<section class="modal-card-body">
|
21
21
|
{% block modal_content %}{% endblock %}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by Django 5.1.7 on 2025-03-23 08:11
|
2
|
+
|
3
|
+
import accrete.contrib.user.models
|
4
|
+
from django.db import migrations, models
|
5
|
+
|
6
|
+
|
7
|
+
class Migration(migrations.Migration):
|
8
|
+
|
9
|
+
dependencies = [
|
10
|
+
('user', '0007_user_managed_login'),
|
11
|
+
]
|
12
|
+
|
13
|
+
operations = [
|
14
|
+
migrations.RemoveConstraint(
|
15
|
+
model_name='user',
|
16
|
+
name='no_email_for_managed_user',
|
17
|
+
),
|
18
|
+
migrations.AlterField(
|
19
|
+
model_name='user',
|
20
|
+
name='language_code',
|
21
|
+
field=models.CharField(blank=True, default=accrete.contrib.user.models.default_language_code, max_length=10, null=True, verbose_name='Language'),
|
22
|
+
),
|
23
|
+
]
|
@@ -35,6 +35,10 @@ def validate_member_login(login: str) -> None:
|
|
35
35
|
raise ValidationError(message)
|
36
36
|
|
37
37
|
|
38
|
+
def default_language_code():
|
39
|
+
return settings.LANGUAGE_CODE
|
40
|
+
|
41
|
+
|
38
42
|
class UserManager(BaseUserManager):
|
39
43
|
use_in_migrations = True
|
40
44
|
|
@@ -87,11 +91,6 @@ class User(AbstractBaseUser, PermissionsMixin):
|
|
87
91
|
name='email_or_login_set',
|
88
92
|
violation_error_message='E-Mail or Login must be set'
|
89
93
|
),
|
90
|
-
models.CheckConstraint(
|
91
|
-
condition=Q(is_managed=False, email__isnull=False) | Q(is_managed=True, email__isnull=True),
|
92
|
-
name='no_email_for_managed_user',
|
93
|
-
violation_error_message='Managed users must not have an E-Mail address'
|
94
|
-
),
|
95
94
|
models.CheckConstraint(
|
96
95
|
condition=Q(is_managed=True, login__isnull=False) | Q(is_managed=False),
|
97
96
|
name='managed_login',
|
@@ -178,7 +177,8 @@ class User(AbstractBaseUser, PermissionsMixin):
|
|
178
177
|
verbose_name=_('Language'),
|
179
178
|
max_length=10,
|
180
179
|
null=True,
|
181
|
-
blank=True
|
180
|
+
blank=True,
|
181
|
+
default=default_language_code
|
182
182
|
)
|
183
183
|
|
184
184
|
theme = models.CharField(
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Generated by Django 5.1.7 on 2025-03-23 10:21
|
2
|
+
|
3
|
+
import django.db.models.deletion
|
4
|
+
from django.conf import settings
|
5
|
+
from django.db import migrations, models
|
6
|
+
|
7
|
+
|
8
|
+
class Migration(migrations.Migration):
|
9
|
+
|
10
|
+
dependencies = [
|
11
|
+
('accrete', '0005_accessgroup_apply_on_alter_member_access_groups_and_more'),
|
12
|
+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
13
|
+
]
|
14
|
+
|
15
|
+
operations = [
|
16
|
+
migrations.AlterField(
|
17
|
+
model_name='member',
|
18
|
+
name='user',
|
19
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to=settings.AUTH_USER_MODEL),
|
20
|
+
),
|
21
|
+
]
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Generated by Django 5.1.7 on 2025-03-31 20:23
|
2
|
+
|
3
|
+
from django.db import migrations, models
|
4
|
+
|
5
|
+
|
6
|
+
class Migration(migrations.Migration):
|
7
|
+
|
8
|
+
dependencies = [
|
9
|
+
('accrete', '0006_alter_member_user'),
|
10
|
+
]
|
11
|
+
|
12
|
+
operations = [
|
13
|
+
migrations.AddField(
|
14
|
+
model_name='accessgroup',
|
15
|
+
name='description',
|
16
|
+
field=models.TextField(blank=True, null=True, verbose_name='Description'),
|
17
|
+
),
|
18
|
+
]
|
@@ -90,7 +90,7 @@ class Member(models.Model):
|
|
90
90
|
user = models.ForeignKey(
|
91
91
|
to=settings.AUTH_USER_MODEL,
|
92
92
|
related_name='memberships',
|
93
|
-
on_delete=models.
|
93
|
+
on_delete=models.CASCADE
|
94
94
|
)
|
95
95
|
|
96
96
|
tenant = models.ForeignKey(
|
@@ -136,6 +136,12 @@ class AccessGroup(models.Model):
|
|
136
136
|
max_length=255
|
137
137
|
)
|
138
138
|
|
139
|
+
description = models.TextField(
|
140
|
+
verbose_name=_('Description'),
|
141
|
+
null=True,
|
142
|
+
blank=True
|
143
|
+
)
|
144
|
+
|
139
145
|
code = models.CharField(
|
140
146
|
verbose_name=_('Code'),
|
141
147
|
max_length=100
|
@@ -39,11 +39,6 @@ class Unscoped:
|
|
39
39
|
self.tenant = tenant
|
40
40
|
|
41
41
|
def __enter__(self):
|
42
|
-
if self.tenant is None:
|
43
|
-
_logger.warning(
|
44
|
-
'Entering unscoped context manager with tenant already set to None!',
|
45
|
-
stack_info=True
|
46
|
-
)
|
47
42
|
set_tenant(False)
|
48
43
|
|
49
44
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
@@ -57,7 +52,7 @@ def unscoped():
|
|
57
52
|
def per_tenant(include: Q = None, exclude: Q = None):
|
58
53
|
def decorator(f):
|
59
54
|
def wrapper(*args, **kwargs):
|
60
|
-
tenants
|
55
|
+
tenants = apps.get_model('accrete', 'Tenant').objects.all()
|
61
56
|
if include is not None:
|
62
57
|
tenants = tenants.filter(include)
|
63
58
|
if exclude is not None:
|
@@ -74,6 +69,15 @@ def per_tenant(include: Q = None, exclude: Q = None):
|
|
74
69
|
return decorator
|
75
70
|
|
76
71
|
|
72
|
+
def unscope():
|
73
|
+
def decorator(f):
|
74
|
+
def wrapper(*args, **kwargs):
|
75
|
+
with unscoped():
|
76
|
+
f(*args, **kwargs)
|
77
|
+
return wrapper
|
78
|
+
return decorator
|
79
|
+
|
80
|
+
|
77
81
|
def tenant_has_group(access_group_code: str) -> bool:
|
78
82
|
tenant = get_tenant()
|
79
83
|
if not tenant:
|
@@ -141,8 +141,7 @@ def method_not_allowed(method: str, allowed: list[str]) -> HttpResponseNotAllowe
|
|
141
141
|
def render_templates(
|
142
142
|
templates: list[str | tuple[str, dict]],
|
143
143
|
context: dict = None,
|
144
|
-
request=None
|
145
|
-
log_not_found: bool = False
|
144
|
+
request=None
|
146
145
|
) -> str:
|
147
146
|
context = {} if context is None else context
|
148
147
|
content = ''
|
@@ -150,13 +149,11 @@ def render_templates(
|
|
150
149
|
if isinstance(template, tuple):
|
151
150
|
template_name, template_context = template
|
152
151
|
else:
|
153
|
-
template_name = template
|
154
|
-
template_context = context
|
152
|
+
template_name, template_context = template, context
|
155
153
|
try:
|
156
154
|
content += render_to_string(template_name, template_context, request)
|
157
155
|
except TemplateDoesNotExist as e:
|
158
|
-
|
159
|
-
_logger.warning(repr(e))
|
156
|
+
_logger.warning(repr(e))
|
160
157
|
except Exception as e:
|
161
158
|
_logger.exception(repr(e))
|
162
159
|
raise e
|
@@ -9,13 +9,18 @@ from django.shortcuts import redirect, get_object_or_404
|
|
9
9
|
from django.conf import settings
|
10
10
|
from accrete.models import Tenant, Member
|
11
11
|
from accrete.tenant import get_tenant, tenant_has_group, member_has_group
|
12
|
-
from
|
12
|
+
from accrete import config
|
13
13
|
|
14
14
|
|
15
15
|
class TenantRequiredMixin(LoginRequiredMixin):
|
16
16
|
|
17
|
+
# Redirect to the specified url if the group check fails
|
17
18
|
TENANT_NOT_SET_URL = None
|
18
19
|
GROUP_NOT_SET_URL = None
|
20
|
+
|
21
|
+
# If set, one of the supplied groups must be present on the
|
22
|
+
# tenant or member respectively. If the list item is of type tuple,
|
23
|
+
# all the groups in the tuple must be present.
|
19
24
|
TENANT_GROUPS: list[str | tuple[str]] = []
|
20
25
|
MEMBER_GROUPS: list[str | tuple[str]] = []
|
21
26
|
|
@@ -41,8 +46,8 @@ class TenantRequiredMixin(LoginRequiredMixin):
|
|
41
46
|
|
42
47
|
def get_tenant_not_set_url(self):
|
43
48
|
tenant_not_set_url = (
|
44
|
-
|
45
|
-
|
49
|
+
self.TENANT_NOT_SET_URL
|
50
|
+
or config.ACCRETE_TENANT_NOT_SET_URL
|
46
51
|
)
|
47
52
|
if not tenant_not_set_url:
|
48
53
|
cls_name = self.__class__.__name__
|
@@ -57,7 +62,7 @@ class TenantRequiredMixin(LoginRequiredMixin):
|
|
57
62
|
def get_group_not_set_url(self):
|
58
63
|
group_not_set_url = (
|
59
64
|
self.GROUP_NOT_SET_URL
|
60
|
-
or
|
65
|
+
or config.ACCRETE_GROUP_NOT_SET_URL
|
61
66
|
)
|
62
67
|
if not group_not_set_url:
|
63
68
|
cls_name = self.__class__.__name__
|
@@ -1,13 +0,0 @@
|
|
1
|
-
{% load ui %}
|
2
|
-
|
3
|
-
{% if messages %}
|
4
|
-
{% for message in messages %}
|
5
|
-
<div hx-swap-oob="beforeend:#message">
|
6
|
-
<div class="mb-2" style="min-width: 330px; max-width: 330px" x-data="{ show: false }" x-show="show" x-cloak="" x-init="show = true; setTimeout(() => show = false, 4000)" x-transition.duration.200ms>
|
7
|
-
<div class="notification has-text-centered is-light {{ message|message_class }}">
|
8
|
-
<p>{{ message }}</p>
|
9
|
-
</div>
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
{% endfor %}
|
13
|
-
{% endif %}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/0002_auto_20250219_1759.py
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/country/migrations/0003_alter_country_options.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/log/migrations/0004_logconfig_logconfigfield.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/sequence/migrations/0002_alter_sequence_name.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.css
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/animations.scss
RENAMED
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/base/minireset.scss
RENAMED
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/_index.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/breadcrumb.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/card.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/dropdown.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/menu.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/message.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/modal.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/navbar.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/pagination.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/panel.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/components/tabs.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/_index.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/block.scss
RENAMED
File without changes
|
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/button.scss
RENAMED
File without changes
|
{accrete-0.0.138 → accrete-0.0.139}/accrete/contrib/ui/static/bulma/sass/elements/content.scss
RENAMED
File without changes
|