django-viewflow 2.2.10__tar.gz → 2.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. {django_viewflow-2.2.10/django_viewflow.egg-info → django_viewflow-2.2.12}/PKG-INFO +8 -122
  2. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/README.md +8 -122
  3. {django_viewflow-2.2.10 → django_viewflow-2.2.12/django_viewflow.egg-info}/PKG-INFO +8 -122
  4. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/setup.py +1 -1
  5. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_data.html +2 -2
  6. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/utils.py +5 -5
  7. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/base.py +1 -1
  8. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/start.py +15 -0
  9. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/LICENSE +0 -0
  10. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/LICENSE_EXCEPTION +0 -0
  11. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/MANIFEST.in +0 -0
  12. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/django_viewflow.egg-info/SOURCES.txt +0 -0
  13. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/django_viewflow.egg-info/dependency_links.txt +0 -0
  14. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/django_viewflow.egg-info/not-zip-safe +0 -0
  15. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/django_viewflow.egg-info/requires.txt +0 -0
  16. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/django_viewflow.egg-info/top_level.txt +0 -0
  17. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/setup.cfg +0 -0
  18. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_middleware.py +0 -0
  19. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_templates.py +0 -0
  20. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_templatetags__viewflow.py +0 -0
  21. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_this_object.py +0 -0
  22. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_urls__base.py +0 -0
  23. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/tests/test_utils__package.py +0 -0
  24. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/__init__.py +0 -0
  25. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/apps.py +0 -0
  26. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/conf.py +0 -0
  27. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/__init__.py +0 -0
  28. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/admin/__init__.py +0 -0
  29. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/admin/apps.py +0 -0
  30. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/auth.py +0 -0
  31. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/plotly/__init__.py +0 -0
  32. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/plotly/material.py +0 -0
  33. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/plotly/views.py +0 -0
  34. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/contrib/plotly/viewset.py +0 -0
  35. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fields.py +0 -0
  36. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/forms/__init__.py +0 -0
  37. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/forms/renderers.py +0 -0
  38. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/__init__.py +0 -0
  39. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/admin.py +0 -0
  40. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/base.py +0 -0
  41. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/chart.py +0 -0
  42. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/typing.py +0 -0
  43. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/views.py +0 -0
  44. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/fsm/viewset.py +0 -0
  45. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/jsonstore.py +0 -0
  46. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/de/LC_MESSAGES/django.mo +0 -0
  47. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/de/LC_MESSAGES/django.po +0 -0
  48. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/es/LC_MESSAGES/django.mo +0 -0
  49. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/es/LC_MESSAGES/django.po +0 -0
  50. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/fr/LC_MESSAGES/django.mo +0 -0
  51. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/fr/LC_MESSAGES/django.po +0 -0
  52. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/it/LC_MESSAGES/django.mo +0 -0
  53. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/it/LC_MESSAGES/django.po +0 -0
  54. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ja/LC_MESSAGES/django.mo +0 -0
  55. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ja/LC_MESSAGES/django.po +0 -0
  56. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/kk/LC_MESSAGES/django.mo +0 -0
  57. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/kk/LC_MESSAGES/django.po +0 -0
  58. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ko/LC_MESSAGES/django.mo +0 -0
  59. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ko/LC_MESSAGES/django.po +0 -0
  60. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/pt/LC_MESSAGES/django.mo +0 -0
  61. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/pt/LC_MESSAGES/django.po +0 -0
  62. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ru/LC_MESSAGES/django.mo +0 -0
  63. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/ru/LC_MESSAGES/django.po +0 -0
  64. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/sr/LC_MESSAGES/django.mo +0 -0
  65. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/sr/LC_MESSAGES/django.po +0 -0
  66. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  67. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
  68. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/management/__init__.py +0 -0
  69. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/management/commands/__init__.py +0 -0
  70. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/management/commands/flowexport.py +0 -0
  71. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/middleware.py +0 -0
  72. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/css/perfect-scrollbar.css +0 -0
  73. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/css/trix.css +0 -0
  74. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/css/viewflow.min.css +0 -0
  75. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/css/vis-network.min.css +0 -0
  76. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-outlined.woff +0 -0
  77. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-outlined.woff2 +0 -0
  78. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-round.woff +0 -0
  79. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-round.woff2 +0 -0
  80. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-sharp.woff +0 -0
  81. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-sharp.woff2 +0 -0
  82. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-two-tone.woff +0 -0
  83. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons-two-tone.woff2 +0 -0
  84. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons.css +0 -0
  85. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons.woff +0 -0
  86. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/material-icons/material-icons.woff2 +0 -0
  87. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Black.woff +0 -0
  88. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Black.woff2 +0 -0
  89. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-BlackItalic.woff +0 -0
  90. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-BlackItalic.woff2 +0 -0
  91. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Bold.woff +0 -0
  92. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Bold.woff2 +0 -0
  93. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-BoldItalic.woff +0 -0
  94. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-BoldItalic.woff2 +0 -0
  95. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Light.woff +0 -0
  96. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Light.woff2 +0 -0
  97. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-LightItalic.woff +0 -0
  98. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-LightItalic.woff2 +0 -0
  99. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Medium.woff +0 -0
  100. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Medium.woff2 +0 -0
  101. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-MediumItalic.woff +0 -0
  102. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-MediumItalic.woff2 +0 -0
  103. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Regular.woff +0 -0
  104. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Regular.woff2 +0 -0
  105. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-RegularItalic.woff +0 -0
  106. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-RegularItalic.woff2 +0 -0
  107. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Thin.woff +0 -0
  108. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-Thin.woff2 +0 -0
  109. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-ThinItalic.woff +0 -0
  110. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/Roboto-ThinItalic.woff2 +0 -0
  111. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/roboto/roboto-fontface.css +0 -0
  112. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.eot +0 -0
  113. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.otf +0 -0
  114. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.ttf +0 -0
  115. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.woff +0 -0
  116. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/SimpleIcons.woff2 +0 -0
  117. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/simple-icons.css +0 -0
  118. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/fonts/simple-icons/simple-icons.min.css +0 -0
  119. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/img/favicon.png +0 -0
  120. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/img/user.png +0 -0
  121. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash-renderer/build/dash_renderer.min.js +0 -0
  122. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js +0 -0
  123. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js.LICENSE.txt +0 -0
  124. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-export.js.map +0 -0
  125. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-highlight.js +0 -0
  126. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-highlight.js.map +0 -0
  127. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js +0 -0
  128. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js.LICENSE.txt +0 -0
  129. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/async-table.js.map +0 -0
  130. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/bundle.js +0 -0
  131. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dash_table/bundle.js.map +0 -0
  132. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-datepicker.js +0 -0
  133. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-datepicker.js.map +0 -0
  134. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js +0 -0
  135. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js.LICENSE.txt +0 -0
  136. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-dropdown.js.map +0 -0
  137. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js +0 -0
  138. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js.LICENSE.txt +0 -0
  139. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-graph.js.map +0 -0
  140. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-highlight.js +0 -0
  141. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-highlight.js.map +0 -0
  142. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js +0 -0
  143. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js.LICENSE.txt +0 -0
  144. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-markdown.js.map +0 -0
  145. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-plotlyjs.js +0 -0
  146. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-plotlyjs.js.LICENSE.txt +0 -0
  147. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js +0 -0
  148. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js.LICENSE.txt +0 -0
  149. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-slider.js.map +0 -0
  150. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-upload.js +0 -0
  151. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/async-upload.js.map +0 -0
  152. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js +0 -0
  153. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js.LICENSE.txt +0 -0
  154. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components-shared.js.map +0 -0
  155. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js +0 -0
  156. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js.LICENSE.txt +0 -0
  157. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/dash_core_components.js.map +0 -0
  158. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/dcc/plotly.min.js +0 -0
  159. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/deps/polyfill@7.12.1.min.js +0 -0
  160. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/deps/prop-types@15.7.2.min.js +0 -0
  161. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/deps/prop-types@15.8.1.min.js +0 -0
  162. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/deps/react-dom@16.14.0.min.js +0 -0
  163. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/deps/react@16.14.0.min.js +0 -0
  164. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/html/dash_html_components.min.js +0 -0
  165. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/contrib/dash/html/dash_html_components.min.js.map +0 -0
  166. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/perfect-scrollbar.min.js +0 -0
  167. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/perfect-scrollbar.min.js.map +0 -0
  168. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/smartcrop.js +0 -0
  169. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/trix.js +0 -0
  170. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/turbo.es2017-umd.js +0 -0
  171. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/viewflow.min.js +0 -0
  172. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/viewflow.min.js.map +0 -0
  173. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/vis-network.min.js +0 -0
  174. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/static/viewflow/js/vis-network.min.js.map +0 -0
  175. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/400.html +0 -0
  176. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/403.html +0 -0
  177. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/404.html +0 -0
  178. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/500.html +0 -0
  179. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/admin/fsm_change_form.html +0 -0
  180. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/admin/fsm_change_form_object_tools.html +0 -0
  181. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/admin/fsm_change_list.html +0 -0
  182. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/admin/fsm_transition_form.html +0 -0
  183. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/formtools/wizard/wizard_form.html +0 -0
  184. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/logged_out.html +0 -0
  185. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/login.html +0 -0
  186. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_change_done.html +0 -0
  187. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_change_form.html +0 -0
  188. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_reset_complete.html +0 -0
  189. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_reset_confirm.html +0 -0
  190. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_reset_done.html +0 -0
  191. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/password_reset_form.html +0 -0
  192. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/profile.html +0 -0
  193. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/registration/provider_list.html +0 -0
  194. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/base.html +0 -0
  195. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/base_lockscreen.html +0 -0
  196. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/base_page.html +0 -0
  197. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/contrib/import_export/export_action.html +0 -0
  198. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/contrib/import_export/import_action.html +0 -0
  199. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/contrib/plotly.html +0 -0
  200. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/contrib/swagger.html +0 -0
  201. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/app_menu.html +0 -0
  202. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/list_bulk_actions.html +0 -0
  203. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/list_filter.html +0 -0
  204. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/list_pagination.html +0 -0
  205. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/object_detail_card.html +0 -0
  206. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/site_menu.html +0 -0
  207. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/snackbar.html +0 -0
  208. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/view_action_menu.html +0 -0
  209. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/viewflow_css.html +0 -0
  210. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/includes/viewflow_js.html +0 -0
  211. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/material/circular_progress.html +0 -0
  212. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/confirm_delete.html +0 -0
  213. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/delete_action.html +0 -0
  214. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/detail.html +0 -0
  215. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/form.html +0 -0
  216. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/list.html +0 -0
  217. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/views/transition.html +0 -0
  218. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/assign.html +0 -0
  219. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/base_page.html +0 -0
  220. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/celery_task_detail.html +0 -0
  221. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/flow_menu.html +0 -0
  222. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/graph.bpmn +0 -0
  223. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/graph.svg +0 -0
  224. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_cancel.html +0 -0
  225. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_dashboard.html +0 -0
  226. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_detail.html +0 -0
  227. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_list.html +0 -0
  228. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/process_tasks_list.html +0 -0
  229. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/start.html +0 -0
  230. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task.html +0 -0
  231. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_assign.html +0 -0
  232. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_base.html +0 -0
  233. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_cancel.html +0 -0
  234. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_data.html +0 -0
  235. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_detail.html +0 -0
  236. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_list.html +0 -0
  237. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_revive.html +0 -0
  238. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_unassign.html +0 -0
  239. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/task_undo.html +0 -0
  240. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/tasks_assign.html +0 -0
  241. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/tasks_unassign.html +0 -0
  242. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/workflow_menu.html +0 -0
  243. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templates/viewflow/workflow/workflow_tasks_list.html +0 -0
  244. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templatetags/__init__.py +0 -0
  245. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templatetags/fsm.py +0 -0
  246. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templatetags/viewflow.py +0 -0
  247. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/templatetags/workflow.py +0 -0
  248. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/this_object.py +0 -0
  249. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/urls/__init__.py +0 -0
  250. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/urls/base.py +0 -0
  251. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/urls/model.py +0 -0
  252. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/urls/sites.py +0 -0
  253. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/__init__.py +0 -0
  254. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/actions.py +0 -0
  255. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/create.py +0 -0
  256. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/delete.py +0 -0
  257. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/detail.py +0 -0
  258. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/filters.py +0 -0
  259. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/list.py +0 -0
  260. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/search.py +0 -0
  261. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/views/update.py +0 -0
  262. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/__init__.py +0 -0
  263. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/activation.py +0 -0
  264. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/admin.py +0 -0
  265. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/apps.py +0 -0
  266. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/base.py +0 -0
  267. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/chart.py +0 -0
  268. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/context.py +0 -0
  269. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/exceptions.py +0 -0
  270. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/fields.py +0 -0
  271. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/__init__.py +0 -0
  272. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/mixins.py +0 -0
  273. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/nodes.py +0 -0
  274. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/utils.py +0 -0
  275. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/__init__.py +0 -0
  276. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/actions.py +0 -0
  277. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/chart.py +0 -0
  278. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/create.py +0 -0
  279. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/dashboard.py +0 -0
  280. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/detail.py +0 -0
  281. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/filters.py +0 -0
  282. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/list.py +0 -0
  283. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/mixins.py +0 -0
  284. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/views/update.py +0 -0
  285. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/flow/viewset.py +0 -0
  286. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/lock.py +0 -0
  287. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/managers.py +0 -0
  288. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0001_initial.py +0 -0
  289. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0002_fsmchange.py +0 -0
  290. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0003_task_owner_permission_change.py +0 -0
  291. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0004_extend_fields_length.py +0 -0
  292. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0004_subprocess.py +0 -0
  293. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0005_merge.py +0 -0
  294. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0005_rename_flowcls.py +0 -0
  295. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0006_i18n.py +0 -0
  296. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0006_merge.py +0 -0
  297. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0007_owner_permission_obj.py +0 -0
  298. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0007_task_assigned.py +0 -0
  299. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0008_jsonfield_and_artifact.py +0 -0
  300. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0008_merge.py +0 -0
  301. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0009_merge.py +0 -0
  302. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0010_viewflow20.py +0 -0
  303. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0011_alter_task_created_and_more.py +0 -0
  304. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0012_alter_process_data_alter_task_data.py +0 -0
  305. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0013_process_seed_content_type_process_seed_object_id_and_more.py +0 -0
  306. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/0014_alter_process_parent_task.py +0 -0
  307. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/migrations/__init__.py +0 -0
  308. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/models.py +0 -0
  309. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/__init__.py +0 -0
  310. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/end.py +0 -0
  311. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/func.py +0 -0
  312. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/handle.py +0 -0
  313. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/if_gate.py +0 -0
  314. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/job.py +0 -0
  315. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/join.py +0 -0
  316. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/mixins.py +0 -0
  317. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/obsolete.py +0 -0
  318. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/split.py +0 -0
  319. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/switch.py +0 -0
  320. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/nodes/view.py +0 -0
  321. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/signals.py +0 -0
  322. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/status.py +0 -0
  323. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/token.py +0 -0
  324. {django_viewflow-2.2.10 → django_viewflow-2.2.12}/viewflow/workflow/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-viewflow
