Bloomerp 1.0.0.dev27__tar.gz → 1.0.0.dev29__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 (874) hide show
  1. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/PKG-INFO +4 -4
  2. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/SOURCES.txt +1 -2
  3. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/PKG-INFO +4 -4
  4. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/README.md +3 -3
  5. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/access_control/manage_permissions.py +3 -2
  6. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/access_control/policy_list.py +3 -2
  7. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/access_control/update.py +5 -2
  8. bloomerp-1.0.0.dev29/bloomerp/views/base.py +14 -0
  9. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/__init__.py +2 -4
  10. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/bulk_upload.py +2 -1
  11. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/create_view.py +2 -3
  12. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/detail_comments.py +2 -2
  13. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/file_list.py +2 -1
  14. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/list_view.py +3 -2
  15. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/access_control.py +2 -2
  16. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/activity_log.py +2 -2
  17. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/base_detail.py +2 -1
  18. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/comments.py +2 -2
  19. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/delete_view.py +2 -2
  20. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/files.py +3 -2
  21. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/foreign_relationship.py +2 -2
  22. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/overview.py +2 -2
  23. bloomerp-1.0.0.dev29/bloomerp/views/document_templates/__init__.py +1 -0
  24. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/document_templates/document_template_editor.py +2 -2
  25. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/document_templates/generate_document_template.py +2 -2
  26. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/document_templates/generate_document_template_for_model.py +2 -2
  27. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/document_templates/generated_document_template_list.py +2 -2
  28. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/user/admin_reset_password.py +5 -3
  29. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/user/create_user.py +10 -7
  30. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/user/inbox.py +2 -1
  31. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/user/profile.py +3 -3
  32. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/user/reset_password.py +3 -4
  33. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/website_builder/create_website.py +2 -1
  34. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/base_workspace_view.py +2 -1
  35. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/create_tile.py +2 -1
  36. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/create_workspace.py +2 -1
  37. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/home.py +2 -1
  38. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/workspace.py +1 -2
  39. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/pyproject.toml +1 -1
  40. bloomerp-1.0.0.dev27/bloomerp/views/core/delete_view.py +0 -120
  41. bloomerp-1.0.0.dev27/bloomerp/views/user/base.py +0 -17
  42. bloomerp-1.0.0.dev27/bloomerp/workspaces/links_tile/__init__.py +0 -0
  43. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/dependency_links.txt +0 -0
  44. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/entry_points.txt +0 -0
  45. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/requires.txt +0 -0
  46. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/Bloomerp.egg-info/top_level.txt +0 -0
  47. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/__init__.py +0 -0
  48. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/admin.py +0 -0
  49. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/apps.py +0 -0
  50. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/actions/__init__.py +0 -0
  51. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/actions/call_api.py +0 -0
  52. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/actions/create_object.py +0 -0
  53. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/actions/delete_object.py +0 -0
  54. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/actions/send_email.py +0 -0
  55. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/base_executor.py +0 -0
  56. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/defintion.py +0 -0
  57. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/flows/__init__.py +0 -0
  58. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/flows/if_condition.py +0 -0
  59. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/triggers/base.py +0 -0
  60. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/triggers/human_trigger.py +0 -0
  61. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/triggers/object_crud_trigger.py +0 -0
  62. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/automation/triggers/webhook_trigger.py +0 -0
  63. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/cli.py +0 -0
  64. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/access_control/preview_permissions_table.py +0 -0
  65. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/application_fields/filters.py +0 -0
  66. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/automation/render_workflow_node.py +0 -0
  67. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/bookmark.py +0 -0
  68. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/bulk_actions/bulk_upload.py +0 -0
  69. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/comments.py +0 -0
  70. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/detail_tabs_folder_modal.py +0 -0
  71. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/detail_tabs_preference.py +0 -0
  72. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/document_templates/generate_document_template.py +0 -0
  73. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/execute_sql_query.py +0 -0
  74. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/files.py +0 -0
  75. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/global_search.py +0 -0
  76. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/llm/ai_conversations.py +0 -0
  77. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/bulk_update_objects.py +0 -0
  78. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/crud_object.py +0 -0
  79. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/dataview.py +0 -0
  80. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/delete_object.py +0 -0
  81. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/object_preview.py +0 -0
  82. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/objects/search_objects.py +0 -0
  83. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/project_management/create_todo.py +0 -0
  84. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/project_management/todos.py +0 -0
  85. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/sign_file.py +0 -0
  86. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/todos.py +0 -0
  87. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/available_workspace_tiles.py +0 -0
  88. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/crud_layout_available_fields.py +0 -0
  89. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/crud_layout_preference.py +0 -0
  90. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/crud_layout_render_field.py +0 -0
  91. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/delete_workspace.py +0 -0
  92. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/edit_workspace.py +0 -0
  93. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/preview_workspace_tile.py +0 -0
  94. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/render_workspace_tile.py +0 -0
  95. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/save_workspace_layout.py +0 -0
  96. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/share_workspace.py +0 -0
  97. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/components/workspaces/sidebar.py +0 -0
  98. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/config/__init__.py +0 -0
  99. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/config/definition.py +0 -0
  100. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/config/settings.py +0 -0
  101. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/config/validator.py +0 -0
  102. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/consumers.py +0 -0
  103. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/context_processors.py +0 -0
  104. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/field_types.py +0 -0
  105. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/form_fields/__init__.py +0 -0
  106. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/form_fields/icon_field.py +0 -0
  107. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/auth.py +0 -0
  108. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/bulk_upload_form.py +0 -0
  109. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/core.py +0 -0
  110. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/document_templates.py +0 -0
  111. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/layouts.py +0 -0
  112. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/model_form.py +0 -0
  113. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/sidebar.py +0 -0
  114. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/widgets.py +0 -0
  115. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/forms/workspaces.py +0 -0
  116. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/langchain_tools.py +0 -0
  117. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/management/commands/create_sdk.py +0 -0
  118. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/management/commands/get_urls.py +0 -0
  119. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/management/commands/save_application_fields.py +0 -0
  120. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/management/commands/validate_bloomerp.py +0 -0
  121. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/middleware.py +0 -0
  122. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/migrations/0001_initial.py +0 -0
  123. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/migrations/0002_workspace_single_module_context.py +0 -0
  124. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/migrations/__init__.py +0 -0
  125. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/code_field.py +0 -0
  126. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/file_field.py +0 -0
  127. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/icon_field.py +0 -0
  128. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/status_field.py +0 -0
  129. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/text_editor_field.py +0 -0
  130. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/model_fields/user_field.py +0 -0
  131. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/__init__.py +0 -0
  132. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/access_control/__init__.py +0 -0
  133. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/access_control/field_policy.py +0 -0
  134. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/access_control/policy.py +0 -0
  135. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/access_control/row_policy.py +0 -0
  136. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/access_control/row_policy_rule.py +0 -0
  137. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/activity_log.py +0 -0
  138. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/application_field.py +0 -0
  139. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/automation/__init__.py +0 -0
  140. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/automation/workflow.py +0 -0
  141. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/automation/workflow_edge.py +0 -0
  142. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/automation/workflow_node.py +0 -0
  143. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/automation/workflow_run.py +0 -0
  144. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/base_bloomerp_model.py +0 -0
  145. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/communication/__init__.py +0 -0
  146. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/communication/comment.py +0 -0
  147. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/communication/mention.py +0 -0
  148. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/communication/message.py +0 -0
  149. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/communication/signature_request.py +0 -0
  150. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/definition.py +0 -0
  151. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/document_templates/__init__.py +0 -0
  152. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/document_templates/document_tempate_styling.py +0 -0
  153. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/document_templates/document_template.py +0 -0
  154. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/document_templates/document_template_free_variable.py +0 -0
  155. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/document_templates/document_template_header.py +0 -0
  156. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/files/__init__.py +0 -0
  157. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/files/file.py +0 -0
  158. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/files/file_folder.py +0 -0
  159. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/llm/__init__.py +0 -0
  160. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/llm/ai_conversation.py +0 -0
  161. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/__init__.py +0 -0
  162. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/absolute_url_model_mixin.py +0 -0
  163. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/avatar_model_mixin.py +0 -0
  164. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/content_layout_model_mixin.py +0 -0
  165. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/string_search_model_mixin.py +0 -0
  166. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/timestamp_model_mixin.py +0 -0
  167. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/user_stamp_model_mixin.py +0 -0
  168. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/mixins/uuid_model_mixin.py +0 -0
  169. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/project_management/__init__.py +0 -0
  170. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/project_management/todo.py +0 -0
  171. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/project_management/todo_label.py +0 -0
  172. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/__init__.py +0 -0
  173. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/bookmark.py +0 -0
  174. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/user.py +0 -0
  175. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/user_create_view_preference.py +0 -0
  176. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/user_detail_view_preference.py +0 -0
  177. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/users/user_list_view_preference.py +0 -0
  178. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/__init__.py +0 -0
  179. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/database_connection.py +0 -0
  180. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/sidebar.py +0 -0
  181. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/sidebar_item.py +0 -0
  182. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/sql_query.py +0 -0
  183. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/tile.py +0 -0
  184. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/models/workspaces/workspace.py +0 -0
  185. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/__init__.py +0 -0
  186. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/automation.py +0 -0
  187. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/core.py +0 -0
  188. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/definition.py +0 -0
  189. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/misc.py +0 -0
  190. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/modules/users.py +0 -0
  191. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/router.py +0 -0
  192. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/routing.py +0 -0
  193. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/sdk/base.py +0 -0
  194. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/sdk/javascript.py +0 -0
  195. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/sdk/python.py +0 -0
  196. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/sdk/typescript.py +0 -0
  197. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/serializers/access_control.py +0 -0
  198. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/__init__.py +0 -0
  199. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/bulk_services.py +0 -0
  200. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/create_view_services.py +0 -0
  201. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/detail_view_services.py +0 -0
  202. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/document_services.py +0 -0
  203. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/file_services.py +0 -0
  204. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/object_services.py +0 -0
  205. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/permission_services.py +0 -0
  206. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/sectioned_layout_services.py +0 -0
  207. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/sql_services.py +0 -0
  208. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/user_services.py +0 -0
  209. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/workflow_services.py +0 -0
  210. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/services/workspace_services.py +0 -0
  211. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/signals/__init__.py +0 -0
  212. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/signals/automations.py +0 -0
  213. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/css/dist/styles.css +0 -0
  214. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/add-circle.svg +0 -0
  215. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/add.svg +0 -0
  216. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/ai.svg +0 -0
  217. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/alt-arrow-right.svg +0 -0
  218. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/archive.svg +0 -0
  219. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/arrow-right.svg +0 -0
  220. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/bell.svg +0 -0
  221. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/bookmark-filled.svg +0 -0
  222. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/bookmark.svg +0 -0
  223. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/chat-line.svg +0 -0
  224. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/chat-round.svg +0 -0
  225. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/clipboard-list.svg +0 -0
  226. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/clipboard.svg +0 -0
  227. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/close.svg +0 -0
  228. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/code.svg +0 -0
  229. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/database.svg +0 -0
  230. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/delete.svg +0 -0
  231. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/dots.svg +0 -0
  232. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/download.svg +0 -0
  233. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/edit.svg +0 -0
  234. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/editor-text.svg +0 -0
  235. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/eye.svg +0 -0
  236. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/file.svg +0 -0
  237. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/filter.svg +0 -0
  238. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/flag.svg +0 -0
  239. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/folder.svg +0 -0
  240. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/forward.svg +0 -0
  241. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/html.svg +0 -0
  242. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/info.svg +0 -0
  243. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/insert-content.svg +0 -0
  244. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/magic-stick.svg +0 -0
  245. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/menu-dots.svg +0 -0
  246. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/notebook.svg +0 -0
  247. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/pen.svg +0 -0
  248. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/refresh.svg +0 -0
  249. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/settings.svg +0 -0
  250. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/share.svg +0 -0
  251. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/success.svg +0 -0
  252. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/text-editor.svg +0 -0
  253. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/icons/text.svg +0 -0
  254. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/img/default-user.jpg +0 -0
  255. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/img/login-side-section.png +0 -0
  256. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/img/logo-touch-icon.png +0 -0
  257. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/img/logo.png +0 -0
  258. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/img/spinner.gif +0 -0
  259. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Assistant-Bold.woff2 +0 -0
  260. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Assistant-Medium.woff2 +0 -0
  261. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Assistant-Regular.woff2 +0 -0
  262. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Assistant-SemiBold.woff2 +0 -0
  263. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Tableau10-B-NsZVaP.js +0 -0
  264. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/Tableau10-B-NsZVaP.js.map +0 -0
  265. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/_commonjs-dynamic-modules-TDtrdbi3.js +0 -0
  266. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/_commonjs-dynamic-modules-TDtrdbi3.js.map +0 -0
  267. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ar-SA-G6X2FPQ2-CK2Gu2Y5.js +0 -0
  268. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ar-SA-G6X2FPQ2-CK2Gu2Y5.js.map +0 -0
  269. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/arc-DaW-gdDM.js +0 -0
  270. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/arc-DaW-gdDM.js.map +0 -0
  271. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/array-BKyUJesY.js +0 -0
  272. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/array-BKyUJesY.js.map +0 -0
  273. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/az-AZ-76LH7QW2-CKmAwp1N.js +0 -0
  274. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/az-AZ-76LH7QW2-CKmAwp1N.js.map +0 -0
  275. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/bg-BG-XCXSNQG7-CWygTFku.js +0 -0
  276. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/bg-BG-XCXSNQG7-CWygTFku.js.map +0 -0
  277. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/blockDiagram-38ab4fdb-BBcDLEtG.js +0 -0
  278. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/blockDiagram-38ab4fdb-BBcDLEtG.js.map +0 -0
  279. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/bn-BD-2XOGV67Q-DuL68nNM.js +0 -0
  280. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/bn-BD-2XOGV67Q-DuL68nNM.js.map +0 -0
  281. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/c4Diagram-3d4e48cf-lpy0lBqf.js +0 -0
  282. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/c4Diagram-3d4e48cf-lpy0lBqf.js.map +0 -0
  283. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ca-ES-6MX7JW3Y-B69sm8qr.js +0 -0
  284. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ca-ES-6MX7JW3Y-B69sm8qr.js.map +0 -0
  285. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/channel-Ba5rdWwT.js +0 -0
  286. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/channel-Ba5rdWwT.js.map +0 -0
  287. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/classDiagram-70f12bd4-Bbcf2OzC.js +0 -0
  288. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/classDiagram-70f12bd4-Bbcf2OzC.js.map +0 -0
  289. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/classDiagram-v2-f2320105-B-2MSq9-.js +0 -0
  290. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/classDiagram-v2-f2320105-B-2MSq9-.js.map +0 -0
  291. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/clone-DrKFBTPT.js +0 -0
  292. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/clone-DrKFBTPT.js.map +0 -0
  293. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/createText-2e5e7dd3-KhyxJJnV.js +0 -0
  294. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/createText-2e5e7dd3-KhyxJJnV.js.map +0 -0
  295. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/cs-CZ-2BRQDIVT-BCanBcxR.js +0 -0
  296. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/cs-CZ-2BRQDIVT-BCanBcxR.js.map +0 -0
  297. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/da-DK-5WZEPLOC-Di_u1pON.js +0 -0
  298. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/da-DK-5WZEPLOC-Di_u1pON.js.map +0 -0
  299. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/de-DE-XR44H4JA-DtEHufg9.js +0 -0
  300. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/de-DE-XR44H4JA-DtEHufg9.js.map +0 -0
  301. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/directory-open-01563666-DWU9wJ6I.js +0 -0
  302. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/directory-open-01563666-DWU9wJ6I.js.map +0 -0
  303. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/directory-open-4ed118d0-CunoC1EB.js +0 -0
  304. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/directory-open-4ed118d0-CunoC1EB.js.map +0 -0
  305. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/edges-e0da2a9e-jmO6-aAj.js +0 -0
  306. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/edges-e0da2a9e-jmO6-aAj.js.map +0 -0
  307. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/el-GR-BZB4AONW-B3ooA35P.js +0 -0
  308. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/el-GR-BZB4AONW-B3ooA35P.js.map +0 -0
  309. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/erDiagram-9861fffd-4aFK3gLr.js +0 -0
  310. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/erDiagram-9861fffd-4aFK3gLr.js.map +0 -0
  311. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/es-ES-U4NZUMDT-C89vbhXk.js +0 -0
  312. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/es-ES-U4NZUMDT-C89vbhXk.js.map +0 -0
  313. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/eu-ES-A7QVB2H4-DAS3HNcb.js +0 -0
  314. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/eu-ES-A7QVB2H4-DAS3HNcb.js.map +0 -0
  315. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ext-language_tools-VvI1RQQ9.js +0 -0
  316. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ext-language_tools-VvI1RQQ9.js.map +0 -0
  317. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fa-IR-HGAKTJCU-DppGf8_q.js +0 -0
  318. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fa-IR-HGAKTJCU-DppGf8_q.js.map +0 -0
  319. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fi-FI-Z5N7JZ37-uilqd2NJ.js +0 -0
  320. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fi-FI-Z5N7JZ37-uilqd2NJ.js.map +0 -0
  321. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-open-002ab408-DIuFHtCF.js +0 -0
  322. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-open-002ab408-DIuFHtCF.js.map +0 -0
  323. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-open-7c801643-684qeFg4.js +0 -0
  324. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-open-7c801643-684qeFg4.js.map +0 -0
  325. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-save-3189631c-C1wFhQhH.js +0 -0
  326. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-save-3189631c-C1wFhQhH.js.map +0 -0
  327. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-save-745eba88-Bb9F9Kg7.js +0 -0
  328. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/file-save-745eba88-Bb9F9Kg7.js.map +0 -0
  329. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDb-956e92f1-3zMuB-v2.js +0 -0
  330. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDb-956e92f1-3zMuB-v2.js.map +0 -0
  331. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDiagram-66a62f08-G-6kTyb1.js +0 -0
  332. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDiagram-66a62f08-G-6kTyb1.js.map +0 -0
  333. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDiagram-v2-96b9c2cf-Buk37fc7.js +0 -0
  334. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowDiagram-v2-96b9c2cf-Buk37fc7.js.map +0 -0
  335. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowchart-elk-definition-4a651766-0BoFZGh4.js +0 -0
  336. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/flowchart-elk-definition-4a651766-0BoFZGh4.js.map +0 -0
  337. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fr-FR-RHASNOE6-CxpEXN3k.js +0 -0
  338. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/fr-FR-RHASNOE6-CxpEXN3k.js.map +0 -0
  339. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ganttDiagram-c361ad54-DA78CZLA.js +0 -0
  340. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ganttDiagram-c361ad54-DA78CZLA.js.map +0 -0
  341. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/gitGraphDiagram-72cf32ee-ubJgA-O8.js +0 -0
  342. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/gitGraphDiagram-72cf32ee-ubJgA-O8.js.map +0 -0
  343. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/gl-ES-HMX3MZ6V-Baj94Mgr.js +0 -0
  344. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/gl-ES-HMX3MZ6V-Baj94Mgr.js.map +0 -0
  345. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/graph-BJ8w43MV.js +0 -0
  346. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/graph-BJ8w43MV.js.map +0 -0
  347. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/he-IL-6SHJWFNN-DlWSA3CP.js +0 -0
  348. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/he-IL-6SHJWFNN-DlWSA3CP.js.map +0 -0
  349. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/hi-IN-IWLTKZ5I-DFtM_rbK.js +0 -0
  350. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/hi-IN-IWLTKZ5I-DFtM_rbK.js.map +0 -0
  351. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/hu-HU-A5ZG7DT2-DjJwQV6U.js +0 -0
  352. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/hu-HU-A5ZG7DT2-DjJwQV6U.js.map +0 -0
  353. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/id-ID-SAP4L64H-CNUZwcT-.js +0 -0
  354. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/id-ID-SAP4L64H-CNUZwcT-.js.map +0 -0
  355. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/image-blob-reduce.esm-D6s-rqMO.js +0 -0
  356. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/image-blob-reduce.esm-D6s-rqMO.js.map +0 -0
  357. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/index-3862675e-CnZunDFP.js +0 -0
  358. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/index-3862675e-CnZunDFP.js.map +0 -0
  359. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/index-ByP55a0-.js +0 -0
  360. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/index-ByP55a0-.js.map +0 -0
  361. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/infoDiagram-f8f76790-ssUZCNU_.js +0 -0
  362. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/infoDiagram-f8f76790-ssUZCNU_.js.map +0 -0
  363. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/init-Gi6I4Gst.js +0 -0
  364. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/init-Gi6I4Gst.js.map +0 -0
  365. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/it-IT-JPQ66NNP-B27GUTt2.js +0 -0
  366. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/it-IT-JPQ66NNP-B27GUTt2.js.map +0 -0
  367. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ja-JP-DBVTYXUO-B8WamdbO.js +0 -0
  368. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ja-JP-DBVTYXUO-B8WamdbO.js.map +0 -0
  369. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/journeyDiagram-49397b02-XNwXBdxQ.js +0 -0
  370. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/journeyDiagram-49397b02-XNwXBdxQ.js.map +0 -0
  371. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kaa-6HZHGXH3-BBK7q2CG.js +0 -0
  372. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kaa-6HZHGXH3-BBK7q2CG.js.map +0 -0
  373. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kab-KAB-ZGHBKWFO-C6lcpCZh.js +0 -0
  374. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kab-KAB-ZGHBKWFO-C6lcpCZh.js.map +0 -0
  375. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/katex-Cbg2ZdjV.js +0 -0
  376. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/katex-Cbg2ZdjV.js.map +0 -0
  377. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kk-KZ-P5N5QNE5-B2VetCQo.js +0 -0
  378. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/kk-KZ-P5N5QNE5-B2VetCQo.js.map +0 -0
  379. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/km-KH-HSX4SM5Z-D1q5ygn9.js +0 -0
  380. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/km-KH-HSX4SM5Z-D1q5ygn9.js.map +0 -0
  381. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ko-KR-MTYHY66A-CpZbuWOH.js +0 -0
  382. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ko-KR-MTYHY66A-CpZbuWOH.js.map +0 -0
  383. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ku-TR-6OUDTVRD-BNyUf0Bt.js +0 -0
  384. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ku-TR-6OUDTVRD-BNyUf0Bt.js.map +0 -0
  385. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/layout-Dey6RYL_.js +0 -0
  386. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/layout-Dey6RYL_.js.map +0 -0
  387. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/line-B24sOtFj.js +0 -0
  388. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/line-B24sOtFj.js.map +0 -0
  389. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/linear-BkSjxDAM.js +0 -0
  390. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/linear-BkSjxDAM.js.map +0 -0
  391. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/lt-LT-XHIRWOB4-_zTqBu4S.js +0 -0
  392. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/lt-LT-XHIRWOB4-_zTqBu4S.js.map +0 -0
  393. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/lv-LV-5QDEKY6T-D3fddlas.js +0 -0
  394. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/lv-LV-5QDEKY6T-D3fddlas.js.map +0 -0
  395. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/main.css +0 -0
  396. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/main.js +0 -0
  397. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/main.js.map +0 -0
  398. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mindmap-definition-fc14e90a-_Ik9ImMw.js +0 -0
  399. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mindmap-definition-fc14e90a-_Ik9ImMw.js.map +0 -0
  400. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-css-D-OVArme.js +0 -0
  401. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-css-D-OVArme.js.map +0 -0
  402. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-html-QfHwmmzV.js +0 -0
  403. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-html-QfHwmmzV.js.map +0 -0
  404. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-javascript-z0IbjNXF.js +0 -0
  405. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-javascript-z0IbjNXF.js.map +0 -0
  406. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-json-Cn7l4vuz.js +0 -0
  407. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-json-Cn7l4vuz.js.map +0 -0
  408. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-python-DpO_9WT_.js +0 -0
  409. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-python-DpO_9WT_.js.map +0 -0
  410. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-sql-C8joBxoz.js +0 -0
  411. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mode-sql-C8joBxoz.js.map +0 -0
  412. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mr-IN-CRQNXWMA-mJGCdWNY.js +0 -0
  413. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/mr-IN-CRQNXWMA-mJGCdWNY.js.map +0 -0
  414. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/my-MM-5M5IBNSE-tCzE3wUe.js +0 -0
  415. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/my-MM-5M5IBNSE-tCzE3wUe.js.map +0 -0
  416. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nb-NO-T6EIAALU-CcfIyzjM.js +0 -0
  417. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nb-NO-T6EIAALU-CcfIyzjM.js.map +0 -0
  418. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nl-NL-IS3SIHDZ-V3Y8eebu.js +0 -0
  419. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nl-NL-IS3SIHDZ-V3Y8eebu.js.map +0 -0
  420. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nn-NO-6E72VCQL-Cfqlut23.js +0 -0
  421. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/nn-NO-6E72VCQL-Cfqlut23.js.map +0 -0
  422. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/oc-FR-POXYY2M6-ohBwGZKH.js +0 -0
  423. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/oc-FR-POXYY2M6-ohBwGZKH.js.map +0 -0
  424. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ordinal-Cboi1Yqb.js +0 -0
  425. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ordinal-Cboi1Yqb.js.map +0 -0
  426. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pa-IN-N4M65BXN-CBmdgeU2.js +0 -0
  427. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pa-IN-N4M65BXN-CBmdgeU2.js.map +0 -0
  428. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/path-CbwjOpE9.js +0 -0
  429. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/path-CbwjOpE9.js.map +0 -0
  430. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pica-BB6BlTPh.js +0 -0
  431. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pica-BB6BlTPh.js.map +0 -0
  432. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pieDiagram-8a3498a8-ykWXg0e6.js +0 -0
  433. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pieDiagram-8a3498a8-ykWXg0e6.js.map +0 -0
  434. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pl-PL-T2D74RX3-BJgiuUes.js +0 -0
  435. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pl-PL-T2D74RX3-BJgiuUes.js.map +0 -0
  436. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pt-BR-5N22H2LF-DlafgNui.js +0 -0
  437. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pt-BR-5N22H2LF-DlafgNui.js.map +0 -0
  438. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pt-PT-UZXXM6DQ-9tFdflGO.js +0 -0
  439. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/pt-PT-UZXXM6DQ-9tFdflGO.js.map +0 -0
  440. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/quadrantDiagram-120e2f19-60h8VhUL.js +0 -0
  441. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/quadrantDiagram-120e2f19-60h8VhUL.js.map +0 -0
  442. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/requirementDiagram-deff3bca-WIV3h0C3.js +0 -0
  443. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/requirementDiagram-deff3bca-WIV3h0C3.js.map +0 -0
  444. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ro-RO-JPDTUUEW-D7CFGK5Y.js +0 -0
  445. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ro-RO-JPDTUUEW-D7CFGK5Y.js.map +0 -0
  446. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/roundRect-2e6Pdbcn.js +0 -0
  447. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/roundRect-2e6Pdbcn.js.map +0 -0
  448. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ru-RU-B4JR7IUQ--pPA0JjS.js +0 -0
  449. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ru-RU-B4JR7IUQ--pPA0JjS.js.map +0 -0
  450. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sankeyDiagram-04a897e0-Du6WxD-I.js +0 -0
  451. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sankeyDiagram-04a897e0-Du6WxD-I.js.map +0 -0
  452. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sequenceDiagram-704730f1-GcKlMTtP.js +0 -0
  453. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sequenceDiagram-704730f1-GcKlMTtP.js.map +0 -0
  454. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/si-LK-N5RQ5JYF-C64FsAc5.js +0 -0
  455. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/si-LK-N5RQ5JYF-C64FsAc5.js.map +0 -0
  456. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sk-SK-C5VTKIMK-aE0uH2SW.js +0 -0
  457. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sk-SK-C5VTKIMK-aE0uH2SW.js.map +0 -0
  458. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sl-SI-NN7IZMDC-Dph0kz_u.js +0 -0
  459. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sl-SI-NN7IZMDC-Dph0kz_u.js.map +0 -0
  460. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/stateDiagram-587899a1-N4TLoQEY.js +0 -0
  461. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/stateDiagram-587899a1-N4TLoQEY.js.map +0 -0
  462. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/stateDiagram-v2-d93cdb3a-D_Yrr8Fl.js +0 -0
  463. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/stateDiagram-v2-d93cdb3a-D_Yrr8Fl.js.map +0 -0
  464. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-6aaf32cf-Smyq2-dj.js +0 -0
  465. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-6aaf32cf-Smyq2-dj.js.map +0 -0
  466. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-9a916d00-B_AgfPKS.js +0 -0
  467. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-9a916d00-B_AgfPKS.js.map +0 -0
  468. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-c10674c1-BkQljQuy.js +0 -0
  469. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/styles-c10674c1-BkQljQuy.js.map +0 -0
  470. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/subset-shared.chunk-CDXhA_Wq.js +0 -0
  471. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/subset-shared.chunk-CDXhA_Wq.js.map +0 -0
  472. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/subset-worker.chunk-DU1iOD2Y.js +0 -0
  473. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/subset-worker.chunk-DU1iOD2Y.js.map +0 -0
  474. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sv-SE-XGPEYMSR-C7sC_7mW.js +0 -0
  475. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/sv-SE-XGPEYMSR-C7sC_7mW.js.map +0 -0
  476. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/svgDrawCommon-08f97a94-CigDLztM.js +0 -0
  477. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/svgDrawCommon-08f97a94-CigDLztM.js.map +0 -0
  478. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ta-IN-2NMHFXQM-DFFiee37.js +0 -0
  479. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/ta-IN-2NMHFXQM-DFFiee37.js.map +0 -0
  480. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/th-TH-HPSO5L25-4Wno9YgB.js +0 -0
  481. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/th-TH-HPSO5L25-4Wno9YgB.js.map +0 -0
  482. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/theme-chrome-DJhsRuk2.js +0 -0
  483. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/theme-chrome-DJhsRuk2.js.map +0 -0
  484. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/timeline-definition-85554ec2-CW5L4AdV.js +0 -0
  485. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/timeline-definition-85554ec2-CW5L4AdV.js.map +0 -0
  486. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/tr-TR-DEFEU3FU-CtRCfv3G.js +0 -0
  487. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/tr-TR-DEFEU3FU-CtRCfv3G.js.map +0 -0
  488. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/uk-UA-QMV73CPH-C_gySul2.js +0 -0
  489. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/uk-UA-QMV73CPH-C_gySul2.js.map +0 -0
  490. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/vi-VN-M7AON7JQ-DhAxvLha.js +0 -0
  491. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/vi-VN-M7AON7JQ-DhAxvLha.js.map +0 -0
  492. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/xychartDiagram-e933f94c-8tQw0CB3.js +0 -0
  493. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/xychartDiagram-e933f94c-8tQw0CB3.js.map +0 -0
  494. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-CN-LNUGB5OW-BXqXStir.js +0 -0
  495. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-CN-LNUGB5OW-BXqXStir.js.map +0 -0
  496. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-HK-E62DVLB3-5ytNjPYj.js +0 -0
  497. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-HK-E62DVLB3-5ytNjPYj.js.map +0 -0
  498. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-TW-RAJ6MFWO-Cjr-rcDc.js +0 -0
  499. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/dist/zh-TW-RAJ6MFWO-Cjr-rcDc.js.map +0 -0
  500. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/htmx-download.js +0 -0
  501. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/js/llm.js +0 -0
  502. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/vendor/fontawesome/css/all.min.css +0 -0
  503. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  504. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  505. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  506. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/bloomerp/vendor/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
  507. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static/css/dist/styles.css +0 -0
  508. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/katex/src/fonts/generate_fonts.py +0 -0
  509. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/katex/src/metrics/extract_tfms.py +0 -0
  510. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/katex/src/metrics/extract_ttfs.py +0 -0
  511. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/katex/src/metrics/format_json.py +0 -0
  512. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/katex/src/metrics/parse_tfm.py +0 -0
  513. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/static_src/node_modules/shell-quote/print.py +0 -0
  514. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/tasks/__init__.py +0 -0
  515. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/tasks/base.py +0 -0
  516. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/tasks/bulk_upload_task.py +0 -0
  517. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/403.html +0 -0
  518. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/access_control_views/manage_permissions/wizard_global_permissions.html +0 -0
  519. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/access_control_views/manage_permissions/wizard_object_access_control.html +0 -0
  520. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/access_control_views/manage_permissions/wizard_policy_details.html +0 -0
  521. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/access_control_views/policy_list.html +0 -0
  522. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/auth_views/login_view.html +0 -0
  523. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/auth_views/password_reset_done_view.html +0 -0
  524. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/auth_views/password_reset_view.html +0 -0
  525. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/auth_views/profile_overview.html +0 -0
  526. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/auth_views/profile_password_reset.html +0 -0
  527. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/base_wizard.html +0 -0
  528. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/bloomerp_base.html +0 -0
  529. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/bloomerp_htmx_base_view.html +0 -0
  530. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/access_control/preview_permissions_table.html +0 -0
  531. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/access_control/row_policy.html +0 -0
  532. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/application_fields/lookup_operators.html +0 -0
  533. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/application_fields/value_input.html +0 -0
  534. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/automation/render_workflow_node.html +0 -0
  535. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/bookmark.html +0 -0
  536. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/bulk_actions/download_bulk_upload_template_form.html +0 -0
  537. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/bulk_update_objects.html +0 -0
  538. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/bulk_upload_table.html +0 -0
  539. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/comments.html +0 -0
  540. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/detail_tabs/folder_modal_form.html +0 -0
  541. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/execute_sql_query.html +0 -0
  542. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/files/browser.html +0 -0
  543. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/filters/advanced_lookup.html +0 -0
  544. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/filters/init.html +0 -0
  545. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/filters/related_fields_select.html +0 -0
  546. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/fk_search_results.html +0 -0
  547. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/generate_document_template.html +0 -0
  548. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/global_search.html +0 -0
  549. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/layouts/available_items.html +0 -0
  550. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/llm/ai_conversation.html +0 -0
  551. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/llm/ai_conversations.html +0 -0
  552. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/object_model_form.html +0 -0
  553. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/objects/dataview.html +0 -0
  554. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/objects/object_preview.html +0 -0
  555. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/objects/search_results.html +0 -0
  556. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/preview_document_template.html +0 -0
  557. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/project_management/create_todo.html +0 -0
  558. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/project_management/todos.html +0 -0
  559. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/search_results.html +0 -0
  560. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/sidebar/content.html +0 -0
  561. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/sidebar/select_sidebar_items.html +0 -0
  562. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/test_cotton_component.html +0 -0
  563. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/todos.html +0 -0
  564. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspace_widget.html +0 -0
  565. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/delete_workspace.html +0 -0
  566. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/edit_workspace.html +0 -0
  567. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/preview_workspace_tile.html +0 -0
  568. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/render_workspace_tile.html +0 -0
  569. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/share_workspace.html +0 -0
  570. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/tile_builders/analytics_tile_builder.html +0 -0
  571. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/tile_builders/dataview_tile_builder.html +0 -0
  572. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/tile_builders/default_tile_builder.html +0 -0
  573. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/tile_builders/links_tile_builder.html +0 -0
  574. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/components/workspaces/tile_builders/text_tile_builder.html +0 -0
  575. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/blocktrans.html +0 -0
  576. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/comments/comment.html +0 -0
  577. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/comments/container.html +0 -0
  578. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/footer.html +0 -0
  579. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/header/header.html +0 -0
  580. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/add.html +0 -0
  581. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/ai.html +0 -0
  582. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/arrow_left.html +0 -0
  583. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/arrow_right.html +0 -0
  584. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/base_icon.html +0 -0
  585. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/bookmark.html +0 -0
  586. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/bookmark_fill.html +0 -0
  587. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/calendar.html +0 -0
  588. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/chart.html +0 -0
  589. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/chat.html +0 -0
  590. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/check.svg +0 -0
  591. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/chevron_left.html +0 -0
  592. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/chevron_right.html +0 -0
  593. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/close.html +0 -0
  594. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/collapse.svg +0 -0
  595. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/copy.svg +0 -0
  596. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/delete.html +0 -0
  597. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/download.svg +0 -0
  598. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/drag.svg +0 -0
  599. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/edit.html +0 -0
  600. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/email.svg +0 -0
  601. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/error.html +0 -0
  602. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/expand.html +0 -0
  603. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/external_link.svg +0 -0
  604. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/eye.html +0 -0
  605. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/file.svg +0 -0
  606. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/filter.html +0 -0
  607. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/folder.svg +0 -0
  608. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/fullscreen.html +0 -0
  609. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/gant.html +0 -0
  610. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/help.svg +0 -0
  611. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/home.svg +0 -0
  612. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/info.svg +0 -0
  613. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/kanban.html +0 -0
  614. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/lines_horizontal.html +0 -0
  615. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/list.html +0 -0
  616. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/list.svg +0 -0
  617. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/lock.svg +0 -0
  618. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/logout.svg +0 -0
  619. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/map.svg +0 -0
  620. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/menu.svg +0 -0
  621. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/message.svg +0 -0
  622. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/notification.svg +0 -0
  623. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/page_type.html +0 -0
  624. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/pivot_table.html +0 -0
  625. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/plus.html +0 -0
  626. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/plus_circle.html +0 -0
  627. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/refresh.svg +0 -0
  628. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/save.svg +0 -0
  629. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/scroll.html +0 -0
  630. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/search.svg +0 -0
  631. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/settings.html +0 -0
  632. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/shield.svg +0 -0
  633. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/sidebar_right.html +0 -0
  634. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/sidebar_right_selected.html +0 -0
  635. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/sort.html +0 -0
  636. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/sort.svg +0 -0
  637. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/spinner.svg +0 -0
  638. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/table.svg +0 -0
  639. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/tags.svg +0 -0
  640. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/three_dots.html +0 -0
  641. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/todo.html +0 -0
  642. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/unlock.svg +0 -0
  643. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/upload.svg +0 -0
  644. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/user.svg +0 -0
  645. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/zoom_in.svg +0 -0
  646. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/icons/zoom_out.svg +0 -0
  647. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/object_crud_container.html +0 -0
  648. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/sidebar/body.html +0 -0
  649. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/sidebar/dropdown_list_container.html +0 -0
  650. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/sidebar/dropdown_section.html +0 -0
  651. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/sidebar/item.html +0 -0
  652. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/trans.html +0 -0
  653. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/avatar.html +0 -0
  654. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/breadcrumb/body.html +0 -0
  655. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/breadcrumb/item.html +0 -0
  656. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/container.html +0 -0
  657. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/actions.html +0 -0
  658. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/calendar.html +0 -0
  659. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/card.html +0 -0
  660. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/display_options.html +0 -0
  661. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/gant_chart.html +0 -0
  662. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/kanban.html +0 -0
  663. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/options/select.html +0 -0
  664. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/pivot_table.html +0 -0
  665. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/data_view/table.html +0 -0
  666. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/drawer.html +0 -0
  667. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/README.md +0 -0
  668. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/body.html +0 -0
  669. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/divider.html +0 -0
  670. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/item.html +0 -0
  671. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/submenu.html +0 -0
  672. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/dropdown/title.html +0 -0
  673. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/dropdown_input.html +0 -0
  674. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/permissions.html +0 -0
  675. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/selectable_cards/container.html +0 -0
  676. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/selectable_cards/item.html +0 -0
  677. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/sql_query_editor.html +0 -0
  678. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/inputs/text_editor.html +0 -0
  679. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/menu/container.html +0 -0
  680. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/menu/item.html +0 -0
  681. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/message.html +0 -0
  682. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/modal.html +0 -0
  683. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/modal_button.html +0 -0
  684. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/search_section/container.html +0 -0
  685. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/steps.html +0 -0
  686. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/tabs/container.html +0 -0
  687. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/tabs/item.html +0 -0
  688. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/help_text.html +0 -0
  689. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/label.html +0 -0
  690. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/muted.html +0 -0
  691. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/subtitle.html +0 -0
  692. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/text.html +0 -0
  693. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/text/title.html +0 -0
  694. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/ui/tooltip.html +0 -0
  695. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/website_builder.html +0 -0
  696. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workflow.html +0 -0
  697. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/container.html +0 -0
  698. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/preview_tile_container.html +0 -0
  699. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tile.html +0 -0
  700. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/canvas.html +0 -0
  701. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/kpi.html +0 -0
  702. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/link.html +0 -0
  703. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/pie_chart.html +0 -0
  704. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/table.html +0 -0
  705. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/text.html +0 -0
  706. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/cotton/workspaces/tiles/two_dim_chart.html +0 -0
  707. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/create_views/bloomerp_base_wizard_create_view.html +0 -0
  708. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/create_views/bloomerp_create_view.html +0 -0
  709. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/create_website.html +0 -0
  710. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/delete_views/bloomerp_delete_view.html +0 -0
  711. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_base_detail_view.html +0 -0
  712. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_detail_activity_view.html +0 -0
  713. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_detail_comments_view.html +0 -0
  714. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_detail_files_view.html +0 -0
  715. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_detail_m2m_view.html +0 -0
  716. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_detail_overview_view.html +0 -0
  717. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/bloomerp_foreign_relationship_view.html +0 -0
  718. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/snippets/card_header.html +0 -0
  719. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/detail_views/snippets/post_comment_snippet.html +0 -0
  720. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/document_template_views/bloomerp_detail_document_generator_view.html +0 -0
  721. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/document_template_views/bloomerp_document_template_editor_view.html +0 -0
  722. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/document_template_views/bloomerp_document_template_generate_view.html +0 -0
  723. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/document_template_views/bloomerp_document_template_generated_documents_view.html +0 -0
  724. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/document_template_views/bloomerp_document_template_list_view.html +0 -0
  725. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/htmx_addendum.html +0 -0
  726. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/inclusion_tags/dataview_value.html +0 -0
  727. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/inclusion_tags/layout_field.html +0 -0
  728. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/inclusion_tags/object_preview_value.html +0 -0
  729. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bloomerp_bookmarks_view.html +0 -0
  730. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bloomerp_file_list_view.html +0 -0
  731. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bloomerp_list_view.html +0 -0
  732. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bulk_upload_wizard/confirm_step.html +0 -0
  733. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bulk_upload_wizard/review_field.html +0 -0
  734. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bulk_upload_wizard/review_step.html +0 -0
  735. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/bulk_upload_wizard/upload_step.html +0 -0
  736. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/list_views/snippets/filter_dropdown.html +0 -0
  737. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/mixins/bloomerp_layout_form_mixin.html +0 -0
  738. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/403.html +0 -0
  739. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/avatar.html +0 -0
  740. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/form_snippet.html +0 -0
  741. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/head.html +0 -0
  742. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/llm_modal_snippet.html +0 -0
  743. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/signature_snippet.html +0 -0
  744. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/snippets/vite_bundle.html +0 -0
  745. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/display_form.html +0 -0
  746. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/errors.html +0 -0
  747. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/errors_formset.html +0 -0
  748. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/field.html +0 -0
  749. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/inputs.html +0 -0
  750. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/alert.html +0 -0
  751. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/attrs.html +0 -0
  752. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/baseinput.html +0 -0
  753. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/button.html +0 -0
  754. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/buttonholder.html +0 -0
  755. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/checkboxselectmultiple.html +0 -0
  756. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/checkboxselectmultiple_inline.html +0 -0
  757. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/column.html +0 -0
  758. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/div.html +0 -0
  759. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/field_errors.html +0 -0
  760. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/field_errors_block.html +0 -0
  761. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/field_with_buttons.html +0 -0
  762. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/fieldset.html +0 -0
  763. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/formactions.html +0 -0
  764. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/help_text.html +0 -0
  765. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/help_text_and_errors.html +0 -0
  766. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/inline_field.html +0 -0
  767. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/prepended_appended_text.html +0 -0
  768. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/radioselect.html +0 -0
  769. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/radioselect_inline.html +0 -0
  770. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/row.html +0 -0
  771. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/select.html +0 -0
  772. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/layout/select_option.html +0 -0
  773. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/table_inline_formset.html +0 -0
  774. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/uni_form.html +0 -0
  775. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/uni_formset.html +0 -0
  776. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/whole_uni_form.html +0 -0
  777. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/tailwind/whole_uni_formset.html +0 -0
  778. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/user_views/inbox_view.html +0 -0
  779. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/user_views/new_password_done_view.html +0 -0
  780. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/user_views/new_password_view.html +0 -0
  781. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/user_views/notification_setting_view.html +0 -0
  782. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/user_views/snippets/user_content_type_selection_snippet.html +0 -0
  783. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/utils/blank_form.html +0 -0
  784. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/utils/template_and_message.html +0 -0
  785. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/bloomerp_file_field_widget.html +0 -0
  786. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/code_editor_widget.html +0 -0
  787. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/foreign_field_widget.html +0 -0
  788. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/icon_picker_widget.html +0 -0
  789. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/one_to_many_field_widget.html +0 -0
  790. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/rich_text_editor_widget.html +0 -0
  791. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/widgets/tiny_mce_text_editor_widget.html +0 -0
  792. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/bloomerp_home_view.html +0 -0
  793. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/bloomerp_workspace_view.html +0 -0
  794. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/1.html +0 -0
  795. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile.html +0 -0
  796. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile_analytics_builder.html +0 -0
  797. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile_final_config.html +0 -0
  798. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile_select_query.html +0 -0
  799. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile_select_type.html +0 -0
  800. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_tile_wizard/create_tile_type_config.html +0 -0
  801. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/create_workspace_view.html +0 -0
  802. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templates/workspace_views/my_workspaces_view.html +0 -0
  803. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templatetags/bloomerp.py +0 -0
  804. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templatetags/bloomerp_ui.py +0 -0
  805. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/templatetags/globals.py +0 -0
  806. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/urls.py +0 -0
  807. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/api.py +0 -0
  808. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/document_templates.py +0 -0
  809. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/encryption.py +0 -0
  810. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/filters.py +0 -0
  811. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/model_io.py +0 -0
  812. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/models.py +0 -0
  813. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/pdf.py +0 -0
  814. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/realtime.py +0 -0
  815. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/requests.py +0 -0
  816. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/sql.py +0 -0
  817. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/utils/urls.py +0 -0
  818. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/__init__.py +0 -0
  819. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/__init__.py +0 -0
  820. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/access_control.py +0 -0
  821. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/api_views.py +0 -0
  822. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/auth.py +0 -0
  823. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/sql/__init__.py +0 -0
  824. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/sql/accessible_tables.py +0 -0
  825. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/sql/queries.py +0 -0
  826. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/api/workflow_webhook.py +0 -0
  827. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/core/bookmarks.py +0 -0
  828. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/detail/__init__.py +0 -0
  829. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/__init__.py +0 -0
  830. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/conditional_staff_required_mixin.py +0 -0
  831. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/htmx_mixin.py +0 -0
  832. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/layout_form_mixin.py +0 -0
  833. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/model_context_mixin.py +0 -0
  834. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/model_form_view_mixin.py +0 -0
  835. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/mixins/wizard_mixin.py +0 -0
  836. {bloomerp-1.0.0.dev27/bloomerp/views/document_templates → bloomerp-1.0.0.dev29/bloomerp/views/user}/__init__.py +0 -0
  837. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/module_home.py +0 -0
  838. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/views/workspace/my_workspaces.py +0 -0
  839. {bloomerp-1.0.0.dev27/bloomerp/views/user → bloomerp-1.0.0.dev29/bloomerp/widgets}/__init__.py +0 -0
  840. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/code_editor_widget.py +0 -0
  841. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/file_field_widget.py +0 -0
  842. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/foreign_field_widget.py +0 -0
  843. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/icon_picker_widget.py +0 -0
  844. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/one_to_many_field_widget.py +0 -0
  845. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/select_widget.py +0 -0
  846. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/widgets/text_editor.py +0 -0
  847. {bloomerp-1.0.0.dev27/bloomerp/widgets → bloomerp-1.0.0.dev29/bloomerp/workspaces/analytics_tile}/__init__.py +0 -0
  848. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/kpi.py +0 -0
  849. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/map.py +0 -0
  850. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/model.py +0 -0
  851. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/pie_chart.py +0 -0
  852. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/pivot_table.py +0 -0
  853. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/render.py +0 -0
  854. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/table.py +0 -0
  855. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/three_dim_chart.py +0 -0
  856. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/two_dim_chart.py +0 -0
  857. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/analytics_tile/utils.py +0 -0
  858. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/base.py +0 -0
  859. {bloomerp-1.0.0.dev27/bloomerp/workspaces/analytics_tile → bloomerp-1.0.0.dev29/bloomerp/workspaces/canvas_tile}/__init__.py +0 -0
  860. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/canvas_tile/model.py +0 -0
  861. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/canvas_tile/render.py +0 -0
  862. {bloomerp-1.0.0.dev27/bloomerp/workspaces/canvas_tile → bloomerp-1.0.0.dev29/bloomerp/workspaces/dataview_tile}/__init__.py +0 -0
  863. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/dataview_tile/form.py +0 -0
  864. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/dataview_tile/model.py +0 -0
  865. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/dataview_tile/render.py +0 -0
  866. {bloomerp-1.0.0.dev27/bloomerp/workspaces/dataview_tile → bloomerp-1.0.0.dev29/bloomerp/workspaces/links_tile}/__init__.py +0 -0
  867. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/links_tile/model.py +0 -0
  868. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/links_tile/render.py +0 -0
  869. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/orchestrator.py +0 -0
  870. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/text_tile/__init__.py +0 -0
  871. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/text_tile/model.py +0 -0
  872. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/text_tile/render.py +0 -0
  873. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/bloomerp/workspaces/tiles.py +0 -0
  874. {bloomerp-1.0.0.dev27 → bloomerp-1.0.0.dev29}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Bloomerp
