wbcore 2.2.4__py2.py3-none-any.whl → 2.2.5__py2.py3-none-any.whl

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 (99) hide show
  1. {wbcore-2.2.4.dist-info → wbcore-2.2.5.dist-info}/METADATA +1 -1
  2. {wbcore-2.2.4.dist-info → wbcore-2.2.5.dist-info}/RECORD +3 -99
  3. wbcore/contrib/agenda/locale/de/LC_MESSAGES/django.po +0 -113
  4. wbcore/contrib/agenda/release_notes/1_0_0.md +0 -13
  5. wbcore/contrib/agenda/static/agenda/markdown/documentation/building.md +0 -11
  6. wbcore/contrib/agenda/static/agenda/markdown/documentation/conferenceroom.md +0 -20
  7. wbcore/contrib/authentication/fixtures/authentication.json +0 -62
  8. wbcore/contrib/authentication/locale/de/LC_MESSAGES/django.po +0 -610
  9. wbcore/contrib/authentication/release_notes/1_0_0.md +0 -13
  10. wbcore/contrib/authentication/templates/activate_confirm.html +0 -12
  11. wbcore/contrib/authentication/templates/base.html +0 -135
  12. wbcore/contrib/authentication/templates/email_base_template.html +0 -335
  13. wbcore/contrib/authentication/templates/password_reset_done.html +0 -13
  14. wbcore/contrib/authentication/templates/password_reset_email.html +0 -11
  15. wbcore/contrib/authentication/templates/password_reset_email_html.html +0 -43
  16. wbcore/contrib/authentication/templates/password_reset_form.html +0 -23
  17. wbcore/contrib/authentication/templates/password_reset_sent.html +0 -11
  18. wbcore/contrib/authentication/templates/reset_password.html +0 -15
  19. wbcore/contrib/authentication/templates/user_registration_email.html +0 -37
  20. wbcore/contrib/currency/fixtures/currency.yaml +0 -1014
  21. wbcore/contrib/currency/fixtures/currency_fx_rate.yaml +0 -73585
  22. wbcore/contrib/currency/release_notes/1_0_0.md +0 -13
  23. wbcore/contrib/directory/fixtures/directory.json +0 -3924
  24. wbcore/contrib/directory/locale/de/LC_MESSAGES/django.po +0 -1686
  25. wbcore/contrib/directory/release_notes/1_0_0.md +0 -13
  26. wbcore/contrib/directory/release_notes/1_0_1.md +0 -13
  27. wbcore/contrib/directory/static/directory/markdown/documentation/address.md +0 -38
  28. wbcore/contrib/directory/static/directory/markdown/documentation/banking.md +0 -54
  29. wbcore/contrib/directory/static/directory/markdown/documentation/bankingentry.md +0 -38
  30. wbcore/contrib/directory/static/directory/markdown/documentation/clientmanagerrelationship.md +0 -42
  31. wbcore/contrib/directory/static/directory/markdown/documentation/company.md +0 -52
  32. wbcore/contrib/directory/static/directory/markdown/documentation/companytype.md +0 -2
  33. wbcore/contrib/directory/static/directory/markdown/documentation/customerstatus.md +0 -2
  34. wbcore/contrib/directory/static/directory/markdown/documentation/email.md +0 -20
  35. wbcore/contrib/directory/static/directory/markdown/documentation/employeecompany.md +0 -34
  36. wbcore/contrib/directory/static/directory/markdown/documentation/employerperson.md +0 -43
  37. wbcore/contrib/directory/static/directory/markdown/documentation/person.md +0 -61
  38. wbcore/contrib/directory/static/directory/markdown/documentation/position.md +0 -2
  39. wbcore/contrib/directory/static/directory/markdown/documentation/relationshiptype.md +0 -2
  40. wbcore/contrib/directory/static/directory/markdown/documentation/socialmedia.md +0 -23
  41. wbcore/contrib/directory/static/directory/markdown/documentation/specialization.md +0 -2
  42. wbcore/contrib/directory/static/directory/markdown/documentation/systememployee.md +0 -31
  43. wbcore/contrib/directory/static/directory/markdown/documentation/telephone.md +0 -23
  44. wbcore/contrib/directory/static/directory/markdown/documentation/telephonesearch.md +0 -26
  45. wbcore/contrib/directory/static/directory/markdown/documentation/userisclient.md +0 -14
  46. wbcore/contrib/directory/static/directory/markdown/documentation/userismanager.md +0 -28
  47. wbcore/contrib/directory/static/directory/markdown/documentation/website.md +0 -20
  48. wbcore/contrib/documents/fixtures/docments.json +0 -135
  49. wbcore/contrib/documents/locale/de/LC_MESSAGES/django.po +0 -272
  50. wbcore/contrib/documents/release_notes/1_0_0.md +0 -13
  51. wbcore/contrib/documents/static/documents/markdown/documentation/document_types.md +0 -21
  52. wbcore/contrib/documents/static/documents/markdown/documentation/documents.md +0 -18
  53. wbcore/contrib/documents/static/documents/markdown/documentation/shareablelink.md +0 -28
  54. wbcore/contrib/documents/static/documents/markdown/documentation/shareablelinkaccess.md +0 -20
  55. wbcore/contrib/example_app/fixtures/example_app.json +0 -7425
  56. wbcore/contrib/geography/fixtures/geography.json +0 -13454
  57. wbcore/contrib/geography/release_notes/1_0_0.md +0 -13
  58. wbcore/contrib/geography/static/geography/markdown/documentation/geography.md +0 -16
  59. wbcore/contrib/io/fixtures/io.json +0 -145
  60. wbcore/contrib/io/locale/de/LC_MESSAGES/django.po +0 -52
  61. wbcore/contrib/io/release_notes/1_0_0.md +0 -13
  62. wbcore/contrib/notifications/locale/de/LC_MESSAGES/django.po +0 -60
  63. wbcore/contrib/notifications/release_notes/1_0_0.md +0 -13
  64. wbcore/contrib/notifications/static/notifications/service-worker.js +0 -1
  65. wbcore/contrib/notifications/templates/notifications/notification_template.html +0 -43
  66. wbcore/contrib/tags/release_notes/1_0_0.md +0 -13
  67. wbcore/contrib/workflow/fixtures/workflow.json +0 -612
  68. wbcore/contrib/workflow/locale/de/LC_MESSAGES/django.po +0 -1289
  69. wbcore/contrib/workflow/static/workflow/markdown/documentation/assignedprocessstep.md +0 -33
  70. wbcore/contrib/workflow/static/workflow/markdown/documentation/condition.md +0 -24
  71. wbcore/contrib/workflow/static/workflow/markdown/documentation/decisionstep.md +0 -30
  72. wbcore/contrib/workflow/static/workflow/markdown/documentation/emailstep.md +0 -45
  73. wbcore/contrib/workflow/static/workflow/markdown/documentation/finishstep.md +0 -33
  74. wbcore/contrib/workflow/static/workflow/markdown/documentation/joinstep.md +0 -33
  75. wbcore/contrib/workflow/static/workflow/markdown/documentation/process.md +0 -33
  76. wbcore/contrib/workflow/static/workflow/markdown/documentation/processstep.md +0 -51
  77. wbcore/contrib/workflow/static/workflow/markdown/documentation/scriptstep.md +0 -33
  78. wbcore/contrib/workflow/static/workflow/markdown/documentation/splitstep.md +0 -30
  79. wbcore/contrib/workflow/static/workflow/markdown/documentation/startstep.md +0 -27
  80. wbcore/contrib/workflow/static/workflow/markdown/documentation/transition.md +0 -27
  81. wbcore/contrib/workflow/static/workflow/markdown/documentation/userstep.md +0 -42
  82. wbcore/contrib/workflow/static/workflow/markdown/documentation/workflow.md +0 -32
  83. wbcore/contrib/workflow/templates/Test_Templates.txt +0 -25
  84. wbcore/docs/orderable.md +0 -29
  85. wbcore/docs/reparent.md +0 -13
  86. wbcore/locale/de/LC_MESSAGES/django.po +0 -667
  87. wbcore/templates/errors/404.html +0 -134
  88. wbcore/templates/errors/500.html +0 -138
  89. wbcore/templates/errors/503.html +0 -132
  90. wbcore/templates/errors/custom.html +0 -132
  91. wbcore/templates/notifications/email_template.html +0 -43
  92. wbcore/templates/reversion/compare_detail.html +0 -19
  93. wbcore/templates/wbcore/admin/change_list.html +0 -8
  94. wbcore/templates/wbcore/admin/csv_form.html +0 -15
  95. wbcore/templates/wbcore/dynamic_color_array.html +0 -29
  96. wbcore/templates/wbcore/email_base_template.html +0 -335
  97. wbcore/templates/wbcore/email_notification_template.html +0 -10
  98. wbcore/templates/wbcore/frontend.html +0 -51
  99. {wbcore-2.2.4.dist-info → wbcore-2.2.5.dist-info}/WHEEL +0 -0