3
- Version: 2.2.10
3
+ Version: 2.2.12
4
4
  Summary: Reusable library to build business applications fast
5
5
  Author: Mikhail Podgurskiy
6
6
  Author-email: kmmbvnr@gmail.com
@@ -229,128 +229,14 @@ modifications of Viewflow. You can find the commercial license terms in
229
229
 
230
230
  ## Changelog
231
231
 
232
- ## 2.3.0 GIT Version
233
-
234
- - Added FormAjaxCompleteMixin, FormDependentSelectMixin to default create and update workflow process views
235
- - Extended patterns demo with user resources allocation samples https://demo.viewflow.io/patterns/resource_allocation/
232
+ # 2.2.12 2025-07-25
233
+
234
+ - Allow to extend and override process_data template
235
+
236
+ ## 2.2.11 2025-05-14
237
+
238
+ - Return .Avaialble(..) for the start node
236
239
 
237
- ### 2.2.9 2025-01-08
238
-
239
- - Enhanced validation for flow_refs and task_refs to ensure accuracy and consistency.
240
- - Resolved an issue with canceling processes containing revived tasks.
241
- - Corrected the password reset confirmation email template for better functionality.
242
- - Fixed multipart form type detection for forms with file fields in formsets.
243
-
244
-
245
- ### 2.2.8 2024-10-04
246
-
247
- - Prevent exceptions from being raised by Process/Task models when a flow class
248
- is deleted but still referenced in the database.
249
- - Fix serialization issue with jsonstore.DecimalField.
250
- - Add missing 'index' view for celery.Task node.
251
- - Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
252
- - Correct invalid typing for FSM conditions.
253
- - Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
254
- - Add support for MultiValueField and django-money fields form rendering
255
-
256
-
257
- ### 2.2.7 2024-08-16
258
-
259
- - Added compatibility fix for Python 3.8.
260
- - Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
261
- - Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
262
- - Introduced an experimental JSONEditorWidget.
263
- - Fixed issue with saving the state of revived tasks.
264
- - Enabled the option to cancel If tasks.
265
- - Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
266
- - Added support for using DependentModelSelect in formsets.
267
- - Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
268
- - Corrected typo in the deletion success message.
269
- - Test under django 5.1
270
-
271
- ### 2.2.6 2024-08-04
272
-
273
- - Resolved the flow.If condition's this reference during class construction.
274
- - Improved error handling when a Celery task finishes.
275
- - Fixed an issue where errors occurring in a task after a successful celery.Job
276
- task incorrectly prevented the job task from being marked as completed, with
277
- the errored task correctly put into an error state.
278
- - Redirect to the next process task now will take into account tasks in the ERROR state
279
- - Add ability to revive flow.Function and flow.SplitFirst
280
- - Fixed an error that occurred when a deleted process.artifact was referenced in
281
- the process field data listing within templates.
282
- - Allow to cancel Subprocess tasks
283
- - Allow to cancel Function tasks
284
- - Allow custom task models inherited from AbstactTask have no .seed and .data fields
285
-
286
- ### 2.2.5 2024-07-17
287
-
288
- - The 'pattern' widget attribute is now passed to the underlying form input.
289
- - Fixed issue with flow image reload.
290
- - Fixed dashboard max height on pages with long sidebars.
291
- - Added .get_success_url(request) shortcut method to StartViewActivation and
292
- ViewActivation for convenient use in function-based views.
293
- - Fixed duplicated task_finished signal on flow.View completion.
294
- - Enabled callable defaults on jsonstore fields.
295
- - Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
296
- - Created cookbook demo for common workflow patterns
297
-
298
-
299
- ### 2.2.4 2024-07-12
300
-
301
- - Clone data, seed, and artifacts from canceled tasks to revived tasks.
302
- - Enhance error handling for celery.Job.
303
- - Improve the process cancellation template.
304
- - Redirect to the task detail page after canceling or undoing actions, instead
305
- of redirecting to the process detail page.
306
- - Added links to parent subprocess and parent task on the subprocess process and
307
- task details pages.
308
- - Updated the Process.parent_task field to use related_name='subprocess',
309
- allowing access to subprocesses via task.subprocess
310
- - Enhanced CreateProcessView and UpdateProcessView to set process_seed and
311
- artifact_generic_foreign_key fields based on form.cleaned_data, as Django
312
- model forms do not handle this automatically.
313
- - Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
314
- - Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
315
- - Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
316
- - Fixed rendering of hidden field errors in forms.
317
-
318
-
319
- ### 2.2.3 2024-07-09
320
-
321
- - Fixed issue with Split/Join operations when an immediate split to join
322
- connection occurs.
323
- - Improved redirect functionality for "Execute and Continue." Now redirects to
324
- the process details if the process has finished.
325
- - Enabled the Undo action for End() nodes.
326
-
327
-
328
- ### 2.2.2 2024-07-05
329
-
330
- - Introduced new parameters for .If().Then(.., task_data=, task_seed) and
331
- .Else(...)
332
- - Include {{ form.media }} into default workflow/task.html template
333
-
334
-
335
- ### 2.2.1 2024-07-03
336
-
337
- - Introduced a new parameter for .Next(..., task_seed=) that allows the
338
- instantiation of new tasks with additional initialized .seed generic foreign key
339
- - Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
340
- prodices outgoing tasks with initializaed .seed value
341
- - Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
342
- task_data=, task_seed=) allows to provide data nad seed for newly created
343
- process and/or start task
344
-
345
- ### 2.2.0 2024-06-28
346
-
347
- - Introduced a new parameter for .Next(..., task_data=) that allows the
348
- instantiation of new tasks with additional initialized .data, enabling data to
349
- be passed from task to task.
350
- - Added process.seed and task.seed generic foreign keys to the default workflow
351
- models. Along with process.artifact and task.artifact, these additions enable
352
- tracking of business process results from start to finish.
353
- - Renamed Split.Next(data_source=) to task_data_source=.
354
240
 