3
- Version: 1.0.0.dev27
3
+ Version: 1.0.0.dev29
4
4
  Summary: Bloomerp is an open-source Business Management Software framework that lets you create fully functional business management applications just by defining your Django database models.
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
@@ -552,7 +552,7 @@ Suppose we want to send an email to a specific employee or customer without sele
552
552
  In `views.py`:
553
553
 
554
554
  ```python
555
- from bloomerp.views.detail import BloomerpBaseDetailView
555
+ from bloomerp.views.detail import BaseBloomerpDetailView
556
556
 
557
557
  @router.bloomerp_route(
558
558
  path='send-email', # Becomes /employees/{pk}/send-email & /customers/{pk}/send-email
@@ -562,7 +562,7 @@ from bloomerp.views.detail import BloomerpBaseDetailView
562
562
  url_name='send_email', # Becomes employees_detail_send_email & customers_detail_send_email
563
563
  models=[Employee, Customer],
564
564
  )
565
- class SendEmailView(BloomerpBaseDetailView):
565
+ class SendEmailView(BaseBloomerpDetailView):
566
566
  template_name = 'send_email.html'
567
567
  model: BloomerpModel = None
568
568
 
@@ -595,7 +595,7 @@ Create the HTML template `send_email.html`:
595
595
  </form>
596
596
  ```