@@ -1,33 +0,0 @@
1
- # Assigned Process Steps
2
-
3
- A list of all active process steps that are assigned to the current user. A process step is the running instance of a step with all its relevant information. When a workflow is started a process step is created for every step that gets executed. Therefore, all fields are read-only.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Step:
9
- The step that is currently being executed.
10
-
11
- ### Attached Model:
12
- The model the workflow is attached to (e.g. Activity). Used to display buttons in the model instances to steer the workflow, set a status field or evaluate conditions.
13
-
14
- ### Workflow:
15
- The workflow that is currently being executed.
16
-
17
- ### Started:
18
- Date and time at which this step was started.
19
-
20
- ### Finished:
21
- Date and time at which this step was finished.
22
-
23
- ### Group:
24
- The group that this process step is assigned to.
25
-
26
- ### Permission:
27
- The permission that is needed to be able to view this item.
28
-
29
- ### Status:
30
- The status that was set on the attached model when this step was executed.
31
-
32
- ## Search Field:
33
- Typing in the search field allows to filter the process steps by workflow or step name.
@@ -1,24 +0,0 @@
1
- # Conditions
2
-
3
- Conditions are always attached to a transition with a transition only being able to be triggered if **all** its conditions are satisfied. This provides the ability to conditionally turn on and off any transition by creating conditions. Conditions currently need an attached instance that can be evaluated which will look like this: `Attribute Name`      `(Negate) Operator`      `Expected Value`
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Transition:
9
- The transition this condition is attached to.
10
-
11
- ### Attribute Name:
12
- The name of the attribute on the attached instance. Its value will be evaluated against the condition.
13
-
14
- ### Operator:
15
- The operator can be any of the following: `<`, `>`, `<=`, `>=`, `=`.
16
-
17
- ### Negate Operator:
18
- Indicates if the operator should be negated. Will effectively reverse the result of the condition.
19
-
20
- ### Expected Value:
21
- The expected value of the attribute that will satisfy the condition.
22
-
23
- ## Search Field:
24
- Typing in the search field allows to filter the conditions by attribute name or expected value.
@@ -1,30 +0,0 @@
1
- # Decision Steps
2
-
3
- A decision step automatically activates the first transition that satisfies all of its conditions. Only really makes sense in conjunction with conditions that disable every transition but one.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Status:
15
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
16
-
17
- ### Code:
18
- A number representation of this step. Must be unique per workflow.
19
-
20
- ### Permission:
21
- Defines which permission is needed to be able to view this step being executed.
22
-
23
- ## Filters:
24
- Filters are accessed by clicking on the symbol in the top left corner of the window.
25
-
26
- ### Associated Transition:
27
- Displays every step that the specified transition is a part of.
28
-
29
- ## Search Field:
30
- Typing in the search field allows to filter the steps by name.
@@ -1,45 +0,0 @@
1
- # Email Steps
2
-
3
- An email step automatically sends out an email to a list of contacts before transitioning to the next step.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### To:
12
- A list of receiving email adresses. Please make sure there are no duplicates in all email lists.
13
-
14
- ### Subject:
15
- The subject of the email.
16
-
17
- ### Template:
18
- The email template that will be used for creating the email.
19
-
20
- ### CC:
21
- A list of email adresses that will receive a copy of the email.
22
-
23
- ### BCC:
24
- A list of email adresses that will receive a blind copy of the email.
25
-
26
- ### Workflow:
27
- The workflow this step belongs to.
28
-
29
- ### Status:
30
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
31
-
32
- ### Code:
33
- A number representation of this step. Must be unique per workflow.
34
-
35
- ### Permission:
36
- Defines which permission is needed to be able to view this step being executed.
37
-
38
- ## Filters:
39
- Filters are accessed by clicking on the symbol in the top left corner of the window.
40
-
41
- ### Associated Transition:
42
- Displays every step that the specified transition is a part of.
43
-
44
- ## Search Field:
45
- Typing in the search field allows to filter the steps by name.
@@ -1,33 +0,0 @@
1
- # Finish Steps
2
-
3
- A finish step is always the last step in a workflow.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Write Preserved Instance:
15
- If "Preserve Instance" was selected in the related workflow this field provides the option of writing the previously saved data onto the attached instance to preserve its state throughout the workflow.
16
-
17
- ### Status:
18
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
19
-
20
- ### Code:
21
- A number representation of this step. Must be unique per workflow.
22
-
23
- ### Permission:
24
- Defines which permission is needed to be able to view this step being executed.
25
-
26
- ## Filters:
27
- Filters are accessed by clicking on the symbol in the top left corner of the window.
28
-
29
- ### Associated Transition:
30
- Displays every step that the specified transition is a part of.
31
-
32
- ## Search Field:
33
- Typing in the search field allows to filter the steps by name.
@@ -1,33 +0,0 @@
1
- # Join Steps
2
-
3
- A join step joins multiple steps into one. Waits until all incoming transitions are done by default. If _Wait For All_ is False the first incoming transition cancels all other active incoming transitions. The step of choice for merging different workflow trees back into one.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Wait For All:
15
- Indicates wether the step will wait for all incoming transitions to be finished until triggering the next transition. If False, the step will instead cancel all other active incoming transitions as soon as it is reached before triggering the next transition.
16
-
17
- ### Status:
18
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
19
-
20
- ### Code:
21
- A number representation of this step. Must be unique per workflow.
22
-
23
- ### Permission:
24
- Defines which permission is needed to be able to view this step being executed.
25
-
26
- ## Filters:
27
- Filters are accessed by clicking on the symbol in the top left corner of the window.
28
-
29
- ### Associated Transition:
30
- Displays every step that the specified transition is a part of.
31
-
32
- ## Search Field:
33
- Typing in the search field allows to filter the steps by name.
@@ -1,33 +0,0 @@
1
- # Processes
2
-
3
- Whenever a workflow is started, this creates a process with all relevant information from the workflow. Therefore, all fields are read-only.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Workflow:
9
- The executed workflow.
10
-
11
- ### UUID:
12
- Unique identifier for this process.
13
-
14
- ### Started:
15
- Date and time at which the workflow was started.
16
-
17
- ### Finished:
18
- Date and time at which the workflow was finished.
19
-
20
- ### Attached Model:
21
- The model the workflow is attached to (e.g. Activity). Used to display buttons in the model instances to steer the workflow, set a status field or evaluate conditions.
22
-
23
- ## Legend:
24
- Click on a state in the legend to filter the list.
25
-
26
- ## Filters:
27
- Filters are accessed by clicking on the symbol in the top left corner of the window.
28
-
29
- ### States:
30
- Filter processes by a specific state they're in, smiliarly to what clicking on the legend does.
31
-
32
- ## Search Field:
33
- Typing in the search field allows to filter the processes by workflow name or attached model.
@@ -1,51 +0,0 @@
1
- # Process Steps
2
-
3
- A process step is the running instance of a step with all its relevant information. When a workflow is started a process step is created for every step that gets executed. Therefore, all fields are read-only.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### UUID:
9
- Unique identifier for this process step.
10
-
11
- ### Step:
12
- The step that is currently being executed.
13
-
14
- ### Process:
15
- The process that this process step belongs to.
16
-
17
- ### Workflow:
18
- The workflow that is currently being executed.
19
-
20
- ### Started:
21
- Date and time at which this step was started.
22
-
23
- ### Finished:
24
- Date and time at which this step was finished.
25
-
26
- ### Error Message:
27
- The error message in case this step failed.
28
-
29
- ### Assignee:
30
- The person that this process step is assigned to.
31
-
32
- ### Group:
33
- The group that this process step is assigned to.
34
-
35
- ### Permission:
36
- The permission that is needed to be able to view this item.
37
-
38
- ### Status:
39
- The status that was set on the attached model when this step was executed.
40
-
41
- ## Legend:
42
- Click on a state in the legend to filter the list.
43
-
44
- ## Filters:
45
- Filters are accessed by clicking on the symbol in the top left corner of the window.
46
-
47
- ### States:
48
- Filter processes by a specific state they're in, smiliarly to what clicking on the legend does.
49
-
50
- ## Search Field:
51
- Typing in the search field allows to filter the by workflow or step name.
@@ -1,33 +0,0 @@
1
- # Script Steps
2
-
3
- A script step automatically runs a provided python script before transitioning to the next step.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Script:
15
- The script that will be executed by this step. Should be valid python and implement the function "run" that has exactly one argument called "process_step". To make changes on the attached instance, call `process_step.process.instance`.
16
-
17
- ### Status:
18
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
19
-
20
- ### Code:
21
- A number representation of this step. Must be unique per workflow.
22
-
23
- ### Permission:
24
- Defines which permission is needed to be able to view this step being executed.
25
-
26
- ## Filters:
27
- Filters are accessed by clicking on the symbol in the top left corner of the window.
28
-
29
- ### Associated Transition:
30
- Displays every step that the specified transition is a part of.
31
-
32
- ## Search Field:
33
- Typing in the search field allows to filter the steps by name.
@@ -1,30 +0,0 @@
1
- # Split Steps
2
-
3
- A split step activates all transitions that meet all of their conditions making it the step of choice for splitting a workflow into sub-trees that run simultaneously.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Status:
15
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
16
-
17
- ### Code:
18
- A number representation of this step. Must be unique per workflow.
19
-
20
- ### Permission:
21
- Defines which permission is needed to be able to view this step being executed.
22
-
23
- ## Filters:
24
- Filters are accessed by clicking on the symbol in the top left corner of the window.
25
-
26
- ### Associated Transition:
27
- Displays every step that the specified transition is a part of.
28
-
29
- ## Search Field:
30
- Typing in the search field allows to filter the steps by name.
@@ -1,27 +0,0 @@
1
- # Start Steps
2
-
3
- A start step is always the first step in a workflow.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Status:
15
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
16
-
17
- ### Code:
18
- A number representation of this step. Must be unique per workflow.
19
-
20
- ## Filters:
21
- Filters are accessed by clicking on the symbol in the top left corner of the window.
22
-
23
- ### Associated Transition:
24
- Displays every step that the specified transition is a part of.
25
-
26
- ## Search Field:
27
- Typing in the search field allows to filter the steps by name.
@@ -1,27 +0,0 @@
1
- # Transitions
2
-
3
- A transition connects two steps in a workflow.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the transition.
10
-
11
- ### From:
12
- The originating step.
13
-
14
- ### To:
15
- The target step.
16
-
17
- ### Icon:
18
- The icon that will grace the transition buttons for user steps.
19
-
20
- ## Filters:
21
- Filters are accessed by clicking on the symbol in the top left corner of the window.
22
-
23
- ### Associated Condition:
24
- Displays the transition a selected condition is attached to.
25
-
26
- ## Search Field:
27
- Typing in the search field allows to filter the transitions by name.
@@ -1,42 +0,0 @@
1
- # User Steps
2
-
3
- A user step needs an assigned user or user group to manually pick the next transition.
4
-
5
- ## Columns:
6
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
7
-
8
- ### Name:
9
- The name of the step.
10
-
11
- ### Workflow:
12
- The workflow this step belongs to.
13
-
14
- ### Status:
15
- The status that will be set in the attached instance's status field upon transitioning to this step. Only applicable if attached model is set.
16
-
17
- ### Code:
18
- A number representation of this step. Must be unique per workflow.
19
-
20
- ### Permission:
21
- Defines which permission is needed to be able to view this step being executed.
22
-
23
- ### Assignee:
24
- A selected assignee needs to choose the next transition.
25
-
26
- ### Group:
27
- From a selected group anyone can progress the workflow by choosing the next transition. Exclusive with assignee field.
28
-
29
- ### Assignee Method:
30
- Automatically chooses a the step's assignee possibly picking from the provided group depending on the method's implementation. Exclusive with assignee field.
31
-
32
- ### Notify User:
33
- If True, sends a notification to all assigned users to remind them that they need to pick the next transition.
34
-
35
- ## Filters:
36
- Filters are accessed by clicking on the symbol in the top left corner of the window.
37
-
38
- ### Associated Transition:
39
- Displays every step that the specified transition is a part of.
40
-
41
- ## Search Field:
42
- Typing in the search field allows to filter the steps by name, assignee or group.
@@ -1,32 +0,0 @@
1
- # Workflows
2
-
3
- A workflow consists of steps it can go through with each one having a different purpose based on the type of the step. The steps are connected by transitions to be able to transition from one step to another. Conditions can be attached to a transition to prevent transitioning to the next step based on certain parameters. Workflows are always directional.
4
-
5
- ![Example Workflow](data:image/png;base64,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)
6
-
7
- ## Columns:
8
- Each column title has three lines on the right if you hover over it. Click on them to show options for that column. The second tab of the options menu will allow you to filter the column, the third to completely hide entire columns. Click on anywhere else on the column to order it, cycling between ascending, descending and no ordering. Hold shift while clicking to order multiple columns with individual weights.
9
-
10
- ### Name:
11
- The name of the workflow.
12
-
13
- ### Single Instance Execution:
14
- Indicates wether the workflow is restricted to only one running workflow at a time. If a model is attached to the workflow this will restrict the workflow execution per model instance.
15
-
16
- ### Attached Model:
17
- The model this workflow is attached to (e.g. Activity). Used to display buttons in the model instances to steer the workflow, set a status field or evaluate conditions.
18
-
19
- ### Model Status Field:
20
- The status field name in the attached model that needs to be updated by the workflow. Only applicable if attached model is set.
21
-
22
- ### Preserve Instance:
23
- This will preserve the attached instance's state in a JSON field when starting the workflow. You then have the option to write this data back onto the instance in a finish step, effectively preserving the instance's state throughout the workflow. Only applicable if attached model is set.
24
-
25
- ## Filters:
26
- Filters are accessed by clicking on the symbol in the top left corner of the window.
27
-
28
- ### Associated Step:
29
- Displays the workflow that the specified step is a part of.
30
-
31
- ## Search Field:
32
- Typing in the search field allows to filter the workflows by name.
@@ -1,25 +0,0 @@
1
- TEMPLATES = [
2
- {
3
- "BACKEND": "django.template.backends.django.DjangoTemplates",
4
- "DIRS": ["wbcrm/templates/email"],
5
- "APP_DIRS": True,
6
- "OPTIONS": {
7
- "context_processors": [
8
- "django.template.context_processors.debug",
9
- "django.template.context_processors.request",
10
- "django.contrib.auth.context_processors.auth",
11
- "django.contrib.messages.context_processors.messages",
12
- ],
13
- },
14
- },
15
- ]
16
-
17
-
18
- from django.views.generic.base import TemplateView
19
-
20
- class HomeView(TemplateView):
21
-
22
- template_name = "global_daily_summery.html"
23
-
24
-
25
- path("templates", viewsets.HomeView.as_view(), name="templates"),
wbcore/docs/orderable.md DELETED
@@ -1,29 +0,0 @@
1
- # Orderable View
2
-
3
- An orderable view enables the user to freely reorder rows inside AG Grid by drag-and-drop.
4
-
5
- **NOTE**: As these changes are saved in a model field, this will change the order globally for each user! Reordering on a per-user basis requires a way more sophisticated approach that is currently out of scope. Please also keep in mind that this also means that different orders for different views of the same model are not possible.
6
-
7
- ## Implementation Steps
8
-
9
- ### Simple Reordering
10
-
11
- Reorder rows inside a basic list view. Also includes the first level of tree views (level 0).
12
-
13
- 1. Add the `OrderableModel` from `wbcore.models.orderable` to your model and migrate. Set initial values for existing instances by either `Model.orderable_objects.reset_order()` or calling `save()` on every object.
14
- 2. Add the `order` field to your serializer.
15
- 3. Add the `OrderableMixin` from `wbcore.viewsets.mixins` to your viewset. If you have defined a viewset ordering, make sure to first order by `order`.
16
- 4. Add both `reorderable_column="order"` and `reorderable_endpoint=reverse(f"{endpoint.basename}-reorder", args=["{{id}}"], request=self.request)` to your list display.
17
-
18
- ### Tree Child Reordering
19
-
20
- We currently only support reordering the first child row (i.e. level 1).
21
-
22
- 1. Add the `OrderableModel` from `wbcore.models.orderable` to your model and migrate. Also add the class variable `PARTITION_BY` to your class and set it to the name of the foreign key field to the child's parent to partition the order values based on the parent. In this case the order number is unique only for the parent and not over the entire model anymore. Set initial values for existing instances by either `Model.orderable_objects.reset_order()` or calling `save()` on every object.
23
- 2. Add the `order` field to your serializer.
24
- 3. Add the `OrderableMixin` from `wbcore.viewsets.mixins` to your viewset. If you have defined a viewset ordering, make sure to first order by `order`.
25
- 4. Add both `tree_reorderable_column="order"` and `tree_reorderable_endpoint=reverse(f"{endpoint.basename}-reorder", args=["{{id}}"], request=self.request)` to **the parent's** list display.
26
-
27
- ## Example
28
-
29
- For an example please take a look at _example_app/team_. In this case we wanted both level 0 (Team) and level 1 (Player) to be reorderable so this example incorporates both a simple reordering for the parent level and a tree child reordering for the child level.