355
241
 
356
242
  [build]: https://img.shields.io/github/actions/workflow/status/viewflow/viewflow/django.yml?branch=main
@@ -187,128 +187,14 @@ modifications of Viewflow. You can find the commercial license terms in
187
187
 
188
188
  ## Changelog
189
189
 
190
- ## 2.3.0 GIT Version
191
-
192
- - Added FormAjaxCompleteMixin, FormDependentSelectMixin to default create and update workflow process views
193
- - Extended patterns demo with user resources allocation samples https://demo.viewflow.io/patterns/resource_allocation/
194
-
195
- ### 2.2.9 2025-01-08
196
-
197
- - Enhanced validation for flow_refs and task_refs to ensure accuracy and consistency.
198
- - Resolved an issue with canceling processes containing revived tasks.
199
- - Corrected the password reset confirmation email template for better functionality.
200
- - Fixed multipart form type detection for forms with file fields in formsets.
201
-
202
-
203
- ### 2.2.8 2024-10-04
204
-
205
- - Prevent exceptions from being raised by Process/Task models when a flow class
206
- is deleted but still referenced in the database.
207
- - Fix serialization issue with jsonstore.DecimalField.
208
- - Add missing 'index' view for celery.Task node.
209
- - Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
210
- - Correct invalid typing for FSM conditions.
211
- - Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
212
- - Add support for MultiValueField and django-money fields form rendering
213
-
214
-
215
- ### 2.2.7 2024-08-16
216
-
217
- - Added compatibility fix for Python 3.8.
218
- - Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
219
- - Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
220
- - Introduced an experimental JSONEditorWidget.
221
- - Fixed issue with saving the state of revived tasks.
222
- - Enabled the option to cancel If tasks.
223
- - Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
224
- - Added support for using DependentModelSelect in formsets.
225
- - Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
226
- - Corrected typo in the deletion success message.
227
- - Test under django 5.1
228
-
229
- ### 2.2.6 2024-08-04
230
-
231
- - Resolved the flow.If condition's this reference during class construction.
232
- - Improved error handling when a Celery task finishes.
233
- - Fixed an issue where errors occurring in a task after a successful celery.Job
234
- task incorrectly prevented the job task from being marked as completed, with
235
- the errored task correctly put into an error state.
236
- - Redirect to the next process task now will take into account tasks in the ERROR state
237
- - Add ability to revive flow.Function and flow.SplitFirst
238
- - Fixed an error that occurred when a deleted process.artifact was referenced in
239
- the process field data listing within templates.
240
- - Allow to cancel Subprocess tasks
241
- - Allow to cancel Function tasks
242
- - Allow custom task models inherited from AbstactTask have no .seed and .data fields
243
-
244
- ### 2.2.5 2024-07-17
245
-
246
- - The 'pattern' widget attribute is now passed to the underlying form input.
247
- - Fixed issue with flow image reload.
248
- - Fixed dashboard max height on pages with long sidebars.
249
- - Added .get_success_url(request) shortcut method to StartViewActivation and
250
- ViewActivation for convenient use in function-based views.
251
- - Fixed duplicated task_finished signal on flow.View completion.
252
- - Enabled callable defaults on jsonstore fields.
253
- - Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
254
- - Created cookbook demo for common workflow patterns
255
-
256
-
257
- ### 2.2.4 2024-07-12
258
-
259
- - Clone data, seed, and artifacts from canceled tasks to revived tasks.
260
- - Enhance error handling for celery.Job.
261
- - Improve the process cancellation template.
262
- - Redirect to the task detail page after canceling or undoing actions, instead
263
- of redirecting to the process detail page.
264
- - Added links to parent subprocess and parent task on the subprocess process and
265
- task details pages.
266
- - Updated the Process.parent_task field to use related_name='subprocess',
267
- allowing access to subprocesses via task.subprocess
268
- - Enhanced CreateProcessView and UpdateProcessView to set process_seed and
269
- artifact_generic_foreign_key fields based on form.cleaned_data, as Django
270
- model forms do not handle this automatically.
271
- - Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
272
- - Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
273
- - Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
274
- - Fixed rendering of hidden field errors in forms.
275
-
276
-
277
- ### 2.2.3 2024-07-09
278
-
279
- - Fixed issue with Split/Join operations when an immediate split to join
280
- connection occurs.
281
- - Improved redirect functionality for "Execute and Continue." Now redirects to
282
- the process details if the process has finished.
283
- - Enabled the Undo action for End() nodes.
284
-
285
-
286
- ### 2.2.2 2024-07-05
287
-
288
- - Introduced new parameters for .If().Then(.., task_data=, task_seed) and
289
- .Else(...)
290
- - Include {{ form.media }} into default workflow/task.html template
291
-
292
-
293
- ### 2.2.1 2024-07-03
294
-
295
- - Introduced a new parameter for .Next(..., task_seed=) that allows the
296
- instantiation of new tasks with additional initialized .seed generic foreign key
297
- - Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
298
- prodices outgoing tasks with initializaed .seed value
299
- - Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
300
- task_data=, task_seed=) allows to provide data nad seed for newly created
301
- process and/or start task
302
-
303
- ### 2.2.0 2024-06-28
304
-
305
- - Introduced a new parameter for .Next(..., task_data=) that allows the
306
- instantiation of new tasks with additional initialized .data, enabling data to
307
- be passed from task to task.
308
- - Added process.seed and task.seed generic foreign keys to the default workflow
309
- models. Along with process.artifact and task.artifact, these additions enable
310
- tracking of business process results from start to finish.
311
- - Renamed Split.Next(data_source=) to task_data_source=.
190
+ # 2.2.12 2025-07-25
191
+
192
+ - Allow to extend and override process_data template
193
+
194
+ ## 2.2.11 2025-05-14
195
+
196
+ - Return .Avaialble(..) for the start node
197
+
312
198
 