597
597
 
598
- Since we inherited from `BloomerpBaseDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
598
+ Since we inherited from `BaseBloomerpDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
599
599
 
600
600
  This will produce the following result:
601
601
 
@@ -778,6 +778,7 @@ bloomerp/utils/requests.py
778
778
  bloomerp/utils/sql.py
779
779
  bloomerp/utils/urls.py
780
780
  bloomerp/views/__init__.py
781
+ bloomerp/views/base.py
781
782
  bloomerp/views/access_control/manage_permissions.py
782
783
  bloomerp/views/access_control/policy_list.py
783
784
  bloomerp/views/access_control/update.py
@@ -793,7 +794,6 @@ bloomerp/views/core/__init__.py
793
794
  bloomerp/views/core/bookmarks.py
794
795
  bloomerp/views/core/bulk_upload.py
795
796
  bloomerp/views/core/create_view.py
796
- bloomerp/views/core/delete_view.py
797
797
  bloomerp/views/core/detail_comments.py
798
798
  bloomerp/views/core/file_list.py
799
799
  bloomerp/views/core/list_view.py
@@ -820,7 +820,6 @@ bloomerp/views/mixins/model_form_view_mixin.py
820
820
  bloomerp/views/mixins/wizard_mixin.py
821
821
  bloomerp/views/user/__init__.py
