@steedos-labs/content-compliance 1.0.4 → 1.0.6
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.
- package/dist/index.js +1 -1
- package/lib/actions/bypassApproval.js +38 -36
- package/lib/actions/bypassApproval.js.map +1 -1
- package/lib/actions/terminate.js +1 -1
- package/lib/actions/terminate.js.map +1 -1
- package/lib/methods/__tests__/attachment.test.d.ts +1 -0
- package/lib/methods/__tests__/attachment.test.js +31 -0
- package/lib/methods/__tests__/attachment.test.js.map +1 -0
- package/lib/methods/__tests__/terminateBypassAttachments.test.d.ts +1 -0
- package/lib/methods/__tests__/terminateBypassAttachments.test.js +163 -0
- package/lib/methods/__tests__/terminateBypassAttachments.test.js.map +1 -0
- package/lib/methods/approval_engine.d.ts +1 -1
- package/lib/methods/approval_engine.js +69 -43
- package/lib/methods/approval_engine.js.map +1 -1
- package/lib/methods/attachment.d.ts +2 -0
- package/lib/methods/attachment.js +21 -0
- package/lib/methods/attachment.js.map +1 -0
- package/main/default/objects/pepsico_approval_process/fields/attachments.field.yml +11 -0
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_bypass_approval.button.yml +24 -1
- package/main/default/objects/pepsico_material_approval/buttons/pepsico_terminate.button.yml +24 -1
- package/main/default/objects/pepsico_material_approval/fields/approval_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/approval_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/approved_flows.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/aunch_time.field.yml +4 -3
- package/main/default/objects/pepsico_material_approval/fields/autonumber.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/available_channels.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/available_channels_label.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/bgm.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/brief_flow.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/brief_flow_number.field.yml +2 -1
- package/main/default/objects/pepsico_material_approval/fields/ca_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ca_assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/ca_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ca_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ca_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/cc_users.field.yml +4 -4
- package/main/default/objects/pepsico_material_approval/fields/ch_material_group.field.yml +7 -7
- package/main/default/objects/pepsico_material_approval/fields/ch_material_group_path.field.yml +5 -5
- package/main/default/objects/pepsico_material_approval/fields/ch_sync_enabled.field.yml +3 -3
- package/main/default/objects/pepsico_material_approval/fields/ch_sync_manual.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/ch_sync_rule_check.field.yml +5 -9
- package/main/default/objects/pepsico_material_approval/fields/ch_uploader_notified_group.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/child_files.field.yml +3 -3
- package/main/default/objects/pepsico_material_approval/fields/classification.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/content_rule.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/content_rule_label.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/copyright_front.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/copyright_music.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/copyright_other.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/current_step.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/effective_date.field.yml +3 -4
- package/main/default/objects/pepsico_material_approval/fields/expiry_date.field.yml +9 -5
- package/main/default/objects/pepsico_material_approval/fields/followers.field.yml +3 -2
- package/main/default/objects/pepsico_material_approval/fields/font_copyright.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/handler_preca.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/handler_prens.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/handler_preqc.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/handler_presra.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/has_detail_page.field.yml +18 -0
- package/main/default/objects/pepsico_material_approval/fields/internal_collaborator.field.yml +3 -3
- package/main/default/objects/pepsico_material_approval/fields/internal_collaborator_edit.field.yml +4 -4
- package/main/default/objects/pepsico_material_approval/fields/is_skip_approver.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/kids_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/kids_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/kids_file_name.field.yml +3 -2
- package/main/default/objects/pepsico_material_approval/fields/kids_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/kids_reviewer.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/launch.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/legal_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/legal_assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/legal_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/legal_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/legal_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/material_editable.field.yml +20 -28
- package/main/default/objects/pepsico_material_approval/fields/material_owner.field.yml +5 -5
- package/main/default/objects/pepsico_material_approval/fields/material_type.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/material_type_label.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/music_copyright.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/name.field.yml +3 -3
- package/main/default/objects/pepsico_material_approval/fields/ns_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ns_assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/ns_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ns_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/ns_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/pls_file.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/postpone_launch_date.field.yml +4 -3
- package/main/default/objects/pepsico_material_approval/fields/pre_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ca_reviewer.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_legal_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_legal_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_legal_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/pre_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_ns_reviewer.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_qc_reviewer.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_reviewer.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/pre_sra_reviewer.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/product.field.yml +20 -10
- package/main/default/objects/pepsico_material_approval/fields/product_label.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/qc_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_bypass_reason.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_at.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_bypassed_by.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/qc_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/review_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/sra_approval_status.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/sra_assistance.field.yml +4 -2
- package/main/default/objects/pepsico_material_approval/fields/sra_bypassed.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/sra_materials_quantity.field.yml +2 -2
- package/main/default/objects/pepsico_material_approval/fields/sra_reviewer.field.yml +2 -0
- package/main/default/objects/pepsico_material_approval/fields/subtitles.field.yml +1 -1
- package/main/default/objects/pepsico_material_approval/fields/title.field.yml +3 -2
- package/main/default/objects/pepsico_material_approval/pepsico_material_approval.object.yml +1 -8
- package/package.json +2 -2
- package/public/account-apply/ccs-agency-application.docx +0 -0
- package/public/account-apply/ccs-employee-application.docx +0 -0
- package/public/dynamic.css +192 -7
- package/public/dynamic.js +96 -0
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.bypassApproval = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var consts_1 = require("../methods/consts");
|
|
6
|
+
var attachment_1 = require("../methods/attachment");
|
|
6
7
|
var _ = require("lodash");
|
|
7
8
|
exports.bypassApproval = {
|
|
8
9
|
rest: {
|
|
@@ -11,25 +12,25 @@ exports.bypassApproval = {
|
|
|
11
12
|
},
|
|
12
13
|
handler: function (ctx) {
|
|
13
14
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
14
|
-
var logger, recordId, reason, userId, approval, approveField, bypassedField, bypassedByField, bypassReasonField, bypassedAtField, reviewerType, materials, materials_1, materials_1_1, material, materialUpdate, e_1_1, processFilters, processRecords, processRecords_1, processRecords_1_1, processRecord, e_2_1;
|
|
15
|
-
var
|
|
16
|
-
return tslib_1.__generator(this, function (
|
|
17
|
-
switch (
|
|
15
|
+
var logger, recordId, _a, reason, attachments, userId, approval, approveField, bypassedField, bypassedByField, bypassReasonField, bypassedAtField, reviewerType, materials, materials_1, materials_1_1, material, materialUpdate, e_1_1, processFilters, processRecords, processRecords_1, processRecords_1_1, processRecord, e_2_1;
|
|
16
|
+
var _b, e_1, _c, _d, e_2, _e;
|
|
17
|
+
return tslib_1.__generator(this, function (_f) {
|
|
18
|
+
switch (_f.label) {
|
|
18
19
|
case 0:
|
|
19
20
|
ctx.getObject = this.getObject;
|
|
20
21
|
return [4, this.getLogger()];
|
|
21
22
|
case 1:
|
|
22
|
-
logger =
|
|
23
|
+
logger = _f.sent();
|
|
23
24
|
ctx.logger = logger;
|
|
24
25
|
recordId = ctx.params.recordId;
|
|
25
|
-
|
|
26
|
+
_a = ctx.params, reason = _a.reason, attachments = _a.attachments;
|
|
26
27
|
userId = ctx.meta.user.userId;
|
|
27
28
|
if (!reason) {
|
|
28
29
|
throw new Error('请提供跳过原因');
|
|
29
30
|
}
|
|
30
31
|
return [4, ctx.getObject('pepsico_material_approval').findOne(recordId)];
|
|
31
32
|
case 2:
|
|
32
|
-
approval =
|
|
33
|
+
approval = _f.sent();
|
|
33
34
|
if (!approval) {
|
|
34
35
|
throw new Error('未找到审批单');
|
|
35
36
|
}
|
|
@@ -131,15 +132,15 @@ exports.bypassApproval = {
|
|
|
131
132
|
throw new Error('您不是当前步骤的审核人,无权限跳过');
|
|
132
133
|
}
|
|
133
134
|
if (!bypassedField) return [3, 4];
|
|
134
|
-
return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, (
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
135
|
+
return [4, ctx.getObject('pepsico_material_approval').directUpdate(recordId, (_b = {},
|
|
136
|
+
_b[bypassedField] = true,
|
|
137
|
+
_b[bypassedByField] = userId,
|
|
138
|
+
_b[bypassReasonField] = reason,
|
|
139
|
+
_b[bypassedAtField] = new Date(),
|
|
140
|
+
_b))];
|
|
140
141
|
case 3:
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
_f.sent();
|
|
143
|
+
_f.label = 4;
|
|
143
144
|
case 4: return [4, ctx.getObject('pepsico_material').find({
|
|
144
145
|
filters: [
|
|
145
146
|
['pepsico_material_approval', '=', recordId],
|
|
@@ -147,19 +148,19 @@ exports.bypassApproval = {
|
|
|
147
148
|
]
|
|
148
149
|
})];
|
|
149
150
|
case 5:
|
|
150
|
-
materials =
|
|
151
|
-
|
|
151
|
+
materials = _f.sent();
|
|
152
|
+
_f.label = 6;
|
|
152
153
|
case 6:
|
|
153
|
-
|
|
154
|
+
_f.trys.push([6, 11, 12, 13]);
|
|
154
155
|
materials_1 = tslib_1.__values(materials), materials_1_1 = materials_1.next();
|
|
155
|
-
|
|
156
|
+
_f.label = 7;
|
|
156
157
|
case 7:
|
|
157
158
|
if (!!materials_1_1.done) return [3, 10];
|
|
158
159
|
material = materials_1_1.value;
|
|
159
160
|
if (!(material[approveField] !== true && material[approveField] !== 'pass')) return [3, 9];
|
|
160
|
-
materialUpdate = (
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
materialUpdate = (_d = {},
|
|
162
|
+
_d[approveField] = 'pass',
|
|
163
|
+
_d);
|
|
163
164
|
if (bypassedField) {
|
|
164
165
|
materialUpdate[bypassedField] = true;
|
|
165
166
|
materialUpdate[bypassedByField] = userId;
|
|
@@ -168,20 +169,20 @@ exports.bypassApproval = {
|
|
|
168
169
|
}
|
|
169
170
|
return [4, ctx.getObject('pepsico_material').directUpdate(material._id, materialUpdate)];
|
|
170
171
|
case 8:
|
|
171
|
-
|
|
172
|
+
_f.sent();
|
|
172
173
|
logger.info("User ".concat(userId, " (").concat(reviewerType, ") bypassed material ").concat(material._id, " via approval bypass"));
|
|
173
|
-
|
|
174
|
+
_f.label = 9;
|
|
174
175
|
case 9:
|
|
175
176
|
materials_1_1 = materials_1.next();
|
|
176
177
|
return [3, 7];
|
|
177
178
|
case 10: return [3, 13];
|
|
178
179
|
case 11:
|
|
179
|
-
e_1_1 =
|
|
180
|
+
e_1_1 = _f.sent();
|
|
180
181
|
e_1 = { error: e_1_1 };
|
|
181
182
|
return [3, 13];
|
|
182
183
|
case 12:
|
|
183
184
|
try {
|
|
184
|
-
if (materials_1_1 && !materials_1_1.done && (
|
|
185
|
+
if (materials_1_1 && !materials_1_1.done && (_c = materials_1.return)) _c.call(materials_1);
|
|
185
186
|
}
|
|
186
187
|
finally { if (e_1) throw e_1.error; }
|
|
187
188
|
return [7];
|
|
@@ -239,12 +240,12 @@ exports.bypassApproval = {
|
|
|
239
240
|
sort: "modified asc"
|
|
240
241
|
})];
|
|
241
242
|
case 14:
|
|
242
|
-
processRecords =
|
|
243
|
-
|
|
243
|
+
processRecords = _f.sent();
|
|
244
|
+
_f.label = 15;
|
|
244
245
|
case 15:
|
|
245
|
-
|
|
246
|
+
_f.trys.push([15, 20, 21, 22]);
|
|
246
247
|
processRecords_1 = tslib_1.__values(processRecords), processRecords_1_1 = processRecords_1.next();
|
|
247
|
-
|
|
248
|
+
_f.label = 16;
|
|
248
249
|
case 16:
|
|
249
250
|
if (!!processRecords_1_1.done) return [3, 19];
|
|
250
251
|
processRecord = processRecords_1_1.value;
|
|
@@ -253,28 +254,29 @@ exports.bypassApproval = {
|
|
|
253
254
|
modified: new Date(),
|
|
254
255
|
modified_by: userId,
|
|
255
256
|
approved: 'pass',
|
|
256
|
-
name: reason
|
|
257
|
+
name: reason,
|
|
258
|
+
attachments: (0, attachment_1.mergeFileIds)(processRecord.attachments, attachments)
|
|
257
259
|
})];
|
|
258
260
|
case 17:
|
|
259
|
-
|
|
260
|
-
|
|
261
|
+
_f.sent();
|
|
262
|
+
_f.label = 18;
|
|
261
263
|
case 18:
|
|
262
264
|
processRecords_1_1 = processRecords_1.next();
|
|
263
265
|
return [3, 16];
|
|
264
266
|
case 19: return [3, 22];
|
|
265
267
|
case 20:
|
|
266
|
-
e_2_1 =
|
|
268
|
+
e_2_1 = _f.sent();
|
|
267
269
|
e_2 = { error: e_2_1 };
|
|
268
270
|
return [3, 22];
|
|
269
271
|
case 21:
|
|
270
272
|
try {
|
|
271
|
-
if (processRecords_1_1 && !processRecords_1_1.done && (
|
|
273
|
+
if (processRecords_1_1 && !processRecords_1_1.done && (_e = processRecords_1.return)) _e.call(processRecords_1);
|
|
272
274
|
}
|
|
273
275
|
finally { if (e_2) throw e_2.error; }
|
|
274
276
|
return [7];
|
|
275
277
|
case 22: return [4, this.approvalContent.call(this, ctx, recordId, { approveField: approveField, materialStatus: consts_1.ApprovalStatus.pass })];
|
|
276
278
|
case 23:
|
|
277
|
-
|
|
279
|
+
_f.sent();
|
|
278
280
|
return [2, {
|
|
279
281
|
success: true,
|
|
280
282
|
message: "\u5DF2\u8DF3\u8FC7\u8BE5\u5BA1\u6279\u5355\u7684".concat(reviewerType, "\u5BA1\u6838")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bypassApproval.js","sourceRoot":"","sources":["../../src/actions/bypassApproval.ts"],"names":[],"mappings":";;;;AAIA,4CAAyD;AAGzD,0BAA4B;AAEf,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,wDAAwD;KACrE;IACK,OAAO,YAAC,GAAG;;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBAEZ,QAAQ,GAAK,GAAG,CAAC,MAAM,SAAf,CAAgB;
|
|
1
|
+
{"version":3,"file":"bypassApproval.js","sourceRoot":"","sources":["../../src/actions/bypassApproval.ts"],"names":[],"mappings":"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"}
|
package/lib/actions/terminate.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.terminate = {
|
|
|
18
18
|
case 1:
|
|
19
19
|
logger = _a.sent();
|
|
20
20
|
ctx.logger = logger;
|
|
21
|
-
return [4, this.terminate(ctx, ctx.params.recordId, ctx.params.description)];
|
|
21
|
+
return [4, this.terminate(ctx, ctx.params.recordId, ctx.params.description, ctx.params.attachments)];
|
|
22
22
|
case 2:
|
|
23
23
|
_a.sent();
|
|
24
24
|
return [2, {}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../src/actions/terminate.ts"],"names":[],"mappings":";;;;AAOa,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,kDAAkD;KAC/D;IACK,OAAO,YAAC,GAAG;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,WAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAA;;
|
|
1
|
+
{"version":3,"file":"terminate.js","sourceRoot":"","sources":["../../src/actions/terminate.ts"],"names":[],"mappings":";;;;AAOa,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE;QACF,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,kDAAkD;KAC/D;IACK,OAAO,YAAC,GAAG;;;;;;wBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBAChB,WAAM,IAAI,CAAC,SAAS,EAAE,EAAA;;wBAA/B,MAAM,GAAG,SAAsB;wBACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;wBACpB,WAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAA;;wBAA9F,SAA8F,CAAC;wBAC/F,WAAO,EAAE,EAAA;;;;KACZ;CACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var attachment_1 = require("../attachment");
|
|
4
|
+
describe('normalizeFileIds', function () {
|
|
5
|
+
it('空值返回空数组', function () {
|
|
6
|
+
expect((0, attachment_1.normalizeFileIds)(undefined)).toEqual([]);
|
|
7
|
+
expect((0, attachment_1.normalizeFileIds)('')).toEqual([]);
|
|
8
|
+
expect((0, attachment_1.normalizeFileIds)([])).toEqual([]);
|
|
9
|
+
});
|
|
10
|
+
it('支持逗号分隔字符串、id 数组和 { value } 对象数组', function () {
|
|
11
|
+
expect((0, attachment_1.normalizeFileIds)('a,b, c')).toEqual(['a', 'b', 'c']);
|
|
12
|
+
expect((0, attachment_1.normalizeFileIds)(['a', 'b'])).toEqual(['a', 'b']);
|
|
13
|
+
expect((0, attachment_1.normalizeFileIds)([{ value: 'a', name: 'x.pdf' }, { id: 'b' }, { _id: 'c' }])).toEqual(['a', 'b', 'c']);
|
|
14
|
+
});
|
|
15
|
+
it('去重并去掉空项', function () {
|
|
16
|
+
expect((0, attachment_1.normalizeFileIds)(['a', '', null, 'a'])).toEqual(['a']);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('mergeFileIds', function () {
|
|
20
|
+
it('保留已有附件并追加本次上传的附件', function () {
|
|
21
|
+
expect((0, attachment_1.mergeFileIds)(['a'], ['b', 'c'])).toEqual(['a', 'b', 'c']);
|
|
22
|
+
});
|
|
23
|
+
it('重复提交同一文件不会重复写入', function () {
|
|
24
|
+
expect((0, attachment_1.mergeFileIds)(['a', 'b'], ['b', { value: 'a' }])).toEqual(['a', 'b']);
|
|
25
|
+
});
|
|
26
|
+
it('没有本次附件时保持原值', function () {
|
|
27
|
+
expect((0, attachment_1.mergeFileIds)(['a'], undefined)).toEqual(['a']);
|
|
28
|
+
expect((0, attachment_1.mergeFileIds)(undefined, undefined)).toEqual([]);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=attachment.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/attachment.test.ts"],"names":[],"mappings":";;AAAA,4CAA+D;AAE/D,QAAQ,CAAC,kBAAkB,EAAE;IACzB,EAAE,CAAC,SAAS,EAAE;QACV,MAAM,CAAC,IAAA,6BAAgB,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAA,6BAAgB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,IAAA,6BAAgB,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE;QAClC,MAAM,CAAC,IAAA,6BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,IAAA,6BAAgB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,IAAA,6BAAgB,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE;QACV,MAAM,CAAC,IAAA,6BAAgB,EAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE;IACrB,EAAE,CAAC,kBAAkB,EAAE;QACnB,MAAM,CAAC,IAAA,yBAAY,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE;QACjB,MAAM,CAAC,IAAA,yBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE;QACd,MAAM,CAAC,IAAA,yBAAY,EAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAA,yBAAY,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var approval_engine_1 = require("../approval_engine");
|
|
5
|
+
var bypassApproval_1 = require("../../actions/bypassApproval");
|
|
6
|
+
var consts_1 = require("../consts");
|
|
7
|
+
var baseApproval = {
|
|
8
|
+
_id: 'approval-1',
|
|
9
|
+
owner: 'owner-1',
|
|
10
|
+
space: 'space-1',
|
|
11
|
+
current_step: consts_1.Step.departmental_review,
|
|
12
|
+
person_pending_approve: ['reviewer-1'],
|
|
13
|
+
ca_reviewer: ['reviewer-1'],
|
|
14
|
+
handler_ca: ['reviewer-1']
|
|
15
|
+
};
|
|
16
|
+
var createCtx = function (_a) {
|
|
17
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.userId, userId = _c === void 0 ? 'owner-1' : _c, _d = _b.terminateRecords, terminateRecords = _d === void 0 ? [] : _d, _e = _b.processRecords, processRecords = _e === void 0 ? [] : _e;
|
|
18
|
+
var objects = {
|
|
19
|
+
pepsico_material_approval: {
|
|
20
|
+
findOne: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
21
|
+
return [2, baseApproval];
|
|
22
|
+
}); }); }),
|
|
23
|
+
update: jest.fn(),
|
|
24
|
+
directUpdate: jest.fn()
|
|
25
|
+
},
|
|
26
|
+
pepsico_approval_process: {
|
|
27
|
+
insert: jest.fn(),
|
|
28
|
+
update: jest.fn(),
|
|
29
|
+
directUpdate: jest.fn(),
|
|
30
|
+
find: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
31
|
+
return [2, processRecords];
|
|
32
|
+
}); }); }),
|
|
33
|
+
directFind: jest.fn(function (_a) {
|
|
34
|
+
var filters = _a.filters;
|
|
35
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
36
|
+
var isTerminateLookup;
|
|
37
|
+
return tslib_1.__generator(this, function (_b) {
|
|
38
|
+
isTerminateLookup = filters.some(function (_a) {
|
|
39
|
+
var _b = tslib_1.__read(_a, 3), field = _b[0], value = _b[2];
|
|
40
|
+
return field === 'approved' && value === 'terminate';
|
|
41
|
+
});
|
|
42
|
+
return [2, isTerminateLookup ? terminateRecords : []];
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
},
|
|
47
|
+
pepsico_material: {
|
|
48
|
+
find: jest.fn(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
49
|
+
return [2, []];
|
|
50
|
+
}); }); }),
|
|
51
|
+
directUpdate: jest.fn()
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
objects: objects,
|
|
56
|
+
ctx: {
|
|
57
|
+
meta: { user: { userId: userId } },
|
|
58
|
+
getObject: jest.fn(function (name) { return objects[name]; })
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
describe('中止审核证明文件', function () {
|
|
63
|
+
it('首次中止时新增中止记录并写入证明文件', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
64
|
+
var _a, ctx, objects;
|
|
65
|
+
return tslib_1.__generator(this, function (_b) {
|
|
66
|
+
switch (_b.label) {
|
|
67
|
+
case 0:
|
|
68
|
+
_a = createCtx(), ctx = _a.ctx, objects = _a.objects;
|
|
69
|
+
return [4, (0, approval_engine_1.terminate)(ctx, 'approval-1', '原因', [{ value: 'f1' }, { value: 'f2' }])];
|
|
70
|
+
case 1:
|
|
71
|
+
_b.sent();
|
|
72
|
+
expect(objects.pepsico_approval_process.insert).toHaveBeenCalledWith(expect.objectContaining({
|
|
73
|
+
owner: 'owner-1',
|
|
74
|
+
current_step: consts_1.Step.conclusion,
|
|
75
|
+
approved: 'terminate',
|
|
76
|
+
name: '原因',
|
|
77
|
+
attachments: ['f1', 'f2']
|
|
78
|
+
}));
|
|
79
|
+
return [2];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}); });
|
|
83
|
+
it('不上传证明文件时也能中止', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
84
|
+
var _a, ctx, objects;
|
|
85
|
+
return tslib_1.__generator(this, function (_b) {
|
|
86
|
+
switch (_b.label) {
|
|
87
|
+
case 0:
|
|
88
|
+
_a = createCtx(), ctx = _a.ctx, objects = _a.objects;
|
|
89
|
+
return [4, (0, approval_engine_1.terminate)(ctx, 'approval-1', '原因')];
|
|
90
|
+
case 1:
|
|
91
|
+
_b.sent();
|
|
92
|
+
expect(objects.pepsico_approval_process.insert).toHaveBeenCalledWith(expect.objectContaining({ attachments: [] }));
|
|
93
|
+
return [2];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}); });
|
|
97
|
+
it('已有中止记录时合并证明文件,不重复新增记录', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
98
|
+
var _a, ctx, objects;
|
|
99
|
+
return tslib_1.__generator(this, function (_b) {
|
|
100
|
+
switch (_b.label) {
|
|
101
|
+
case 0:
|
|
102
|
+
_a = createCtx({ terminateRecords: [{ _id: 'p1', attachments: ['f1'] }] }), ctx = _a.ctx, objects = _a.objects;
|
|
103
|
+
return [4, (0, approval_engine_1.terminate)(ctx, 'approval-1', '原因2', 'f1,f3')];
|
|
104
|
+
case 1:
|
|
105
|
+
_b.sent();
|
|
106
|
+
expect(objects.pepsico_approval_process.insert).not.toHaveBeenCalled();
|
|
107
|
+
expect(objects.pepsico_approval_process.directUpdate).toHaveBeenCalledWith('p1', expect.objectContaining({
|
|
108
|
+
name: '原因2',
|
|
109
|
+
attachments: ['f1', 'f3']
|
|
110
|
+
}));
|
|
111
|
+
return [2];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}); });
|
|
115
|
+
});
|
|
116
|
+
describe('跳过审核证明文件', function () {
|
|
117
|
+
var callBypass = function (ctx, params) { return bypassApproval_1.bypassApproval.handler.call({
|
|
118
|
+
getObject: ctx.getObject,
|
|
119
|
+
getLogger: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
120
|
+
return [2, ({ info: jest.fn() })];
|
|
121
|
+
}); }); },
|
|
122
|
+
approvalContent: jest.fn()
|
|
123
|
+
}, Object.assign(ctx, { params: params })); };
|
|
124
|
+
it('更新为跳过状态的历史记录上合并写入证明文件', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
125
|
+
var _a, ctx, objects;
|
|
126
|
+
return tslib_1.__generator(this, function (_b) {
|
|
127
|
+
switch (_b.label) {
|
|
128
|
+
case 0:
|
|
129
|
+
_a = createCtx({
|
|
130
|
+
userId: 'reviewer-1',
|
|
131
|
+
processRecords: [{ _id: 'p1', type: 'CA', attachments: ['f1'] }]
|
|
132
|
+
}), ctx = _a.ctx, objects = _a.objects;
|
|
133
|
+
return [4, callBypass(ctx, { recordId: 'approval-1', reason: '跳过原因', attachments: [{ value: 'f1' }, { value: 'f2' }] })];
|
|
134
|
+
case 1:
|
|
135
|
+
_b.sent();
|
|
136
|
+
expect(objects.pepsico_approval_process.update).toHaveBeenCalledWith('p1', expect.objectContaining({
|
|
137
|
+
approved: 'pass',
|
|
138
|
+
name: '跳过原因',
|
|
139
|
+
attachments: ['f1', 'f2']
|
|
140
|
+
}));
|
|
141
|
+
return [2];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}); });
|
|
145
|
+
it('不上传证明文件时也能跳过', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
146
|
+
var _a, ctx, objects;
|
|
147
|
+
return tslib_1.__generator(this, function (_b) {
|
|
148
|
+
switch (_b.label) {
|
|
149
|
+
case 0:
|
|
150
|
+
_a = createCtx({
|
|
151
|
+
userId: 'reviewer-1',
|
|
152
|
+
processRecords: [{ _id: 'p1', type: 'CA' }]
|
|
153
|
+
}), ctx = _a.ctx, objects = _a.objects;
|
|
154
|
+
return [4, callBypass(ctx, { recordId: 'approval-1', reason: '跳过原因' })];
|
|
155
|
+
case 1:
|
|
156
|
+
_b.sent();
|
|
157
|
+
expect(objects.pepsico_approval_process.update).toHaveBeenCalledWith('p1', expect.objectContaining({ attachments: [] }));
|
|
158
|
+
return [2];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}); });
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=terminateBypassAttachments.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminateBypassAttachments.test.js","sourceRoot":"","sources":["../../../src/methods/__tests__/terminateBypassAttachments.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare const hasNonPreReviewDepartments: (materialApproval: MaterialAppr
|
|
|
17
17
|
export declare const areDepartmentReviewsComplete: (materialApproval: MaterialApproval) => boolean;
|
|
18
18
|
export declare const getDepartmentEffectiveStatuses: (materialApproval: MaterialApproval) => (boolean | string)[];
|
|
19
19
|
export declare const advanceApproval: (ctx: any, recordId: any, currentStepApprovalStatus: ApprovalStatus) => Promise<{}>;
|
|
20
|
-
export declare const terminate: (ctx: any, recordId: any, description: string) => Promise<{}>;
|
|
20
|
+
export declare const terminate: (ctx: any, recordId: any, description: string, attachments?: any) => Promise<{}>;
|
|
21
21
|
export declare const confirmDeployment: (ctx: any, recordId: any, data?: {
|
|
22
22
|
content_rule: any;
|
|
23
23
|
}) => Promise<{}>;
|
|
@@ -14,6 +14,7 @@ var approval_cc_1 = require("./approval_cc");
|
|
|
14
14
|
var agent_1 = require("./agent");
|
|
15
15
|
var const_1 = require("../const");
|
|
16
16
|
var pls_1 = require("./pls");
|
|
17
|
+
var attachment_1 = require("./attachment");
|
|
17
18
|
var _ = require("lodash");
|
|
18
19
|
var getDefApproverStepRule = function (ctx) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
19
20
|
var rules, rule;
|
|
@@ -1569,77 +1570,102 @@ var advanceApproval = function (ctx, recordId, currentStepApprovalStatus) { retu
|
|
|
1569
1570
|
});
|
|
1570
1571
|
}); };
|
|
1571
1572
|
exports.advanceApproval = advanceApproval;
|
|
1572
|
-
var terminate = function (ctx, recordId, description) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1573
|
-
var user, record, records, records_1, records_1_1, process_2, e_11_1;
|
|
1574
|
-
var e_11,
|
|
1575
|
-
return tslib_1.__generator(this, function (
|
|
1576
|
-
switch (
|
|
1573
|
+
var terminate = function (ctx, recordId, description, attachments) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
1574
|
+
var user, record, _a, terminateRecord, records, records_1, records_1_1, process_2, e_11_1;
|
|
1575
|
+
var e_11, _b;
|
|
1576
|
+
return tslib_1.__generator(this, function (_c) {
|
|
1577
|
+
switch (_c.label) {
|
|
1577
1578
|
case 0:
|
|
1578
1579
|
user = ctx.meta.user;
|
|
1579
1580
|
return [4, ctx.getObject('pepsico_material_approval').findOne(recordId)];
|
|
1580
1581
|
case 1:
|
|
1581
|
-
record =
|
|
1582
|
-
if (!(record.owner === user.userId || user.is_space_admin || (0, lodash_1.includes)(record.person_pending_approve, user.userId))) return [3,
|
|
1583
|
-
return [4, ctx.getObject('pepsico_approval_process').
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
approvalStatus: 'terminate',
|
|
1593
|
-
name: description
|
|
1582
|
+
record = _c.sent();
|
|
1583
|
+
if (!(record.owner === user.userId || user.is_space_admin || (0, lodash_1.includes)(record.person_pending_approve, user.userId))) return [3, 17];
|
|
1584
|
+
return [4, ctx.getObject('pepsico_approval_process').directFind({
|
|
1585
|
+
filters: [
|
|
1586
|
+
['pepsico_material_approval', '=', record._id],
|
|
1587
|
+
['current_step', '=', consts_1.Step.conclusion],
|
|
1588
|
+
['owner', '=', user.userId],
|
|
1589
|
+
['approved', '=', 'terminate']
|
|
1590
|
+
],
|
|
1591
|
+
sort: 'created desc',
|
|
1592
|
+
top: 1
|
|
1594
1593
|
})];
|
|
1595
1594
|
case 2:
|
|
1596
|
-
|
|
1597
|
-
return [
|
|
1598
|
-
|
|
1595
|
+
_a = tslib_1.__read.apply(void 0, [_c.sent(), 1]), terminateRecord = _a[0];
|
|
1596
|
+
if (!terminateRecord) return [3, 4];
|
|
1597
|
+
return [4, ctx.getObject('pepsico_approval_process').directUpdate(terminateRecord._id, {
|
|
1598
|
+
modified: new Date(),
|
|
1599
|
+
modified_by: user.userId,
|
|
1600
|
+
name: description,
|
|
1601
|
+
attachments: (0, attachment_1.mergeFileIds)(terminateRecord.attachments, attachments)
|
|
1599
1602
|
})];
|
|
1600
1603
|
case 3:
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
case 4:
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1604
|
+
_c.sent();
|
|
1605
|
+
return [3, 6];
|
|
1606
|
+
case 4: return [4, ctx.getObject('pepsico_approval_process').insert({
|
|
1607
|
+
pepsico_material_approval: record._id,
|
|
1608
|
+
current_step: consts_1.Step.conclusion,
|
|
1609
|
+
owner: user.userId,
|
|
1610
|
+
space: record.space,
|
|
1611
|
+
created: new Date(),
|
|
1612
|
+
created_by: user.userId,
|
|
1613
|
+
modified: new Date(),
|
|
1614
|
+
modified_by: user.userId,
|
|
1615
|
+
approvalStatus: 'terminate',
|
|
1616
|
+
approved: 'terminate',
|
|
1617
|
+
name: description,
|
|
1618
|
+
attachments: (0, attachment_1.mergeFileIds)([], attachments)
|
|
1619
|
+
})];
|
|
1607
1620
|
case 5:
|
|
1608
|
-
|
|
1621
|
+
_c.sent();
|
|
1622
|
+
_c.label = 6;
|
|
1623
|
+
case 6: return [4, ctx.getObject('pepsico_approval_process').directFind({
|
|
1624
|
+
filters: [['pepsico_material_approval', '=', record._id], ['approved', '=', 'progess']]
|
|
1625
|
+
})];
|
|
1626
|
+
case 7:
|
|
1627
|
+
records = _c.sent();
|
|
1628
|
+
_c.label = 8;
|
|
1629
|
+
case 8:
|
|
1630
|
+
_c.trys.push([8, 13, 14, 15]);
|
|
1631
|
+
records_1 = tslib_1.__values(records), records_1_1 = records_1.next();
|
|
1632
|
+
_c.label = 9;
|
|
1633
|
+
case 9:
|
|
1634
|
+
if (!!records_1_1.done) return [3, 12];
|
|
1609
1635
|
process_2 = records_1_1.value;
|
|
1610
1636
|
return [4, ctx.getObject('pepsico_approval_process').directUpdate(process_2._id, {
|
|
1611
1637
|
approved: '',
|
|
1612
1638
|
modified: new Date(),
|
|
1613
1639
|
modified_by: user.userId,
|
|
1614
1640
|
})];
|
|
1615
|
-
case
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
case
|
|
1641
|
+
case 10:
|
|
1642
|
+
_c.sent();
|
|
1643
|
+
_c.label = 11;
|
|
1644
|
+
case 11:
|
|
1619
1645
|
records_1_1 = records_1.next();
|
|
1620
|
-
return [3,
|
|
1621
|
-
case
|
|
1622
|
-
case
|
|
1623
|
-
e_11_1 =
|
|
1646
|
+
return [3, 9];
|
|
1647
|
+
case 12: return [3, 15];
|
|
1648
|
+
case 13:
|
|
1649
|
+
e_11_1 = _c.sent();
|
|
1624
1650
|
e_11 = { error: e_11_1 };
|
|
1625
|
-
return [3,
|
|
1626
|
-
case
|
|
1651
|
+
return [3, 15];
|
|
1652
|
+
case 14:
|
|
1627
1653
|
try {
|
|
1628
|
-
if (records_1_1 && !records_1_1.done && (
|
|
1654
|
+
if (records_1_1 && !records_1_1.done && (_b = records_1.return)) _b.call(records_1);
|
|
1629
1655
|
}
|
|
1630
1656
|
finally { if (e_11) throw e_11.error; }
|
|
1631
1657
|
return [7];
|
|
1632
|
-
case
|
|
1658
|
+
case 15: return [4, ctx.getObject('pepsico_material_approval').update(recordId, {
|
|
1633
1659
|
current_step: consts_1.Step.conclusion,
|
|
1634
1660
|
review_status: consts_1.ReviewStatus.terminated,
|
|
1635
1661
|
termination_date: new Date(),
|
|
1636
1662
|
person_pending_approve: [],
|
|
1637
1663
|
termination_type: record.owner === user.userId ? '发起人中止' : '审批人中止'
|
|
1638
1664
|
})];
|
|
1639
|
-
case
|
|
1640
|
-
|
|
1665
|
+
case 16:
|
|
1666
|
+
_c.sent();
|
|
1641
1667
|
return [2, {}];
|
|
1642
|
-
case
|
|
1668
|
+
case 17: throw new Error('Sorry, you don’t have permission to terminate the review.');
|
|
1643
1669
|
}
|
|
1644
1670
|
});
|
|
1645
1671
|
}); };
|