313
199
 
314
200
  [build]: https://img.shields.io/github/actions/workflow/status/viewflow/viewflow/django.yml?branch=main
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-viewflow
3
- Version: 2.2.10
3
+ Version: 2.2.12
4
4
  Summary: Reusable library to build business applications fast
5
5
  Author: Mikhail Podgurskiy
6
6
  Author-email: kmmbvnr@gmail.com
@@ -229,128 +229,14 @@ modifications of Viewflow. You can find the commercial license terms in
229
229
 
230
230
  ## Changelog
231
231
 
232
- ## 2.3.0 GIT Version
233
-
234
- - Added FormAjaxCompleteMixin, FormDependentSelectMixin to default create and update workflow process views
235
- - Extended patterns demo with user resources allocation samples https://demo.viewflow.io/patterns/resource_allocation/
232
+ # 2.2.12 2025-07-25
233
+
234
+ - Allow to extend and override process_data template
235
+
236
+ ## 2.2.11 2025-05-14
237
+
238
+ - Return .Avaialble(..) for the start node
236
239
 
237
- ### 2.2.9 2025-01-08
238
-
239
- - Enhanced validation for flow_refs and task_refs to ensure accuracy and consistency.
240
- - Resolved an issue with canceling processes containing revived tasks.
241
- - Corrected the password reset confirmation email template for better functionality.
242
- - Fixed multipart form type detection for forms with file fields in formsets.
243
-
244
-
245
- ### 2.2.8 2024-10-04
246
-
247
- - Prevent exceptions from being raised by Process/Task models when a flow class
248
- is deleted but still referenced in the database.
249
- - Fix serialization issue with jsonstore.DecimalField.
250
- - Add missing 'index' view for celery.Task node.
251
- - Enable recovery of flow.Subprocess and flow.NSubprocess nodes from error state.
252
- - Correct invalid typing for FSM conditions.
253
- - Allow setting permission=None in the FSM @transition decorator to explicitly bypass permission checks.
254
- - Add support for MultiValueField and django-money fields form rendering
255
-
256
-
257
- ### 2.2.7 2024-08-16
258
-
259
- - Added compatibility fix for Python 3.8.
260
- - Extend documentation with data management explanation - https://docs.viewflow.io/workflow/data_flow.html
261
- - Expanded documentation to cover permission management - https://docs.viewflow.io/workflow/permissions.html
262
- - Introduced an experimental JSONEditorWidget.
263
- - Fixed issue with saving the state of revived tasks.
264
- - Enabled the option to cancel If tasks.
265
- - Updated default FSM state change in FlowViewsMixin to now use transaction.atomic.
266
- - Added support for using DependentModelSelect in formsets.
267
- - Enabled AjaxModelSelect to function as a dependency for DependentModelSelect
268
- - Corrected typo in the deletion success message.
269
- - Test under django 5.1
270
-
271
- ### 2.2.6 2024-08-04
272
-
273
- - Resolved the flow.If condition's this reference during class construction.
274
- - Improved error handling when a Celery task finishes.
275
- - Fixed an issue where errors occurring in a task after a successful celery.Job
276
- task incorrectly prevented the job task from being marked as completed, with
277
- the errored task correctly put into an error state.
278
- - Redirect to the next process task now will take into account tasks in the ERROR state
279
- - Add ability to revive flow.Function and flow.SplitFirst
280
- - Fixed an error that occurred when a deleted process.artifact was referenced in
281
- the process field data listing within templates.
282
- - Allow to cancel Subprocess tasks
283
- - Allow to cancel Function tasks
284
- - Allow custom task models inherited from AbstactTask have no .seed and .data fields
285
-
286
- ### 2.2.5 2024-07-17
287
-
288
- - The 'pattern' widget attribute is now passed to the underlying form input.
289
- - Fixed issue with flow image reload.
290
- - Fixed dashboard max height on pages with long sidebars.
291
- - Added .get_success_url(request) shortcut method to StartViewActivation and
292
- ViewActivation for convenient use in function-based views.
293
- - Fixed duplicated task_finished signal on flow.View completion.
294
- - Enabled callable defaults on jsonstore fields.
295
- - Improved SVG and BPMN export shapes for SplitFirst and Timer Tasks.
296
- - Created cookbook demo for common workflow patterns
297
-
298
-
299
- ### 2.2.4 2024-07-12
300
-
301
- - Clone data, seed, and artifacts from canceled tasks to revived tasks.
302
- - Enhance error handling for celery.Job.
303
- - Improve the process cancellation template.
304
- - Redirect to the task detail page after canceling or undoing actions, instead
305
- of redirecting to the process detail page.
306
- - Added links to parent subprocess and parent task on the subprocess process and
307
- task details pages.
308
- - Updated the Process.parent_task field to use related_name='subprocess',
309
- allowing access to subprocesses via task.subprocess
310
- - Enhanced CreateProcessView and UpdateProcessView to set process_seed and
311
- artifact_generic_foreign_key fields based on form.cleaned_data, as Django
312
- model forms do not handle this automatically.
313
- - Added tasks with an ERROR status to the process dashboard for better visibility and tracking.
314
- - Added tooltip hover titles to nodes without text labels in the SVG workflow graph.
315
- - Marked StartHandler nodes as BPMN Start Message events on the SVG graph.
316
- - Fixed rendering of hidden field errors in forms.
317
-
318
-
319
- ### 2.2.3 2024-07-09
320
-
321
- - Fixed issue with Split/Join operations when an immediate split to join
322
- connection occurs.
323
- - Improved redirect functionality for "Execute and Continue." Now redirects to
324
- the process details if the process has finished.
325
- - Enabled the Undo action for End() nodes.
326
-
327
-
328
- ### 2.2.2 2024-07-05
329
-
330
- - Introduced new parameters for .If().Then(.., task_data=, task_seed) and
331
- .Else(...)
332
- - Include {{ form.media }} into default workflow/task.html template
333
-
334
-
335
- ### 2.2.1 2024-07-03
336
-
337
- - Introduced a new parameter for .Next(..., task_seed=) that allows the
338
- instantiation of new tasks with additional initialized .seed generic foreign key
339
- - Introduced a new parameter for .Split(..., task_seed_source=) same as task_data_source,
340
- prodices outgoing tasks with initializaed .seed value
341
- - Introduced a new parameter for flow.Subprocess(process_data=, process_seed=,
342
- task_data=, task_seed=) allows to provide data nad seed for newly created
343
- process and/or start task
344
-
345
- ### 2.2.0 2024-06-28
346
-
347
- - Introduced a new parameter for .Next(..., task_data=) that allows the
348
- instantiation of new tasks with additional initialized .data, enabling data to
349
- be passed from task to task.
350
- - Added process.seed and task.seed generic foreign keys to the default workflow
351
- models. Along with process.artifact and task.artifact, these additions enable
352
- tracking of business process results from start to finish.
353
- - Renamed Split.Next(data_source=) to task_data_source=.
354
240
 