822
822
  bloomerp/views/user/admin_reset_password.py
823
- bloomerp/views/user/base.py
824
823
  bloomerp/views/user/create_user.py
825
824
  bloomerp/views/user/inbox.py
826
825
  bloomerp/views/user/profile.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Bloomerp
3
- Version: 1.0.0.dev27
3
+ Version: 1.0.0.dev29
4
4
  Summary: Bloomerp is an open-source Business Management Software framework that lets you create fully functional business management applications just by defining your Django database models.
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
@@ -552,7 +552,7 @@ Suppose we want to send an email to a specific employee or customer without sele
552
552
  In `views.py`:
553
553
 
554
554
  ```python
555
- from bloomerp.views.detail import BloomerpBaseDetailView
555
+ from bloomerp.views.detail import BaseBloomerpDetailView
556
556
 
557
557
  @router.bloomerp_route(
558
558
  path='send-email', # Becomes /employees/{pk}/send-email & /customers/{pk}/send-email
@@ -562,7 +562,7 @@ from bloomerp.views.detail import BloomerpBaseDetailView
562
562
  url_name='send_email', # Becomes employees_detail_send_email & customers_detail_send_email
563
563
  models=[Employee, Customer],
564
564
  )
565
- class SendEmailView(BloomerpBaseDetailView):
565
+ class SendEmailView(BaseBloomerpDetailView):
566
566
  template_name = 'send_email.html'
567
567
  model: BloomerpModel = None
568
568
 
@@ -595,7 +595,7 @@ Create the HTML template `send_email.html`:
595
595
  </form>
596
596
  ```
