django-viewflow 2.2.8__tar.gz → 2.2.11__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.
- {django-viewflow-2.2.8/django_viewflow.egg-info → django-viewflow-2.2.11}/PKG-INFO +8 -113
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/README.md +4 -109
- {django-viewflow-2.2.8 → django-viewflow-2.2.11/django_viewflow.egg-info}/PKG-INFO +8 -113
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/setup.py +4 -4
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/base.py +6 -3
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/chart.py +3 -3
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/css/viewflow.min.css +1 -1
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/viewflow.min.js +37 -37
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/viewflow.min.js.map +1 -1
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_reset_confirm.html +1 -1
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/utils.py +8 -5
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/create.py +17 -3
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/update.py +17 -3
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/base.py +1 -1
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/fields.py +15 -5
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/create.py +5 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/update.py +5 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/start.py +15 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/LICENSE +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/LICENSE_EXCEPTION +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/MANIFEST.in +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/django_viewflow.egg-info/SOURCES.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/django_viewflow.egg-info/dependency_links.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/django_viewflow.egg-info/not-zip-safe +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/django_viewflow.egg-info/requires.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/django_viewflow.egg-info/top_level.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/setup.cfg +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_middleware.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_templates.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_templatetags__viewflow.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_this_object.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_urls__base.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/tests/test_utils__package.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/apps.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/conf.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/admin/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/admin/apps.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/auth.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/plotly/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/plotly/material.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/plotly/views.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/contrib/plotly/viewset.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fields.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/forms/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/forms/renderers.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/admin.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/typing.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/views.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/fsm/viewset.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/jsonstore.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/de/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/de/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/es/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/es/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/fr/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/it/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/it/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ja/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ja/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/kk/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/kk/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ko/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ko/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/pt/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/pt/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ru/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/ru/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/sr/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/sr/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/management/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/management/commands/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/management/commands/flowexport.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/middleware.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/css/perfect-scrollbar.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/css/trix.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/css/vis-network.min.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-outlined.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-outlined.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-round.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-round.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-sharp.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-sharp.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-two-tone.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons-two-tone.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/material-icons/material-icons.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Black.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Black.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-BlackItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-BlackItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Bold.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Bold.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-BoldItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-BoldItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Light.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Light.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-LightItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-LightItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Medium.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Medium.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-MediumItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-MediumItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Regular.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Regular.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-RegularItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-RegularItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Thin.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-Thin.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-ThinItalic.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/Roboto-ThinItalic.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/roboto/roboto-fontface.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.eot +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.otf +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.ttf +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.woff +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.woff2 +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/simple-icons.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/fonts/simple-icons/simple-icons.min.css +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/img/favicon.png +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/img/user.png +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash-renderer/build/dash_renderer.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-highlight.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-highlight.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/bundle.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dash_table/bundle.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-datepicker.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-datepicker.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-highlight.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-highlight.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-plotlyjs.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-plotlyjs.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-upload.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/async-upload.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js.LICENSE.txt +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/dcc/plotly.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/deps/polyfill@7.12.1.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/deps/prop-types@15.7.2.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/deps/prop-types@15.8.1.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/deps/react-dom@16.14.0.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/deps/react@16.14.0.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/html/dash_html_components.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/contrib/dash/html/dash_html_components.min.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/perfect-scrollbar.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/perfect-scrollbar.min.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/smartcrop.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/trix.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/turbo.es2017-umd.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/vis-network.min.js +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/static/viewflow/js/vis-network.min.js.map +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/400.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/403.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/404.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/500.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/admin/fsm_change_form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/admin/fsm_change_form_object_tools.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/admin/fsm_change_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/admin/fsm_transition_form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/formtools/wizard/wizard_form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/logged_out.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/login.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_change_done.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_change_form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_reset_complete.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_reset_done.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/password_reset_form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/profile.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/registration/provider_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/base.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/base_lockscreen.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/base_page.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/contrib/import_export/export_action.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/contrib/import_export/import_action.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/contrib/plotly.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/contrib/swagger.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/app_menu.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/list_bulk_actions.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/list_filter.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/list_pagination.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/object_detail_card.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/site_menu.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/snackbar.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/view_action_menu.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/viewflow_css.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/includes/viewflow_js.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/material/circular_progress.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/confirm_delete.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/delete_action.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/detail.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/form.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/views/transition.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/assign.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/base_page.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/celery_task_detail.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/flow_menu.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/graph.bpmn +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/graph.svg +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_cancel.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_dashboard.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_data.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_detail.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/process_tasks_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/start.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_assign.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_base.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_cancel.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_data.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_detail.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_revive.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_unassign.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/task_undo.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/tasks_assign.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/tasks_unassign.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/workflow_menu.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templates/viewflow/workflow/workflow_tasks_list.html +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templatetags/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templatetags/fsm.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templatetags/viewflow.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/templatetags/workflow.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/this_object.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/urls/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/urls/base.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/urls/model.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/urls/sites.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/actions.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/base.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/delete.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/detail.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/filters.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/list.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/views/search.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/activation.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/admin.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/apps.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/chart.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/context.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/exceptions.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/mixins.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/nodes.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/utils.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/actions.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/chart.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/dashboard.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/detail.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/filters.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/list.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/views/mixins.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/flow/viewset.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/lock.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/managers.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0001_initial.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0002_fsmchange.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0003_task_owner_permission_change.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0004_extend_fields_length.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0004_subprocess.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0005_merge.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0005_rename_flowcls.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0006_i18n.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0006_merge.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0007_owner_permission_obj.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0007_task_assigned.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0008_jsonfield_and_artifact.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0008_merge.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0009_merge.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0010_viewflow20.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0011_alter_task_created_and_more.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0012_alter_process_data_alter_task_data.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0013_process_seed_content_type_process_seed_object_id_and_more.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/0014_alter_process_parent_task.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/migrations/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/models.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/__init__.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/end.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/func.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/handle.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/if_gate.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/job.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/join.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/mixins.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/obsolete.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/split.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/switch.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/nodes/view.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/signals.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/status.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/token.py +0 -0
- {django-viewflow-2.2.8 → django-viewflow-2.2.11}/viewflow/workflow/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-viewflow
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.11
|
|
4
4
|
Summary: Reusable library to build business applications fast
|
|
5
5
|
Author: Mikhail Podgurskiy
|
|
6
6
|
Author-email: kmmbvnr@gmail.com
|
|
@@ -13,17 +13,17 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Classifier: Framework :: Django
|
|
14
14
|
Classifier: Framework :: Django :: 4.2
|
|
15
15
|
Classifier: Framework :: Django :: 5.0
|
|
16
|
+
Classifier: Framework :: Django :: 5.1
|
|
17
|
+
Classifier: Framework :: Django :: 5.2
|
|
16
18
|
Classifier: Programming Language :: Python :: 3
|
|
17
19
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
25
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
License-File: LICENSE
|
|
29
29
|
|
|
@@ -216,115 +216,10 @@ modifications of Viewflow. You can find the commercial license terms in
|
|
|
216
216
|
|
|
217
217
|
## Changelog
|
|
218
218
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
- Fix serialization issue with jsonstore.DecimalField.
|
|
224
|
-
- Add missing 'index' view for celery.Task node.
|
|
225
|
-
- Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
|
|
226
|
-
- Correct invalid typing for FSM conditions.
|
|
227
|
-
- Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
|
|
228
|
-
- Add support for MultiValueField and django-money fields form rendering
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
### 2.2.7 2024-08-16
|
|
232
|
-
|
|
233
|
-
- Added compatibility fix for Python 3.8.
|
|
234
|
-
- Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
|
|
235
|
-
- Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
|
|
236
|
-
- Introduced an experimental JSONEditorWidget.
|
|
237
|
-
- Fixed issue with saving the state of revived tasks.
|
|
238
|
-
- Enabled the option to cancel If tasks.
|
|
239
|
-
- Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
|
|
240
|
-
- Added support for using DependentModelSelect in formsets.
|
|
241
|
-
- Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
|
|
242
|
-
- Corrected typo in the deletion success message.
|
|
243
|
-
- Test under django 5.1
|
|
244
|
-
|
|
245
|
-
### 2.2.6 2024-08-04
|
|
246
|
-
|
|
247
|
-
- Resolved the flow.If condition's this reference during class construction.
|
|
248
|
-
- Improved error handling when a Celery task finishes.
|
|
249
|
-
- Fixed an issue where errors occurring in a task after a successful celery.Job
|
|
250
|
-
task incorrectly prevented the job task from being marked as completed, with
|
|
251
|
-
the errored task correctly put into an error state.
|
|
252
|
-
- Redirect to the next process task now will take into account tasks in the ERROR state
|
|
253
|
-
- Add ability to revive flow.Function and flow.SplitFirst
|
|
254
|
-
- Fixed an error that occurred when a deleted process.artifact was referenced in
|
|
255
|
-
the process field data listing within templates.
|
|
256
|
-
- Allow to cancel Subprocess tasks
|
|
257
|
-
- Allow to cancel Function tasks
|
|
258
|
-
- Allow custom task models inherited from AbstactTask have no .seed and .data fields
|
|
259
|
-
|
|
260
|
-
### 2.2.5 2024-07-17
|
|
261
|
-
|
|
262
|
-
- The 'pattern' widget attribute is now passed to the underlying form input.
|
|
263
|
-
- Fixed issue with flow image reload.
|
|
264
|
-
- Fixed dashboard max height on pages with long sidebars.
|
|
265
|
-
- Added .get_success_url(request) shortcut method to StartViewActivation and
|
|
266
|
-
ViewActivation for convenient use in function-based views.
|
|
267
|
-
- Fixed duplicated task_finished signal on flow.View completion.
|
|
268
|
-
- Enabled callable defaults on jsonstore fields.
|
|
269
|
-
- Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
|
|
270
|
-
- Created cookbook demo for common workflow patterns
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### 2.2.4 2024-07-12
|
|
274
|
-
|
|
275
|
-
- Clone data, seed, and artifacts from canceled tasks to revived tasks.
|
|
276
|
-
- Enhance error handling for celery.Job.
|
|
277
|
-
- Improve the process cancellation template.
|
|
278
|
-
- Redirect to the task detail page after canceling or undoing actions, instead
|
|
279
|
-
of redirecting to the process detail page.
|
|
280
|
-
- Added links to parent subprocess and parent task on the subprocess process and
|
|
281
|
-
task details pages.
|
|
282
|
-
- Updated the Process.parent_task field to use related_name='subprocess',
|
|
283
|
-
allowing access to subprocesses via task.subprocess
|
|
284
|
-
- Enhanced CreateProcessView and UpdateProcessView to set process_seed and
|
|
285
|
-
artifact_generic_foreign_key fields based on form.cleaned_data, as Django
|
|
286
|
-
model forms do not handle this automatically.
|
|
287
|
-
- Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
|
|
288
|
-
- Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
|
|
289
|
-
- Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
|
|
290
|
-
- Fixed rendering of hidden field errors in forms.
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
### 2.2.3 2024-07-09
|
|
294
|
-
|
|
295
|
-
- Fixed issue with Split/Join operations when an immediate split to join
|
|
296
|
-
connection occurs.
|
|
297
|
-
- Improved redirect functionality for "Execute and Continue." Now redirects to
|
|
298
|
-
the process details if the process has finished.
|
|
299
|
-
- Enabled the Undo action for End() nodes.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
### 2.2.2 2024-07-05
|
|
303
|
-
|
|
304
|
-
- Introduced new parameters for .If().Then(.., task_data=, task_seed) and
|
|
305
|
-
.Else(...)
|
|
306
|
-
- Include {{ form.media }} into default workflow/task.html template
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
### 2.2.1 2024-07-03
|
|
310
|
-
|
|
311
|
-
- Introduced a new parameter for .Next(..., task_seed=) that allows the
|
|
312
|
-
instantiation of new tasks with additional initialized .seed generic foreign key
|
|
313
|
-
- Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
|
|
314
|
-
prodices outgoing tasks with initializaed .seed value
|
|
315
|
-
- Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
|
|
316
|
-
task_data=, task_seed=) allows to provide data nad seed for newly created
|
|
317
|
-
process and/or start task
|
|
318
|
-
|
|
319
|
-
### 2.2.0 2024-06-28
|
|
320
|
-
|
|
321
|
-
- Introduced a new parameter for .Next(..., task_data=) that allows the
|
|
322
|
-
instantiation of new tasks with additional initialized .data, enabling data to
|
|
323
|
-
be passed from task to task.
|
|
324
|
-
- Added process.seed and task.seed generic foreign keys to the default workflow
|
|
325
|
-
models. Along with process.artifact and task.artifact, these additions enable
|
|
326
|
-
tracking of business process results from start to finish.
|
|
327
|
-
- Renamed Split.Next(data_source=) to task_data_source=.
|
|
219
|
+
## 2.3.11 2025-05-14
|
|
220
|
+
|
|
221
|
+
- Return .Avaialble(..) for the start node
|
|
222
|
+
|
|
328
223
|
|
|
329
224
|
|
|
330
225
|
[build]: https://img.shields.io/github/actions/workflow/status/viewflow/viewflow/django.yml?branch=main
|
|
@@ -187,115 +187,10 @@ modifications of Viewflow. You can find the commercial license terms in
|
|
|
187
187
|
|
|
188
188
|
## Changelog
|
|
189
189
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
-
|
|
193
|
-
|
|
194
|
-
- Fix serialization issue with jsonstore.DecimalField.
|
|
195
|
-
- Add missing 'index' view for celery.Task node.
|
|
196
|
-
- Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
|
|
197
|
-
- Correct invalid typing for FSM conditions.
|
|
198
|
-
- Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
|
|
199
|
-
- Add support for MultiValueField and django-money fields form rendering
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
### 2.2.7 2024-08-16
|
|
203
|
-
|
|
204
|
-
- Added compatibility fix for Python 3.8.
|
|
205
|
-
- Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
|
|
206
|
-
- Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
|
|
207
|
-
- Introduced an experimental JSONEditorWidget.
|
|
208
|
-
- Fixed issue with saving the state of revived tasks.
|
|
209
|
-
- Enabled the option to cancel If tasks.
|
|
210
|
-
- Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
|
|
211
|
-
- Added support for using DependentModelSelect in formsets.
|
|
212
|
-
- Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
|
|
213
|
-
- Corrected typo in the deletion success message.
|
|
214
|
-
- Test under django 5.1
|
|
215
|
-
|
|
216
|
-
### 2.2.6 2024-08-04
|
|
217
|
-
|
|
218
|
-
- Resolved the flow.If condition's this reference during class construction.
|
|
219
|
-
- Improved error handling when a Celery task finishes.
|
|
220
|
-
- Fixed an issue where errors occurring in a task after a successful celery.Job
|
|
221
|
-
task incorrectly prevented the job task from being marked as completed, with
|
|
222
|
-
the errored task correctly put into an error state.
|
|
223
|
-
- Redirect to the next process task now will take into account tasks in the ERROR state
|
|
224
|
-
- Add ability to revive flow.Function and flow.SplitFirst
|
|
225
|
-
- Fixed an error that occurred when a deleted process.artifact was referenced in
|
|
226
|
-
the process field data listing within templates.
|
|
227
|
-
- Allow to cancel Subprocess tasks
|
|
228
|
-
- Allow to cancel Function tasks
|
|
229
|
-
- Allow custom task models inherited from AbstactTask have no .seed and .data fields
|
|
230
|
-
|
|
231
|
-
### 2.2.5 2024-07-17
|
|
232
|
-
|
|
233
|
-
- The 'pattern' widget attribute is now passed to the underlying form input.
|
|
234
|
-
- Fixed issue with flow image reload.
|
|
235
|
-
- Fixed dashboard max height on pages with long sidebars.
|
|
236
|
-
- Added .get_success_url(request) shortcut method to StartViewActivation and
|
|
237
|
-
ViewActivation for convenient use in function-based views.
|
|
238
|
-
- Fixed duplicated task_finished signal on flow.View completion.
|
|
239
|
-
- Enabled callable defaults on jsonstore fields.
|
|
240
|
-
- Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
|
|
241
|
-
- Created cookbook demo for common workflow patterns
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
### 2.2.4 2024-07-12
|
|
245
|
-
|
|
246
|
-
- Clone data, seed, and artifacts from canceled tasks to revived tasks.
|
|
247
|
-
- Enhance error handling for celery.Job.
|
|
248
|
-
- Improve the process cancellation template.
|
|
249
|
-
- Redirect to the task detail page after canceling or undoing actions, instead
|
|
250
|
-
of redirecting to the process detail page.
|
|
251
|
-
- Added links to parent subprocess and parent task on the subprocess process and
|
|
252
|
-
task details pages.
|
|
253
|
-
- Updated the Process.parent_task field to use related_name='subprocess',
|
|
254
|
-
allowing access to subprocesses via task.subprocess
|
|
255
|
-
- Enhanced CreateProcessView and UpdateProcessView to set process_seed and
|
|
256
|
-
artifact_generic_foreign_key fields based on form.cleaned_data, as Django
|
|
257
|
-
model forms do not handle this automatically.
|
|
258
|
-
- Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
|
|
259
|
-
- Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
|
|
260
|
-
- Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
|
|
261
|
-
- Fixed rendering of hidden field errors in forms.
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
### 2.2.3 2024-07-09
|
|
265
|
-
|
|
266
|
-
- Fixed issue with Split/Join operations when an immediate split to join
|
|
267
|
-
connection occurs.
|
|
268
|
-
- Improved redirect functionality for "Execute and Continue." Now redirects to
|
|
269
|
-
the process details if the process has finished.
|
|
270
|
-
- Enabled the Undo action for End() nodes.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### 2.2.2 2024-07-05
|
|
274
|
-
|
|
275
|
-
- Introduced new parameters for .If().Then(.., task_data=, task_seed) and
|
|
276
|
-
.Else(...)
|
|
277
|
-
- Include {{ form.media }} into default workflow/task.html template
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
### 2.2.1 2024-07-03
|
|
281
|
-
|
|
282
|
-
- Introduced a new parameter for .Next(..., task_seed=) that allows the
|
|
283
|
-
instantiation of new tasks with additional initialized .seed generic foreign key
|
|
284
|
-
- Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
|
|
285
|
-
prodices outgoing tasks with initializaed .seed value
|
|
286
|
-
- Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
|
|
287
|
-
task_data=, task_seed=) allows to provide data nad seed for newly created
|
|
288
|
-
process and/or start task
|
|
289
|
-
|
|
290
|
-
### 2.2.0 2024-06-28
|
|
291
|
-
|
|
292
|
-
- Introduced a new parameter for .Next(..., task_data=) that allows the
|
|
293
|
-
instantiation of new tasks with additional initialized .data, enabling data to
|
|
294
|
-
be passed from task to task.
|
|
295
|
-
- Added process.seed and task.seed generic foreign keys to the default workflow
|
|
296
|
-
models. Along with process.artifact and task.artifact, these additions enable
|
|
297
|
-
tracking of business process results from start to finish.
|
|
298
|
-
- Renamed Split.Next(data_source=) to task_data_source=.
|
|
190
|
+
## 2.3.11 2025-05-14
|
|
191
|
+
|
|
192
|
+
- Return .Avaialble(..) for the start node
|
|
193
|
+
|
|
299
194
|
|
|
300
195
|
|
|
301
196
|
[build]: https://img.shields.io/github/actions/workflow/status/viewflow/viewflow/django.yml?branch=main
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django-viewflow
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.11
|
|
4
4
|
Summary: Reusable library to build business applications fast
|
|
5
5
|
Author: Mikhail Podgurskiy
|
|
6
6
|
Author-email: kmmbvnr@gmail.com
|
|
@@ -13,17 +13,17 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Classifier: Framework :: Django
|
|
14
14
|
Classifier: Framework :: Django :: 4.2
|
|
15
15
|
Classifier: Framework :: Django :: 5.0
|
|
16
|
+
Classifier: Framework :: Django :: 5.1
|
|
17
|
+
Classifier: Framework :: Django :: 5.2
|
|
16
18
|
Classifier: Programming Language :: Python :: 3
|
|
17
19
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
25
|
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
License-File: LICENSE
|
|
29
29
|
|
|
@@ -216,115 +216,10 @@ modifications of Viewflow. You can find the commercial license terms in
|
|
|
216
216
|
|
|
217
217
|
## Changelog
|
|
218
218
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
- Fix serialization issue with jsonstore.DecimalField.
|
|
224
|
-
- Add missing 'index' view for celery.Task node.
|
|
225
|
-
- Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
|
|
226
|
-
- Correct invalid typing for FSM conditions.
|
|
227
|
-
- Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
|
|
228
|
-
- Add support for MultiValueField and django-money fields form rendering
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
### 2.2.7 2024-08-16
|
|
232
|
-
|
|
233
|
-
- Added compatibility fix for Python 3.8.
|
|
234
|
-
- Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
|
|
235
|
-
- Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
|
|
236
|
-
- Introduced an experimental JSONEditorWidget.
|
|
237
|
-
- Fixed issue with saving the state of revived tasks.
|
|
238
|
-
- Enabled the option to cancel If tasks.
|
|
239
|
-
- Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
|
|
240
|
-
- Added support for using DependentModelSelect in formsets.
|
|
241
|
-
- Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
|
|
242
|
-
- Corrected typo in the deletion success message.
|
|
243
|
-
- Test under django 5.1
|
|
244
|
-
|
|
245
|
-
### 2.2.6 2024-08-04
|
|
246
|
-
|
|
247
|
-
- Resolved the flow.If condition's this reference during class construction.
|
|
248
|
-
- Improved error handling when a Celery task finishes.
|
|
249
|
-
- Fixed an issue where errors occurring in a task after a successful celery.Job
|
|
250
|
-
task incorrectly prevented the job task from being marked as completed, with
|
|
251
|
-
the errored task correctly put into an error state.
|
|
252
|
-
- Redirect to the next process task now will take into account tasks in the ERROR state
|
|
253
|
-
- Add ability to revive flow.Function and flow.SplitFirst
|
|
254
|
-
- Fixed an error that occurred when a deleted process.artifact was referenced in
|
|
255
|
-
the process field data listing within templates.
|
|
256
|
-
- Allow to cancel Subprocess tasks
|
|
257
|
-
- Allow to cancel Function tasks
|
|
258
|
-
- Allow custom task models inherited from AbstactTask have no .seed and .data fields
|
|
259
|
-
|
|
260
|
-
### 2.2.5 2024-07-17
|
|
261
|
-
|
|
262
|
-
- The 'pattern' widget attribute is now passed to the underlying form input.
|
|
263
|
-
- Fixed issue with flow image reload.
|
|
264
|
-
- Fixed dashboard max height on pages with long sidebars.
|
|
265
|
-
- Added .get_success_url(request) shortcut method to StartViewActivation and
|
|
266
|
-
ViewActivation for convenient use in function-based views.
|
|
267
|
-
- Fixed duplicated task_finished signal on flow.View completion.
|
|
268
|
-
- Enabled callable defaults on jsonstore fields.
|
|
269
|
-
- Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
|
|
270
|
-
- Created cookbook demo for common workflow patterns
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### 2.2.4 2024-07-12
|
|
274
|
-
|
|
275
|
-
- Clone data, seed, and artifacts from canceled tasks to revived tasks.
|
|
276
|
-
- Enhance error handling for celery.Job.
|
|
277
|
-
- Improve the process cancellation template.
|
|
278
|
-
- Redirect to the task detail page after canceling or undoing actions, instead
|
|
279
|
-
of redirecting to the process detail page.
|
|
280
|
-
- Added links to parent subprocess and parent task on the subprocess process and
|
|
281
|
-
task details pages.
|
|
282
|
-
- Updated the Process.parent_task field to use related_name='subprocess',
|
|
283
|
-
allowing access to subprocesses via task.subprocess
|
|
284
|
-
- Enhanced CreateProcessView and UpdateProcessView to set process_seed and
|
|
285
|
-
artifact_generic_foreign_key fields based on form.cleaned_data, as Django
|
|
286
|
-
model forms do not handle this automatically.
|
|
287
|
-
- Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
|
|
288
|
-
- Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
|
|
289
|
-
- Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
|
|
290
|
-
- Fixed rendering of hidden field errors in forms.
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
### 2.2.3 2024-07-09
|
|
294
|
-
|
|
295
|
-
- Fixed issue with Split/Join operations when an immediate split to join
|
|
296
|
-
connection occurs.
|
|
297
|
-
- Improved redirect functionality for "Execute and Continue." Now redirects to
|
|
298
|
-
the process details if the process has finished.
|
|
299
|
-
- Enabled the Undo action for End() nodes.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
### 2.2.2 2024-07-05
|
|
303
|
-
|
|
304
|
-
- Introduced new parameters for .If().Then(.., task_data=, task_seed) and
|
|
305
|
-
.Else(...)
|
|
306
|
-
- Include {{ form.media }} into default workflow/task.html template
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
### 2.2.1 2024-07-03
|
|
310
|
-
|
|
311
|
-
- Introduced a new parameter for .Next(..., task_seed=) that allows the
|
|
312
|
-
instantiation of new tasks with additional initialized .seed generic foreign key
|
|
313
|
-
- Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
|
|
314
|
-
prodices outgoing tasks with initializaed .seed value
|
|
315
|
-
- Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
|
|
316
|
-
task_data=, task_seed=) allows to provide data nad seed for newly created
|
|
317
|
-
process and/or start task
|
|
318
|
-
|
|
319
|
-
### 2.2.0 2024-06-28
|
|
320
|
-
|
|
321
|
-
- Introduced a new parameter for .Next(..., task_data=) that allows the
|
|
322
|
-
instantiation of new tasks with additional initialized .data, enabling data to
|
|
323
|
-
be passed from task to task.
|
|
324
|
-
- Added process.seed and task.seed generic foreign keys to the default workflow
|
|
325
|
-
models. Along with process.artifact and task.artifact, these additions enable
|
|
326
|
-
tracking of business process results from start to finish.
|
|
327
|
-
- Renamed Split.Next(data_source=) to task_data_source=.
|
|
219
|
+
## 2.3.11 2025-05-14
|
|
220
|
+
|
|
221
|
+
- Return .Avaialble(..) for the start node
|
|
222
|
+
|
|
328
223
|
|
|
329
224
|
|
|
330
225
|
[build]: https://img.shields.io/github/actions/workflow/status/viewflow/viewflow/django.yml?branch=main
|
|
@@ -4,7 +4,7 @@ README = open("README.md", "r", encoding="utf-8").read()
|
|
|
4
4
|
|
|
5
5
|
setuptools.setup(
|
|
6
6
|
name="django-viewflow",
|
|
7
|
-
version="2.2.
|
|
7
|
+
version="2.2.11",
|
|
8
8
|
author_email="kmmbvnr@gmail.com",
|
|
9
9
|
author="Mikhail Podgurskiy",
|
|
10
10
|
description="Reusable library to build business applications fast",
|
|
@@ -16,7 +16,7 @@ setuptools.setup(
|
|
|
16
16
|
long_description_content_type="text/markdown",
|
|
17
17
|
long_description=README,
|
|
18
18
|
packages=setuptools.find_packages(exclude=["tests*"]),
|
|
19
|
-
python_requires=">=3.
|
|
19
|
+
python_requires=">=3.10",
|
|
20
20
|
zip_safe=False,
|
|
21
21
|
classifiers=[
|
|
22
22
|
"Development Status :: 5 - Production/Stable",
|
|
@@ -26,10 +26,10 @@ setuptools.setup(
|
|
|
26
26
|
"Framework :: Django",
|
|
27
27
|
"Framework :: Django :: 4.2",
|
|
28
28
|
"Framework :: Django :: 5.0",
|
|
29
|
+
"Framework :: Django :: 5.1",
|
|
30
|
+
"Framework :: Django :: 5.2",
|
|
29
31
|
"Programming Language :: Python :: 3",
|
|
30
32
|
"Programming Language :: Python :: 3 :: Only",
|
|
31
|
-
"Programming Language :: Python :: 3.8",
|
|
32
|
-
"Programming Language :: Python :: 3.9",
|
|
33
33
|
"Programming Language :: Python :: 3.10",
|
|
34
34
|
"Programming Language :: Python :: 3.11",
|
|
35
35
|
"Programming Language :: Python :: 3.12",
|
|
@@ -36,7 +36,7 @@ class Transition:
|
|
|
36
36
|
self,
|
|
37
37
|
func: TransitionFunction,
|
|
38
38
|
source: StateValue,
|
|
39
|
-
target: Optional[StateValue],
|
|
39
|
+
target: Optional[StateValue] = DEFAULT,
|
|
40
40
|
label: Optional[str] = None,
|
|
41
41
|
conditions: Optional[List[Condition]] = None,
|
|
42
42
|
permission: Optional[Permission] = DEFAULT,
|
|
@@ -56,6 +56,9 @@ class Transition:
|
|
|
56
56
|
def __str__(self) -> str:
|
|
57
57
|
return f"{self.label} Transition"
|
|
58
58
|
|
|
59
|
+
def __lt__(self, other) -> bool:
|
|
60
|
+
return self.label < other.label
|
|
61
|
+
|
|
59
62
|
@property
|
|
60
63
|
def label(self) -> str:
|
|
61
64
|
"""Return the human-readable label for the transition."""
|
|
@@ -161,7 +164,7 @@ class TransitionBoundMethod:
|
|
|
161
164
|
)
|
|
162
165
|
|
|
163
166
|
self.target_state = transition.target
|
|
164
|
-
if self.target_state:
|
|
167
|
+
if self.target_state is not DEFAULT:
|
|
165
168
|
self.parent._state.set(self.parent._instance, self.target_state)
|
|
166
169
|
|
|
167
170
|
def __exit__(
|
|
@@ -409,7 +412,7 @@ class State:
|
|
|
409
412
|
def transition(
|
|
410
413
|
self,
|
|
411
414
|
source: StateValue,
|
|
412
|
-
target: Optional[StateValue] =
|
|
415
|
+
target: Optional[StateValue] = DEFAULT,
|
|
413
416
|
label: Optional[str] = None,
|
|
414
417
|
conditions: Optional[List[Condition]] = None,
|
|
415
418
|
permission: Optional[Permission] = DEFAULT,
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
# 'COMM_LICENSE', which is part of this source code package.
|
|
6
6
|
|
|
7
7
|
from enum import Enum
|
|
8
|
-
from typing import List, Set, Tuple
|
|
8
|
+
from typing import List, Set, Tuple, Union
|
|
9
9
|
from django.db.models import Choices
|
|
10
10
|
from .base import State, StateDescriptor, Transition
|
|
11
11
|
from .typing import StateValue
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
def get_state_name(state_value):
|
|
14
|
+
def get_state_name(state_value: StateValue) -> str:
|
|
15
15
|
if isinstance(state_value, Enum):
|
|
16
16
|
return str(state_value.value)
|
|
17
17
|
return str(state_value)
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
def get_state_label(state_value):
|
|
20
|
+
def get_state_label(state_value: StateValue) -> str:
|
|
21
21
|
if isinstance(state_value, Choices):
|
|
22
22
|
return state_value.label
|
|
23
23
|
elif isinstance(state_value, Enum):
|