355
241
 
356
242
  [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.10",
7
+ version="2.2.12",
8
8
  author_email="kmmbvnr@gmail.com",
9
9
  author="Mikhail Podgurskiy",
10
10
  description="Reusable library to build business applications fast",
@@ -1,5 +1,5 @@
1
1
  {% load viewflow i18n %}
2
- <div class="mdc-card vf-card">
2
+ {% block content %}<div class="mdc-card vf-card">
3
3
  <section class="vf-card__header">
4
4
  <h1 class="vf-card__title">{{ process }}</h1>
5
5
  </section>
@@ -50,4 +50,4 @@
50
50
  </tbody>
51
51
  </table>
52
52
  </section>
53
- </div>
53
+ </div>{% endblock %}
@@ -6,7 +6,7 @@
6
6
  # which is part of this source code package.
7
7
 
8
8
  import re
9
- from typing import Any, Callable, Iterator, List, Optional, Tuple, Type, TypeVar
9
+ from typing import Any, Callable, Iterator, List, Optional, Tuple, Type, TypeVar, Generic
10
10
 
11
11
  from django.apps import apps
12
12
  from django.conf import settings
@@ -159,7 +159,7 @@ class viewprop:
159
159
  return "<view_property func={}>".format(self.fget)
160
160
 
161
161
 
162
- class LazySingletonDescriptor:
162
+ class LazySingletonDescriptor(Generic[T]):
163
163
  """
164
164
  Descriptor class that creates a lazy singleton instance.
165
165
 
@@ -169,12 +169,12 @@ class LazySingletonDescriptor:
169
169
  """
170
170
 
171
171
  def __init__(self) -> None: # noqa D102
172
- self.instance: Optional[T] = None
172
+ self.instance: T | None = None
173
173
 
174
174
  def __get__(
175
175
  self,
176
- instance: Optional[T] = None,
177
- owner: Optional[Type[T]] = None,
176
+ instance: Any | None = None,
177
+ owner: type[T] | None = None,
178
178
  ) -> T:
179
179
  if self.instance is None:
180
180
  if owner is None:
@@ -34,7 +34,7 @@ class FormLayoutMixin(object):
34
34
 
35
35
  @viewprop
36
36
  def layout(self):
37
- if self.form_class is None and hasattr(self.form_class, "layout"):
37
+ if self.form_class is not None and hasattr(self.form_class, "layout"):
38
38
  return self.form_class.layout
39
39
 
40
40
  @viewprop
@@ -121,6 +121,21 @@ class Start(
121
121
  self._start_view = view
122
122
  self._undo_func = undo_func
123
123
 
124
+ def Available(self, owner=None, **owner_kwargs):
125
+ """
126
+ Make process start action available for the User.
127
+
128
+ Accepts user lookup kwargs or callable predicate :: User -> bool::
129
+
130
+ .Available(username='employee')
131
+ .Available(lambda user: user.is_super_user)
132
+ """
133
+ if owner:
134
+ self._owner = owner
135
+ else:
136
+ self._owner = owner_kwargs
137
+ return self
138
+
124
139
  def can_execute(self, user, task=None):
125
140
  """
126
141
  Check whether the user is authorized to start a flow.