597
597
 
598
- Since we inherited from `BloomerpBaseDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
598
+ Since we inherited from `BaseBloomerpDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
599
599
 
600
600
  This will produce the following result:
601
601
 
@@ -398,7 +398,7 @@ Suppose we want to send an email to a specific employee or customer without sele
398
398
  In `views.py`:
399
399
 
400
400
  ```python
401
- from bloomerp.views.detail import BloomerpBaseDetailView
401
+ from bloomerp.views.detail import BaseBloomerpDetailView
402
402
 
403
403
  @router.bloomerp_route(
404
404
  path='send-email', # Becomes /employees/{pk}/send-email & /customers/{pk}/send-email
@@ -408,7 +408,7 @@ from bloomerp.views.detail import BloomerpBaseDetailView
408
408
  url_name='send_email', # Becomes employees_detail_send_email & customers_detail_send_email
409
409
  models=[Employee, Customer],
410
410
  )
411
- class SendEmailView(BloomerpBaseDetailView):
411
+ class SendEmailView(BaseBloomerpDetailView):
412
412
  template_name = 'send_email.html'
413
413
  model: BloomerpModel = None
414
414
 
@@ -441,7 +441,7 @@ Create the HTML template `send_email.html`:
441
441
  </form>
442
442
  ```
443
443
 
