@steedos/standard-process-approval 2.2.55-beta.16

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 (61) hide show
  1. package/main/default/applications/.gitkeep +0 -0
  2. package/main/default/applications/process_automation.app.yml +49 -0
  3. package/main/default/client/action_field_updates.client.js +155 -0
  4. package/main/default/client/core.client.js +134 -0
  5. package/main/default/client/process.client.js +211 -0
  6. package/main/default/client/process_node.client.js +36 -0
  7. package/main/default/client/workflow_notifications.client.js +74 -0
  8. package/main/default/objectTranslations/action_field_updates.en/action_field_updates.en.objectTranslation.yml +69 -0
  9. package/main/default/objectTranslations/action_field_updates.zh-CN/action_field_updates.zh-CN.objectTranslation.yml +72 -0
  10. package/main/default/objectTranslations/process_definition.en/process_definition.en.objectTranslation.yml +150 -0
  11. package/main/default/objectTranslations/process_definition.zh-CN/process_definition.zh-CN.objectTranslation.yml +145 -0
  12. package/main/default/objectTranslations/process_flows.en/process_flows.en.objectTranslation.yml +41 -0
  13. package/main/default/objectTranslations/process_flows.zh-CN/process_flows.zh-CN.objectTranslation.yml +41 -0
  14. package/main/default/objectTranslations/process_flows_criteria.en/process_flows_criteria.en.objectTranslation.yml +38 -0
  15. package/main/default/objectTranslations/process_flows_criteria.zh-CN/process_flows_criteria.zh-CN.objectTranslation.yml +38 -0
  16. package/main/default/objectTranslations/process_flows_criteria_action.en/process_flows_criteria_action.en.objectTranslation.yml +47 -0
  17. package/main/default/objectTranslations/process_flows_criteria_action.zh-CN/process_flows_criteria_action.zh-CN.objectTranslation.yml +47 -0
  18. package/main/default/objectTranslations/process_instance.en/process_instance.en.objectTranslation.yml +63 -0
  19. package/main/default/objectTranslations/process_instance.zh-CN/process_instance.zh-CN.objectTranslation.yml +63 -0
  20. package/main/default/objectTranslations/process_instance_history.en/process_instance_history.en.objectTranslation.yml +109 -0
  21. package/main/default/objectTranslations/process_instance_history.zh-CN/process_instance_history.zh-CN.objectTranslation.yml +109 -0
  22. package/main/default/objectTranslations/process_instance_node.en/process_instance_node.en.objectTranslation.yml +59 -0
  23. package/main/default/objectTranslations/process_instance_node.zh-CN/process_instance_node.zh-CN.objectTranslation.yml +59 -0
  24. package/main/default/objectTranslations/process_node.en/process_node.en.objectTranslation.yml +120 -0
  25. package/main/default/objectTranslations/process_node.zh-CN/process_node.zh-CN.objectTranslation.yml +116 -0
  26. package/main/default/objectTranslations/workflow_notifications.en/workflow_notifications.en.objectTranslation.yml +41 -0
  27. package/main/default/objectTranslations/workflow_notifications.zh-CN/workflow_notifications.zh-CN.objectTranslation.yml +44 -0
  28. package/main/default/objectTranslations/workflow_rule.en/workflow_rule.en.objectTranslation.yml +53 -0
  29. package/main/default/objectTranslations/workflow_rule.zh-CN/workflow_rule.zh-CN.objectTranslation.yml +60 -0
  30. package/main/default/objects/process/approval/process_definition.action.js +65 -0
  31. package/main/default/objects/process/approval/process_definition.function.js +39 -0
  32. package/main/default/objects/process/approval/process_definition.object.yml +313 -0
  33. package/main/default/objects/process/approval/process_node.object.yml +267 -0
  34. package/main/default/objects/process/flows/process_flows.object.yml +48 -0
  35. package/main/default/objects/process/flows/process_flows_criteria.object.yml +46 -0
  36. package/main/default/objects/process/flows/process_flows_criteria_action.object.yml +56 -0
  37. package/main/default/objects/process/process_instance/process_instance.object.yml +65 -0
  38. package/main/default/objects/process/process_instance/process_instance_history.action.js +26 -0
  39. package/main/default/objects/process/process_instance/process_instance_history.object.yml +153 -0
  40. package/main/default/objects/process/process_instance/process_instance_node.object.yml +59 -0
  41. package/main/default/objects/workflow-actions/action_field_updates.action.js +33 -0
  42. package/main/default/objects/workflow-actions/action_field_updates.object.yml +197 -0
  43. package/main/default/objects/workflow-actions/workflow_notifications.action.js +33 -0
  44. package/main/default/objects/workflow-actions/workflow_notifications.object.yml +107 -0
  45. package/main/default/objects/workflow-actions/workflow_rule.action.js +33 -0
  46. package/main/default/objects/workflow-actions/workflow_rule.object.yml +112 -0
  47. package/main/default/permissionsets/.gitkeep +0 -0
  48. package/main/default/profiles/.gitkeep +0 -0
  49. package/main/default/tabs/.gitkeep +0 -0
  50. package/main/default/triggers/.gitkeep +0 -0
  51. package/main/default/triggers/action_field_updates.trigger.js +175 -0
  52. package/main/default/triggers/process_definition.trigger.js +132 -0
  53. package/main/default/triggers/process_instance_history.trigger.js +42 -0
  54. package/main/default/triggers/process_node.trigger.js +232 -0
  55. package/main/default/triggers/workflow_notifications.trigger.js +236 -0
  56. package/main/default/triggers/workflow_rule.trigger.js +96 -0
  57. package/package.json +16 -0
  58. package/package.service.js +75 -0
  59. package/public/.md +3 -0
  60. package/src/.md +3 -0
  61. package/webapp/.md +1 -0