444
- Since we inherited from `BloomerpBaseDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
444
+ Since we inherited from `BaseBloomerpDetailView`, all necessary context data (like `object`, `model`, and more) is already included.
445
445
 
446
446
  This will produce the following result:
447
447
 
@@ -14,6 +14,7 @@ from bloomerp.models.access_control.policy import Policy
14
14
  from bloomerp.models.application_field import ApplicationField
15
15
  from bloomerp.router import router
16
16
  from bloomerp.serializers.access_control import PolicySerializer
17
+ from bloomerp.views.base import BaseBloomerpView
17
18
  from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalStaffRequiredMixin
18
19
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
19
20
  from bloomerp.views.mixins.wizard_mixin import BaseStateOrchestrator, WizardMixin, WizardStep
@@ -267,7 +268,7 @@ def pcs_policy_details(request: HttpRequest, view, orchestrator: BaseStateOrches
267
268
  name="Create Policy for {model}",
268
269
  description="Create an access control policies for {model}",
269
270
  )
270
- class ManageAccessControlForModelView(ConditionalStaffRequiredMixin, UserPassesTestMixin, WizardMixin, HtmxMixin, TemplateView):
271
+ class ManageAccessControlForModelView(BaseBloomerpView, WizardMixin, TemplateView):
271
272
  template_name = "base_wizard.html"
272
273
  model: type[Model] = None
273
274
 
@@ -362,5 +363,5 @@ class ManageAccessControlForModelView(ConditionalStaffRequiredMixin, UserPassesT
362
363
  return HttpResponseClientRedirect(policy.get_absolute_url())
363
364
  return redirect(policy.get_absolute_url())
364
365
 
365
- def test_func(self):
366
+ def has_permission(self):
366
367
  return self.request.user.is_superuser
@@ -1,5 +1,6 @@
1
1
  from bloomerp.router import router
2
2
  from django.views.generic import TemplateView
3
+ from bloomerp.views.base import BaseBloomerpView
3
4
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
4
5
  from django.db.models import Model
5
6
  from django.contrib.contenttypes.models import ContentType
@@ -13,7 +14,7 @@ from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalSt
13
14
  route_type='model',
14
15
  models='__all__',
15
16
  )
16
- class ManageAccessControlForModelView(ConditionalStaffRequiredMixin, UserPassesTestMixin, HtmxMixin, TemplateView):
17
+ class ManageAccessControlForModelView(BaseBloomerpView, TemplateView):
17
18
  template_name = "access_control_views/policy_list.html"
18
19
  model : Model = None
19
20
 
@@ -33,5 +34,5 @@ class ManageAccessControlForModelView(ConditionalStaffRequiredMixin, UserPassesT
33
34
  return context
34
35
 
35
36
 
36
- def test_func(self):
37
+ def has_permission(self):
37
38
  return self.request.user.is_superuser
@@ -5,6 +5,7 @@ same mechanism as the create view, but with the data pre-filled.
5
5
  A lot of the logic is therefore reused.
6
6
  """
7
7
 
8
+ from django.shortcuts import get_object_or_404
8
9
  from django.contrib.contenttypes.models import ContentType
9
10
 
10
11
  from bloomerp.models.access_control.policy import Policy
@@ -19,7 +20,6 @@ from bloomerp.views.access_control.manage_permissions import (
19
20
  ROW_POLICY_RULES_KEY,
20
21
  ManageAccessControlForModelView,
21
22
  )
22
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
23
23
 
24
24
  @router.register(
25
25
  path="update",
@@ -28,9 +28,12 @@ from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
28
28
  route_type="detail",
29
29
  models=Policy,
30
30
  )
31
- class UpdatePolicyView(ManageAccessControlForModelView, BloomerpBaseDetailView):
31
+ class UpdatePolicyView(ManageAccessControlForModelView):
32
32
  model = Policy
33
33
 
34
+ def get_object(self) -> Policy:
35
+ return get_object_or_404(self.model, pk=self.kwargs["pk"])
36
+
34
37
  def setup(self, request, *args, **kwargs):
35
38
  super().setup(request, *args, **kwargs)
36
39
  self.object : Policy = self.get_object()
@@ -0,0 +1,14 @@
1
+
2
+
3
+ from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalStaffRequiredMixin
4
+ from bloomerp.views.mixins.htmx_mixin import HtmxMixin
5
+ from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
6
+
7
+ class BaseBloomerpView(
8
+ ConditionalStaffRequiredMixin,
9
+ LoginRequiredMixin,
10
+ PermissionRequiredMixin,
11
+ HtmxMixin,
12
+ ):
13
+ def has_permission(self):
14
+ return True # Override in subclasses as needed
@@ -1,21 +1,19 @@
1
1
  from bloomerp.router import router
2
- from ..detail.base_detail import BloomerpBaseDetailView
2
+ from ..detail.base_detail import BaseBloomerpDetailView
3
3
  from .list_view import BloomerpListView
4
4
  from .create_view import BloomerpCreateView
5
5
  from ..detail.files import BloomerpDetailFileListView
6
6
  from .bulk_upload import BloomerpBulkUploadView
7
7
  from .file_list import BloomerpFileListView
8
8
  from ..detail.comments import BloomerpDetailCommentsView
9
- from .bookmarks import BloomerpBookmarksView
10
9
 
11
10
  __all__ = [
12
11
  "router",
13
- "BloomerpBaseDetailView",
12
+ "BaseBloomerpDetailView",
14
13
  "BloomerpListView",
15
14
  "BloomerpCreateView",
16
15
  "BloomerpDetailFileListView",
17
16
  "BloomerpBulkUploadView",
18
17
  "BloomerpFileListView",
19
18
  "BloomerpDetailCommentsView",
20
- "BloomerpBookmarksView",
21
19
  ]
@@ -15,6 +15,7 @@ from bloomerp.services.bulk_services import (
15
15
  BulkCrudService,
16
16
  )
17
17
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
18
+ from bloomerp.views.base import BaseBloomerpView
18
19
  from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalStaffRequiredMixin
19
20
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
20
21
  from bloomerp.views.mixins.wizard_mixin import BaseStateOrchestrator, WizardMixin, WizardStep
@@ -203,7 +204,7 @@ def ctx_confirm_step(request: HttpRequest, view:"BloomerpBulkUploadView", orches
203
204
  route_type="model",
204
205
  exclude_models=[File],
205
206
  )
206
- class BloomerpBulkUploadView(PermissionRequiredMixin, ConditionalStaffRequiredMixin, WizardMixin, HtmxMixin, TemplateView):
207
+ class BloomerpBulkUploadView(BaseBloomerpView, WizardMixin, TemplateView):
207
208
  model = None
208
209
  module = None
209
210
  state_orchestrator_cls = BaseStateOrchestrator
@@ -22,6 +22,7 @@ from bloomerp.services.create_view_services import (
22
22
  )
23
23
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
24
24
  from bloomerp.utils.models import get_detail_view_url
25
+ from bloomerp.views.base import BaseBloomerpView
25
26
  from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalStaffRequiredMixin
26
27
  from bloomerp.views.mixins.model_form_view_mixin import BloomerpModelFormViewMixin
27
28
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
@@ -40,10 +41,8 @@ User = get_user_model()
40
41
  exclude_models=[File, Tile, SqlQuery, User, Workspace],
41
42
  )
42
43
  class BloomerpCreateView(
43
- ConditionalStaffRequiredMixin,
44
- PermissionRequiredMixin,
44
+ BaseBloomerpView,
45
45
  SuccessMessageMixin,
46
- HtmxMixin,
47
46
  BloomerpModelFormViewMixin,
48
47
  BloomerpLayoutFormMixin,
49
48
  CreateView,
@@ -1,6 +1,6 @@
1
1
  from bloomerp.models.communication import Comment
2
2
  from bloomerp.router import router
3
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
3
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
4
4
 
5
5
 
6
6
  @router.register(
@@ -11,7 +11,7 @@ from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
11
11
  route_type="detail",
12
12
  models="__all__",
13
13
  )
14
- class BloomerpDetailCommentsView(BloomerpBaseDetailView):
14
+ class BloomerpDetailCommentsView(BaseBloomerpDetailView):
15
15
  template_name = "detail_views/bloomerp_detail_comments_view.html"
16
16
  model = None
17
17
  permissions = ["view"]
@@ -5,6 +5,7 @@ from django.contrib.contenttypes.models import ContentType
5
5
  from django.urls import reverse
6
6
  from bloomerp.models.application_field import ApplicationField
7
7
  from bloomerp.models.files import File
8
+ from bloomerp.views.base import BaseBloomerpView
8
9
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
9
10
  from bloomerp.router import router
10
11
 
@@ -16,7 +17,7 @@ from bloomerp.router import router
16
17
  url_name="app",
17
18
  description="List of all files across the application.",
18
19
  )
19
- class BloomerpFileListView(PermissionRequiredMixin, HtmxMixin, TemplateView):
20
+ class BloomerpFileListView(BaseBloomerpView, TemplateView):
20
21
  template_name = "list_views/bloomerp_file_list_view.html"
21
22
  model = File
22
23
  module = None
@@ -1,9 +1,10 @@
1
1
  from typing import Any
2
2
  from django.db.models import Model
3
- from django.views.generic.list import ListView
3
+ from django.views.generic import TemplateView
4
4
  from django.contrib.auth.mixins import PermissionRequiredMixin
5
5
  from bloomerp.models.files import File
6
6
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
7
+ from bloomerp.views.base import BaseBloomerpView
7
8
  from bloomerp.views.mixins.model_context_mixin import BloomerpModelContextMixin
8
9
  from bloomerp.router import router
9
10
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
@@ -17,7 +18,7 @@ from bloomerp.views.mixins.htmx_mixin import HtmxMixin
17
18
  route_type="model",
18
19
  exclude_models=[File],
19
20
  )
20
- class BloomerpListView(PermissionRequiredMixin, BloomerpModelContextMixin, HtmxMixin, ListView):
21
+ class BloomerpListView(BaseBloomerpView, BloomerpModelContextMixin, TemplateView):
21
22
  model: Model = None
22
23
  module = None
23
24
  template_name: str = "list_views/bloomerp_list_view.html"
@@ -3,7 +3,7 @@ A view that shows which users have access to the particular object.
3
3
  """
4
4
 
5
5
  from bloomerp.router import router
6
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
6
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
7
7
  from django.contrib.auth.mixins import PermissionRequiredMixin
8
8
 
9
9
  # @router.register(
@@ -13,6 +13,6 @@ from django.contrib.auth.mixins import PermissionRequiredMixin
13
13
  # description="Check which objects have access to this particular object",
14
14
  # models="__all__"
15
15
  # )
16
- # class BloomerpDetailOverviewView(BloomerpBaseDetailView):
16
+ # class BloomerpDetailOverviewView(BaseBloomerpDetailView):
17
17
  # template_name = "detail_views/bloomerp_detail_access_control_view.html"
18
18
 
@@ -1,6 +1,6 @@
1
1
  from typing import Any, Dict
2
2
  from bloomerp.router import router
3
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
3
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
4
4
  from bloomerp.models.activity_log import ActivityLog
5
5
 
6
6
  # @router.register(
@@ -11,7 +11,7 @@ from bloomerp.models.activity_log import ActivityLog
11
11
  # route_type="detail",
12
12
  # models="__all__",
13
13
  # )
14
- # class BloomerpDetailActivityView(BloomerpBaseDetailView):
14
+ # class BloomerpDetailActivityView(BaseBloomerpDetailView):
15
15
  # template_name = "detail_views/bloomerp_detail_activity_view.html"
16
16
 
17
17
  # def get_context_data(self, **kwargs: Any) -> Dict[str, Any]:
@@ -2,6 +2,7 @@ from typing import Any
2
2
  from django.views.generic.detail import DetailView
3
3
  from bloomerp.models.application_field import ApplicationField
4
4
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
5
+ from bloomerp.views.base import BaseBloomerpView
5
6
  from bloomerp.views.mixins.conditional_staff_required_mixin import ConditionalStaffRequiredMixin
6
7
  from bloomerp.views.mixins.model_context_mixin import BloomerpModelContextMixin
7
8
  from bloomerp.router import router
@@ -12,7 +13,7 @@ from django.contrib.auth.mixins import PermissionRequiredMixin
12
13
 
13
14
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
14
15
 
15
- class BloomerpBaseDetailView(HtmxMixin, ConditionalStaffRequiredMixin, PermissionRequiredMixin, BloomerpModelContextMixin, DetailView):
16
+ class BaseBloomerpDetailView(BaseBloomerpView, BloomerpModelContextMixin, DetailView):
16
17
  htmx_template = "bloomerp_htmx_base_view.html"
17
18
  tabs = None
18
19
  exclude_header = False
@@ -1,5 +1,5 @@
1
1
  from bloomerp.models.communication import Comment
2
- from .base_detail import BloomerpBaseDetailView
2
+ from .base_detail import BaseBloomerpDetailView
3
3
  from bloomerp.router import router
4
4
 
5
5
 
@@ -11,7 +11,7 @@ from bloomerp.router import router
11
11
  route_type="detail",
12
12
  models="__all__",
13
13
  )
14
- class BloomerpDetailCommentsView(BloomerpBaseDetailView):
14
+ class BloomerpDetailCommentsView(BaseBloomerpDetailView):
15
15
  template_name = "detail_views/bloomerp_detail_comments_view.html"
16
16
  model = None
17
17
 
@@ -15,7 +15,7 @@ from bloomerp.services.permission_services import UserPermissionManager
15
15
  from bloomerp.services.permission_services import create_permission_str
16
16
  from bloomerp.utils.models import get_delete_view_url
17
17
  from bloomerp.utils.models import get_list_view_url
18
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
18
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
19
19
 
20
20
 
21
21
  User = get_user_model()
@@ -30,7 +30,7 @@ User = get_user_model()
30
30
  route_type="detail",
31
31
  exclude_models=[File, Tile, SqlQuery, User],
32
32
  )
33
- class BloomerpDeleteView(BloomerpBaseDetailView):
33
+ class BloomerpDeleteView(BaseBloomerpDetailView):
34
34
  template_name = "delete_views/bloomerp_delete_view.html"
35
35
 
36
36
  def get_delete_permission(self) -> str:
@@ -1,7 +1,7 @@
1
1
 
2
2
  from bloomerp.models.files import File
3
3
  from django.urls import reverse
4
- from .base_detail import BloomerpBaseDetailView
4
+ from .base_detail import BaseBloomerpDetailView
5
5
  from bloomerp.router import router
6
6
  from bloomerp.services.file_services import ensure_folder_hierarchy_for_object
7
7
 
@@ -13,7 +13,7 @@ from bloomerp.services.file_services import ensure_folder_hierarchy_for_object
13
13
  route_type="detail",
14
14
  exclude_models=[File],
15
15
  )
16
- class BloomerpDetailFileListView(BloomerpBaseDetailView):
16
+ class BloomerpDetailFileListView(BaseBloomerpDetailView):
17
17
  template_name = "detail_views/bloomerp_detail_files_view.html"
18
18
  modules = None
19
19
  permission_fields = [("files", "view")]
@@ -32,6 +32,7 @@ class BloomerpDetailFileListView(BloomerpBaseDetailView):
32
32
  context["file_browser_url"] = f"{reverse('components_files')}?{params.urlencode()}"
33
33
  return context
34
34
 
35
+
35
36
 
36
37
 
37
38
 
@@ -6,10 +6,10 @@ from bloomerp.models.communication import Comment
6
6
  from bloomerp.models.files import File
7
7
  from bloomerp.router import router
8
8
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
9
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
9
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
10
10
  from django.contrib.contenttypes.models import ContentType
11
11
 
12
- class ForeignRelationshipView(BloomerpBaseDetailView):
12
+ class ForeignRelationshipView(BaseBloomerpDetailView):
13
13
  template_name: str = "detail_views/bloomerp_foreign_relationship_view.html"
14
14
  model = None
15
15
  related_model = None
@@ -13,7 +13,7 @@ from bloomerp.services.create_view_services import AUTO_MANAGED_FIELD_NAMES, get
13
13
  from bloomerp.services.detail_view_services import get_default_layout
14
14
  from bloomerp.services.permission_services import UserPermissionManager, create_permission_str
15
15
  from bloomerp.utils.models import get_detail_view_url
16
- from bloomerp.views.detail.base_detail import BloomerpBaseDetailView
16
+ from bloomerp.views.detail.base_detail import BaseBloomerpDetailView
17
17
  from bloomerp.views.mixins.layout_form_mixin import BloomerpLayoutFormMixin
18
18
 
19
19
 
@@ -25,7 +25,7 @@ from bloomerp.views.mixins.layout_form_mixin import BloomerpLayoutFormMixin
25
25
  route_type="detail",
26
26
  models="__all__",
27
27
  )
28
- class BloomerpDetailOverviewView(BloomerpLayoutFormMixin, BloomerpBaseDetailView):
28
+ class BloomerpDetailOverviewView(BloomerpLayoutFormMixin, BaseBloomerpDetailView):
29
29
  template_name = "mixins/bloomerp_layout_form_mixin.html"
30
30
  settings = None
31
31
  layout_mode = "detail"
@@ -0,0 +1 @@
1
+ EXCLUDE_MODELS = []
@@ -1,6 +1,6 @@
1
1
  from bloomerp.models.document_templates import DocumentTemplate
2
2
  from bloomerp.router import router
3
- from bloomerp.views.core import BloomerpBaseDetailView
3
+ from bloomerp.views.core import BaseBloomerpDetailView
4
4
 
5
5
 
6
6
  from django.views.generic.edit import UpdateView
@@ -14,7 +14,7 @@ from django.views.generic.edit import UpdateView
14
14
  url_name="editor",
15
15
  description="Document Template Editor"
16
16
  )
17
- class BloomerpDocumentTemplateEditorView(BloomerpBaseDetailView, UpdateView):
17
+ class BloomerpDocumentTemplateEditorView(BaseBloomerpDetailView, UpdateView):
18
18
  model = DocumentTemplate
19
19
  template_name = "document_template_views/bloomerp_document_template_editor_view.html"
20
20
  fields = ["template"]
@@ -1,7 +1,7 @@
1
1
  from bloomerp.forms.document_templates import GenerateDocumentForm
2
2
  from bloomerp.models.document_templates import DocumentTemplate
3
3
  from bloomerp.router import router
4
- from bloomerp.views.core import BloomerpBaseDetailView
4
+ from bloomerp.views.core import BaseBloomerpDetailView
5
5
 
6
6
 
7
7
  @router.register(
@@ -12,7 +12,7 @@ from bloomerp.views.core import BloomerpBaseDetailView
12
12
  url_name="generate_document",
13
13
  description="Generate document for the document template"
14
14
  )
15
- class BloomerpDocumentTemplateGenerateView(BloomerpBaseDetailView):
15
+ class BloomerpDocumentTemplateGenerateView(BaseBloomerpDetailView):
16
16
  model = DocumentTemplate
17
17
  template_name = "document_template_views/bloomerp_document_template_generate_view.html"
18
18
 
@@ -3,7 +3,7 @@ from bloomerp.models.document_templates import DocumentTemplate
3
3
  from bloomerp.models.files import File
4
4
  from bloomerp.router import router
5
5
  from bloomerp.utils.document_templates import DocumentController
6
- from bloomerp.views.core import BloomerpBaseDetailView
6
+ from bloomerp.views.core import BaseBloomerpDetailView
7
7
  from bloomerp.views.document_templates import EXCLUDE_MODELS
8
8
 
9
9
 
@@ -20,7 +20,7 @@ from django.shortcuts import redirect
20
20
  description="Document Template for {model}",
21
21
  exclude_models=EXCLUDE_MODELS
22
22
  )
23
- class BloomerpDetailDocumentTemplateGenerateView(BloomerpBaseDetailView):
23
+ class BloomerpDetailDocumentTemplateGenerateView(BaseBloomerpDetailView):
24
24
  template_name = "document_template_views/bloomerp_detail_document_generator_view.html"
25
25
  model = None
26
26
 
@@ -1,7 +1,7 @@
1
1
  from bloomerp.models.document_templates import DocumentTemplate
2
2
  from bloomerp.models.files import File
3
3
  from bloomerp.router import router
4
- from bloomerp.views.core import BloomerpBaseDetailView
4
+ from bloomerp.views.core import BaseBloomerpDetailView
5
5
 
6
6
 
7
7
  @router.register(
@@ -12,7 +12,7 @@ from bloomerp.views.core import BloomerpBaseDetailView
12
12
  url_name="generated_documents",
13
13
  description="List of generated documents for the document template"
14
14
  )
15
- class BloomerpDocumentTemplateGeneratedDocumentsView(BloomerpBaseDetailView):
15
+ class BloomerpDocumentTemplateGeneratedDocumentsView(BaseBloomerpDetailView):
16
16
  model = DocumentTemplate
17
17
  template_name = "document_template_views/bloomerp_document_template_generated_documents_view.html"
18
18
 
@@ -1,6 +1,7 @@
1
1
  from bloomerp.router import router
2
2
  from bloomerp.models.users.user import User
3
- from bloomerp.views.core import BloomerpBaseDetailView
3
+ from bloomerp.views.base import BaseBloomerpView
4
+ from bloomerp.views.core import BaseBloomerpDetailView
4
5
 
5
6
 
6
7
  from django.contrib.auth.forms import AdminPasswordChangeForm
@@ -16,11 +17,12 @@ from django.views.generic.edit import FormView
16
17
  url_name='reset_password_for_user',
17
18
  description='Reset password for a user'
18
19
  )
19
- class UserAdminPasswordResetView(UserPassesTestMixin, BloomerpBaseDetailView, FormView):
20
+ class UserAdminPasswordResetView(BaseBloomerpView, FormView):
20
21
  template_name = 'auth_views/profile_password_reset.html'
21
22
  form_class = AdminPasswordChangeForm
23
+ model = None
22
24
 
23
- def test_func(self):
25
+ def has_permission(self):
24
26
  return self.request.user.is_superuser
25
27
 
26
28
  def get_success_url(self):
@@ -1,7 +1,9 @@
1
1
  from bloomerp.forms.auth import BloomerpUserCreationForm
2
2
  from bloomerp.router import router
3
+ from bloomerp.services.permission_services import UserPermissionManager
3
4
  from bloomerp.utils.models import model_name_plural_underline
4
5
  from bloomerp.models.users.user import User
6
+ from bloomerp.views.base import BaseBloomerpView
5
7
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
6
8
 
7
9
 
@@ -19,11 +21,7 @@ from django.views.generic.edit import FormView
19
21
  route_type="model",
20
22
  models=User
21
23
  )
22
- class UserCreateView(
23
- PermissionRequiredMixin,
24
- SuccessMessageMixin,
25
- HtmxMixin,
26
- FormView):
24
+ class UserCreateView(BaseBloomerpView, SuccessMessageMixin, FormView):
27
25
  template_name = "create_views/bloomerp_create_view.html"
28
26
  fields = None
29
27
  model = None
@@ -42,8 +40,13 @@ class UserCreateView(
42
40
  form.save()
43
41
  return super().form_valid(form)
44
42
 
45
- def get_permission_required(self):
46
- return [f"{self.model._meta.app_label}.add_{self.model._meta.model_name}"]
43
+ def has_permission(self):
44
+ manager = UserPermissionManager(self.request.user)
45
+
46
+ return manager.has_global_permission(
47
+ self.model,
48
+ "add_user"
49
+ )
47
50
 
48
51
  def get_success_message(self, cleaned_data):
49
52
  return f"User was created successfully."
@@ -1,4 +1,5 @@
1
1
  from bloomerp.router import router
2
+ from bloomerp.views.base import BaseBloomerpView
2
3
  from bloomerp.views.mixins.htmx_mixin import HtmxMixin
3
4
  from django.views.generic import TemplateView
4
5
 
@@ -10,6 +11,6 @@ from django.views.generic import TemplateView
10
11
  url_name="inbox",
11
12
  route_type="app"
12
13
  )
13
- class InboxView(HtmxMixin, TemplateView):
14
+ class InboxView(BaseBloomerpView, TemplateView):
14
15
  template_name = "user_views/inbox_view.html"
15
16