@@ -0,0 +1,41 @@
1
+ name: workflow_notifications
2
+ label: Workflow Notifications
3
+ description:
4
+ fields:
5
+ name:
6
+ label: API Name
7
+ help:
8
+ description:
9
+ label:
10
+ label:
11
+ help:
12
+ description:
13
+ object_name:
14
+ label: Object Name
15
+ help:
16
+ description:
17
+ title:
18
+ label: Title Formula
19
+ help:
20
+ description:
21
+ body:
22
+ label: Body Formula
23
+ help:
24
+ description:
25
+ assigned_users:
26
+ label:
27
+ help:
28
+ description:
29
+ assigned_user_field:
30
+ label:
31
+ help:
32
+ description:
33
+ groups:
34
+ select_assigned_user: Select Assigned User
35
+ listviews:
36
+ all:
37
+ label: All
38
+ CustomLabels:
39
+ workflow_notifications_field__error_process_node_process_definition_required: Please select "Approval Process" for this Approval Step and then create "Workflow Notification"!
40
+ workflow_notifications_field__error_process_definition_object_required: Please select "Object" for this Approval Process and then create "Workflow Notification"!
41
+ workflow_notifications_field__error_workflow_rule_object_required: Please select "Object" for this Workflow Rule and then create "Workflow Notification"!
@@ -0,0 +1,44 @@
1
+ name: workflow_notifications
2
+ label: 工作流通知
3
+ description:
4
+ fields:
5
+ name:
6
+ label: API 名称
7
+ help: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
8
+ description:
9
+ label:
10
+ label: 显示名称
11
+ help:
12
+ description:
13
+ object_name:
14
+ label: 对象
15
+ help:
16
+ description:
17
+ title:
18
+ label: 标题公式
19
+ help:
20
+ description:
21
+ body:
22
+ label: 正文公式
23
+ help:
24
+ description:
25
+ assigned_users:
26
+ label: 指定具体人员
27
+ help:
28
+ description:
29
+ assigned_user_field:
30
+ label: 指定对象上的用户字段
31
+ help:
32
+ description:
33
+ groups:
34
+ select_assigned_user: 选择分配的用户
35
+ listviews:
36
+ all:
37
+ label: 所有
38
+ CustomLabels:
39
+ workflow_notifications_field__error_process_node_process_definition_required: 请先选择该批准步骤的“批准过程”然后再新建工作流通知!
40
+ workflow_notifications_field__error_process_definition_object_required: 请先选择该批准过程的“对象”然后再新建工作流通知!
41
+ workflow_notifications_field__error_workflow_rule_object_required: 请先选择该工作流规则的“对象”然后再新建工作流通知!
42
+ actions:
43
+ customize:
44
+ label: 自定义
@@ -0,0 +1,53 @@
1
+ name: workflow_rule
2
+ label: Workflow Rule
3
+ description:
4
+ fields:
5
+ object_name:
6
+ label: Object Name
7
+ help:
8
+ description:
9
+ name:
10
+ label:
11
+ help:
12
+ description:
13
+ label:
14
+ label:
15
+ help:
16
+ description:
17
+ active:
18
+ label:
19
+ help:
20
+ description:
21
+ trigger_type:
22
+ label:
23
+ help:
24
+ options:
25
+ - label: onCreateOnly
26
+ value: onCreateOnly
27
+ - label: onAllChanges
28
+ value: onAllChanges
29
+ - label: onCreateOrTriggeringUpdate
30
+ value: onCreateOrTriggeringUpdate
31
+ description:
32
+ formula:
33
+ label:
34
+ help:
35
+ description:
36
+ updates_field_actions:
37
+ label: Field Update
38
+ help:
39
+ description:
40
+ description:
41
+ label:
42
+ help:
43
+ description:
44
+ groups:
45
+ rule_criteria: Rule Criteria
46
+ immediate_actions: Immediate Actions
47
+ listviews:
48
+ all:
49
+ label: All
50
+ CustomLabels:
51
+ workflow_rule_field_trigger_type_options_onAllChanges:
52
+ workflow_rule_field_trigger_type_options_onCreateOnly:
53
+ workflow_rule_field_trigger_type_options_onCreateOrTriggeringUpdate:
@@ -0,0 +1,60 @@
1
+ name: workflow_rule
2
+ label: 工作流规则
3
+ description:
4
+ fields:
5
+ object_name:
6
+ label: 对象
7
+ help:
8
+ description:
9
+ name:
10
+ label: API 名称
11
+ help:
12
+ description:
13
+ label:
14
+ label: 显示名称
15
+ help:
16
+ description:
17
+ active:
18
+ label: 启用
19
+ help:
20
+ description:
21
+ trigger_type:
22
+ label: 评估条件
23
+ help:
24
+ options:
25
+ - label: 新建时
26
+ value: onCreateOnly
27
+ - label: 新建时,和每次编辑时
28
+ value: onAllChanges
29
+ - label: 新建时,或编辑数据导致条件成立
30
+ value: onCreateOrTriggeringUpdate
31
+ description:
32
+ formula:
33
+ label: 公式
34
+ help:
35
+ description:
36
+ updates_field_actions:
37
+ label: 字段更新
38
+ help:
39
+ description:
40
+ workflow_notifications_actions:
41
+ label: 工作流通知
42
+ help:
43
+ description:
44
+ description:
45
+ label: 描述
46
+ help:
47
+ description:
48
+ groups:
49
+ rule_criteria: 规则条件
50
+ immediate_actions: 即时操作
51
+ listviews:
52
+ all:
53
+ label: 所有
54
+ CustomLabels:
55
+ workflow_rule_field_trigger_type_options_onAllChanges: 新建时,和每次编辑时
56
+ workflow_rule_field_trigger_type_options_onCreateOnly: 新建时
57
+ workflow_rule_field_trigger_type_options_onCreateOrTriggeringUpdate: 新建时,或编辑数据导致条件成立
58
+ actions:
59
+ customize:
60
+ label: 自定义
@@ -0,0 +1,65 @@
1
+ module.exports = {
2
+ enableVisible: function (object_name, record_id, record_permissions) {
3
+ var result = Steedos.authRequest(`/api/v4/${object_name}/${record_id}`, { type: 'get', async: false });
4
+ return !result.active && !result.is_system
5
+ },
6
+ enable: function (object_name, record_id, fields) {
7
+ Steedos.authRequest(`/api/v4/${object_name}/${record_id}`, { type: 'put', async: false, data: JSON.stringify({ active: true }) });
8
+ FlowRouter.reload();
9
+ },
10
+ disableVisible: function (object_name, record_id, record_permissions) {
11
+ var result = Steedos.authRequest(`/api/v4/${object_name}/${record_id}`, { type: 'get', async: false });
12
+ return result.active && !result.is_system
13
+ },
14
+ disable: function (object_name, record_id, fields) {
15
+ Steedos.authRequest(`/api/v4/${object_name}/${record_id}`, { type: 'put', async: false, data: JSON.stringify({ active: false }) });
16
+ FlowRouter.reload();
17
+ },
18
+ copyVisible: function(){
19
+ return true;
20
+ },
21
+ copy: function (object_name, record_id, fields) {
22
+ let result = Steedos.authRequest(`/api/v4/${object_name}/${record_id}/copy`, { type: 'get', async: false });
23
+ FlowRouter.go(`/app/admin/process_definition/view/${result._id}`);
24
+ },
25
+ customize: function (object_name, record_id, fields) {
26
+ var doc = Creator.odata.get(object_name, record_id);
27
+ var newDoc = {}
28
+ _.each(Creator.getObject(object_name).fields, function (v, k) {
29
+ if (_.has(doc, k)) {
30
+ newDoc[k] = doc[k]
31
+ }
32
+ })
33
+ delete newDoc.is_system;
34
+
35
+ let docName = doc.name
36
+ let docObjectName = doc.object_name
37
+
38
+ Creator.odata.insert(object_name, Object.assign(newDoc, { name: docName, object_name: docObjectName, active:false }), function (result, error) {
39
+ if (result) {
40
+ for(let node of doc.process_nodes){
41
+ let nodeName = node.name
42
+ var newNode = {}
43
+ _.each(Creator.getObject('process_node').fields, function (v, k) {
44
+ if (_.has(node, k)) {
45
+ newNode[k] = node[k]
46
+ }
47
+ })
48
+ Creator.odata.insert('process_node', Object.assign(newNode, { name: nodeName, process_definition: result._id }))
49
+ }
50
+ if (Session.get("object_name") === 'process_definition') {
51
+ FlowRouter.go(`/app/-/${object_name}/view/${result._id}`)
52
+ } else {
53
+ href = Creator.getObjectUrl(object_name, result._id);
54
+ window.open(href, '_blank', 'width=800, height=600, left=50, top= 50, toolbar=no, status=no, menubar=no, resizable=yes, scrollbars=yes')
55
+ }
56
+ }
57
+ });
58
+ },
59
+ customizeVisible: function (object_name, record_id, record_permissions, record) {
60
+ if (!record) {
61
+ record = {}
62
+ }
63
+ return Creator.baseObject.actions.standard_new.visible() && record.is_system;
64
+ }
65
+ }
@@ -0,0 +1,39 @@
1
+ const objectql = require("@steedos/objectql");
2
+ module.exports = {
3
+ copy: async function (req, res) {
4
+ try {
5
+ const params = req.params;
6
+ const userSession = req.user;
7
+ const recordId = params._id;
8
+ const steedosSchema = objectql.getSteedosSchema();
9
+ const pdObj = steedosSchema.getObject('process_definition');
10
+ const pnObj = steedosSchema.getObject('process_node');
11
+ const nowTime = new Date().getTime();
12
+ let pd = await pdObj.findOne(recordId, undefined, userSession);
13
+ delete pd._id;
14
+ pd.name = `pd_${nowTime}`; // 名称长度不能大于20个字符;名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
15
+ pd.active = false; // 批准过程已启用或者已提交过审批, 禁止添加、删除批准步骤
16
+ let newPD = await pdObj.insert(pd);
17
+ let newPDID = newPD._id;
18
+ let pns = await pnObj.find({ filters: ['process_definition', '=', recordId] }, userSession);
19
+ for (let index = 0; index < pns.length; index++) {
20
+ let pn = pns[index];
21
+ delete pn._id;
22
+ pn.process_definition = newPDID;
23
+ pn.name = `pn_${nowTime}_${index}`;
24
+ const now = new Date();
25
+ pn.created = now;
26
+ pn.created_by = userSession.userId
27
+ pn.modified = now;
28
+ pn.modified_by = userSession.userId
29
+ await pnObj.directInsert(pn);
30
+ }
31
+ res.status(200).send({ _id: newPDID });
32
+ } catch (error) {
33
+ console.error(error);
34
+ res.status(400).send({
35
+ error: error.message
36
+ });
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,313 @@
1
+ name: process_definition
2
+ label: Approval Processes
3
+ hidden: true
4
+ icon: approval
5
+ enable_inline_edit: false
6
+ version: 2
7
+ fields:
8
+ name:
9
+ type: text
10
+ required: true
11
+ label:
12
+ type: text
13
+ required: true
14
+ is_name: true
15
+ object_name:
16
+ type: lookup
17
+ required: true
18
+ is_wide: true
19
+ filterable: true
20
+ create: false
21
+ # reference_to: objects
22
+ reference_to_field: name
23
+ optionsFunction: !!js/function |
24
+ function(){
25
+ return Steedos.getObjectsOptions();
26
+ }
27
+ description:
28
+ label: Description
29
+ type: textarea
30
+ is_wide: true
31
+ order: #TODO 必须是连续的数字
32
+ type: number
33
+ required: true
34
+ scale: 0
35
+ min: 1
36
+ active:
37
+ type: boolean
38
+ label: Active
39
+ # hidden: true
40
+ # omit: true
41
+ readonly: true
42
+ defaultValue: false
43
+ visible_on: "{{global.mode ==='read' ? true : false}}"
44
+ entry_criteria:
45
+ type: textarea
46
+ label: Specify Entry Criteria
47
+ is_wide: true
48
+ required: true
49
+ # group: Specify Entry Criteria
50
+ inlineHelpText: If only certain types of records should enter this approval process, enter that criteria below. For example, only expense reports from employees at headquarters should use this approval process.
51
+ # user_hierarchy_field:
52
+ # type: text
53
+ # is_wide: true
54
+ # label: Next Automated Approver Determined By
55
+ # inlineHelpText: 可选项为对象的所有人员字段
56
+ # group: next Automated Approver TODO
57
+ # use_approver_field_of_record_owner:
58
+ # type: boolean
59
+ # is_wide: true
60
+ # label: Use Approver Field of Record Owner
61
+ # group: next Automated Approver TODO
62
+ record_editability:
63
+ type: select
64
+ is_wide: true
65
+ required: true
66
+ firstOption: false
67
+ defaultValue: admin_only
68
+ inlineHelpText: When a record is submitted for approval, it’s locked to prevent users from editing it during the approval process. Use the record editability properties to determine who can edit records that are locked in this approval process.
69
+ label: Record Editability Properties
70
+ options:
71
+ - label: Administrators ONLY can edit records during the approval process
72
+ value: admin_only
73
+ # - label: Administrators OR the currently assigned approver can edit records during the approval process.
74
+ # value: admin_or_current_approver
75
+ # approval_page_fields:
76
+ # type: text
77
+ # is_wide: true
78
+ # group: 选择要在批准页面布局上显示的字段 TODO
79
+ # # type: lookup
80
+ # # reference_to: object_layout
81
+ # label: Select Fields to Display on Approval Page Layout
82
+ # inlineHelpText: The approval page is where an approver will actually approve or reject a request. Using the options below, choose the fields to display on this page.
83
+ # show_approval_history:
84
+ # type: boolean
85
+ # is_wide: true
86
+ # label: Display approval history information in addition to the fields selected above.
87
+ # group: 选择要在批准页面布局上显示的字段 TODO
88
+ # allowed_submitters:
89
+ # type: text
90
+ # multiple: true
91
+ # is_wide: true
92
+ # group: 指定初始提交人 TODO
93
+ # inlineHelpText: 指定谁可以提交记录到批准过程。 如果该列表中不包括提交记录以待批准的用户,记录不会进入该批准过程,即使记录满足进入条件。
94
+ allow_recall:
95
+ type: boolean
96
+ is_wide: true
97
+ label: Allow submitters to recall approval requests
98
+ # group: 提交设置
99
+ initial_submission_record_lock:
100
+ type: select
101
+ # required: true
102
+ firstOption: false
103
+ options:
104
+ - label: Lock the record from being edited
105
+ value: lock
106
+ - label: Unlock the record for editing
107
+ value: unlock
108
+ defaultValue: lock
109
+ readonly: true
110
+ label: Record Lock
111
+ group: Initial Submission Actions
112
+ initial_submission_updates_field_actions:
113
+ type: lookup
114
+ multiple: true
115
+ label: Field Update
116
+ reference_to: action_field_updates
117
+ reference_to_field: name
118
+ depend_on:
119
+ - object_name
120
+ filtersFunction: !!js/function |
121
+ function (filters, dependValues) {
122
+ if(dependValues && dependValues.object_name){
123
+ return "object_name eq '" + dependValues.object_name + "'";
124
+ }
125
+ }
126
+ group: Initial Submission Actions
127
+ initial_submission_workflow_notifications_actions:
128
+ type: lookup
129
+ multiple: true
130
+ label: Workflow Notification
131
+ reference_to: workflow_notifications
132
+ reference_to_field: name
133
+ depend_on:
134
+ - object_name
135
+ filtersFunction: !!js/function |
136
+ function (filters, dependValues) {
137
+ if(dependValues && dependValues.object_name){
138
+ return "object_name eq '" + dependValues.object_name + "'";
139
+ }
140
+ }
141
+ group: Initial Submission Actions
142
+ final_approval_record_lock:
143
+ type: select
144
+ required: true
145
+ firstOption: false
146
+ options:
147
+ - label: Lock the record from being edited
148
+ value: lock
149
+ - label: Unlock the record for editing
150
+ value: unlock
151
+ defaultValue: lock
152
+ label: Record Lock
153
+ group: Final Approval Actions
154
+ final_approval_updates_field_actions:
155
+ type: lookup
156
+ multiple: true
157
+ label: Field Update
158
+ reference_to: action_field_updates
159
+ reference_to_field: name
160
+ depend_on:
161
+ - object_name
162
+ filtersFunction: !!js/function |
163
+ function (filters, dependValues) {
164
+ if(dependValues && dependValues.object_name){
165
+ return "object_name eq '" + dependValues.object_name + "'";
166
+ }
167
+ }
168
+ group: Final Approval Actions
169
+ final_approval_workflow_notifications_actions:
170
+ type: lookup
171
+ multiple: true
172
+ label: Workflow Notification
173
+ reference_to: workflow_notifications
174
+ reference_to_field: name
175
+ depend_on:
176
+ - object_name
177
+ filtersFunction: !!js/function |
178
+ function (filters, dependValues) {
179
+ if(dependValues && dependValues.object_name){
180
+ return "object_name eq '" + dependValues.object_name + "'";
181
+ }
182
+ }
183
+ group: Final Approval Actions
184
+ final_rejection_record_lock:
185
+ type: select
186
+ required: true
187
+ firstOption: false
188
+ options:
189
+ - label: Lock the record from being edited
190
+ value: lock
191
+ - label: Unlock the record for editing
192
+ value: unlock
193
+ defaultValue: unlock
194
+ label: Record Lock
195
+ group: Final Rejection Actions
196
+ final_rejection_updates_field_actions:
197
+ type: lookup
198
+ multiple: true
199
+ label: Field Update
200
+ reference_to: action_field_updates
201
+ reference_to_field: name
202
+ depend_on:
203
+ - object_name
204
+ filtersFunction: !!js/function |
205
+ function (filters, dependValues) {
206
+ if(dependValues && dependValues.object_name){
207
+ return "object_name eq '" + dependValues.object_name + "'";
208
+ }
209
+ }
210
+ group: Final Rejection Actions
211
+ final_rejection_workflow_notifications_actions:
212
+ type: lookup
213
+ multiple: true
214
+ label: Workflow Notification
215
+ reference_to: workflow_notifications
216
+ reference_to_field: name
217
+ depend_on:
218
+ - object_name
219
+ filtersFunction: !!js/function |
220
+ function (filters, dependValues) {
221
+ if(dependValues && dependValues.object_name){
222
+ return "object_name eq '" + dependValues.object_name + "'";
223
+ }
224
+ }
225
+ group: Final Rejection Actions
226
+ recall_record_lock:
227
+ type: select
228
+ # required: true
229
+ firstOption: false
230
+ options:
231
+ - label: Lock the record from being edited
232
+ value: lock
233
+ - label: Unlock the record for editing
234
+ value: unlock
235
+ defaultValue: unlock
236
+ readonly: true
237
+ label: Record Lock
238
+ group: Recall Actions
239
+ recall_updates_field_actions:
240
+ type: lookup
241
+ multiple: true
242
+ label: Field Update
243
+ reference_to: action_field_updates
244
+ reference_to_field: name
245
+ depend_on:
246
+ - object_name
247
+ filtersFunction: !!js/function |
248
+ function (filters, dependValues) {
249
+ if(dependValues && dependValues.object_name){
250
+ return "object_name eq '" + dependValues.object_name + "'";
251
+ }
252
+ }
253
+ group: Recall Actions
254
+ recall_workflow_notifications_actions:
255
+ type: lookup
256
+ multiple: true
257
+ label: Workflow Notification
258
+ reference_to: workflow_notifications
259
+ reference_to_field: name
260
+ depend_on:
261
+ - object_name
262
+ filtersFunction: !!js/function |
263
+ function (filters, dependValues) {
264
+ if(dependValues && dependValues.object_name){
265
+ return "object_name eq '" + dependValues.object_name + "'";
266
+ }
267
+ }
268
+ group: Recall Actions
269
+
270
+ relatedList:
271
+ - process_node
272
+ # - action_field_updates
273
+ list_views:
274
+ all:
275
+ label: All
276
+ filter_scope: space
277
+ filter_fields:
278
+ - object_name
279
+ columns:
280
+ - label
281
+ - name
282
+ - object_name
283
+ - order
284
+ - description
285
+ - active
286
+ actions:
287
+ enable:
288
+ label: Enable
289
+ on: record
290
+ disable:
291
+ label: Disable
292
+ on: record
293
+ copy:
294
+ label: Copy
295
+ on: record
296
+ customize:
297
+ label: Customize
298
+ on: record
299
+ permission_set:
300
+ user:
301
+ allowCreate: false
302
+ allowDelete: false
303
+ allowEdit: false
304
+ allowRead: true
305
+ modifyAllRecords: false
306
+ viewAllRecords: true
307
+ admin:
308
+ allowCreate: true
309
+ allowDelete: true
310
+ allowEdit: true
311
+ allowRead: true
312
+ modifyAllRecords: true
313
+ viewAllRecords: true