@platform-modules/civil-aviation-authority 2.3.297 → 2.3.298
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.
|
@@ -183,6 +183,18 @@
|
|
|
183
183
|
"it_helpdesk_wf_l3_not_required_closed": {
|
|
184
184
|
"en": "L3 assignment not required, request closed by {{userName}}{{comment}}",
|
|
185
185
|
"ar": "تعيين المستوى الثالث (L3) غير مطلوب، تم إغلاق الطلب بواسطة {{userName}}{{comment}}"
|
|
186
|
+
},
|
|
187
|
+
"request_assigned": {
|
|
188
|
+
"en": "Request Assigned",
|
|
189
|
+
"ar": "تم تعيين الطلب"
|
|
190
|
+
},
|
|
191
|
+
"request_pending_from": {
|
|
192
|
+
"en": "Request Pending from {{name}}",
|
|
193
|
+
"ar": "الطلب قيد الانتظار من {{name}}"
|
|
194
|
+
},
|
|
195
|
+
"request_pending": {
|
|
196
|
+
"en": "Request Pending",
|
|
197
|
+
"ar": "الطلب قيد الانتظار"
|
|
186
198
|
}
|
|
187
199
|
},
|
|
188
200
|
"chatTemplates": {
|
|
@@ -326,6 +326,19 @@ function buildRequestApprovedAssignedWorkflowFields(params) {
|
|
|
326
326
|
}
|
|
327
327
|
/** Standard workflow log UPDATE fields for all CAA module repositories. */
|
|
328
328
|
function buildWorkflowLogUpdateFields(params) {
|
|
329
|
+
if (params.approvalStatus === 'Closed') {
|
|
330
|
+
const closed = buildClosedWorkflowMessage({
|
|
331
|
+
roleName: params.roleName,
|
|
332
|
+
roleArabicName: params.roleArabicName,
|
|
333
|
+
comment: params.comment,
|
|
334
|
+
});
|
|
335
|
+
return {
|
|
336
|
+
content: closed.en,
|
|
337
|
+
content_ar: closed.ar,
|
|
338
|
+
status: params.workflowStatus,
|
|
339
|
+
status_ar: resolveWorkflowStatusAr(params.workflowStatus),
|
|
340
|
+
};
|
|
341
|
+
}
|
|
329
342
|
const isApprovedLike = params.approvalStatus === 'Approved' || params.approvalStatus === 'Assigned';
|
|
330
343
|
if (isApprovedLike) {
|
|
331
344
|
const assignment = tryParseRequestAssignedComment(params.comment);
|
|
@@ -1206,6 +1219,25 @@ function resolveWorkflowContentAr(content, actors) {
|
|
|
1206
1219
|
const nameAr = resolveArabicWorkflowActorName(actors, namePartEn);
|
|
1207
1220
|
return interpolate(WORKFLOW_TEMPLATES.request_approval_pending_from.ar, { name: nameAr });
|
|
1208
1221
|
}
|
|
1222
|
+
// Assign Tasks to Employee workflow (legacy EN strings)
|
|
1223
|
+
if (normalized === 'Request Assigned') {
|
|
1224
|
+
return WORKFLOW_TEMPLATES.request_assigned?.ar ?? null;
|
|
1225
|
+
}
|
|
1226
|
+
if (normalized === 'Request Pending') {
|
|
1227
|
+
return WORKFLOW_TEMPLATES.request_pending?.ar ?? null;
|
|
1228
|
+
}
|
|
1229
|
+
const assignTasksPendingPrefix = WORKFLOW_TEMPLATES.request_pending_from?.en.split('{{name}}')[0].trim();
|
|
1230
|
+
if (assignTasksPendingPrefix && normalized.startsWith(assignTasksPendingPrefix)) {
|
|
1231
|
+
const namePartEn = normalized.slice(assignTasksPendingPrefix.length).trim();
|
|
1232
|
+
const nameAr = resolveArabicWorkflowActorName(actors, namePartEn);
|
|
1233
|
+
return interpolate(WORKFLOW_TEMPLATES.request_pending_from.ar, { name: nameAr });
|
|
1234
|
+
}
|
|
1235
|
+
if (normalized.toLowerCase() === 'notification sent pending') {
|
|
1236
|
+
return WORKFLOW_TEMPLATES.notification_sent_pending?.ar ?? null;
|
|
1237
|
+
}
|
|
1238
|
+
if (normalized.toLowerCase() === 'notification sent successfully') {
|
|
1239
|
+
return WORKFLOW_TEMPLATES.notification_sent_successfully?.ar ?? null;
|
|
1240
|
+
}
|
|
1209
1241
|
if (normalized === 'Approval Pending from HR Section' ||
|
|
1210
1242
|
normalized === 'Approval Pending from Records Department') {
|
|
1211
1243
|
return WORKFLOW_TEMPLATES.request_approval_pending?.ar ?? null;
|
|
@@ -1257,6 +1289,28 @@ function enrichWorkflowLog(log) {
|
|
|
1257
1289
|
content_ar = resolvedAr;
|
|
1258
1290
|
}
|
|
1259
1291
|
}
|
|
1292
|
+
const inProgressPrefix = WORKFLOW_TEMPLATES.request_approval_in_progress_from?.en.split('{{name}}')[0].trim();
|
|
1293
|
+
if (content &&
|
|
1294
|
+
inProgressPrefix &&
|
|
1295
|
+
content.startsWith(inProgressPrefix) &&
|
|
1296
|
+
existingAr &&
|
|
1297
|
+
resolvedAr &&
|
|
1298
|
+
existingAr !== resolvedAr) {
|
|
1299
|
+
const namePartEn = content.slice(inProgressPrefix.length).trim();
|
|
1300
|
+
if (namePartEn && existingAr.includes(namePartEn)) {
|
|
1301
|
+
content_ar = resolvedAr;
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
if (content &&
|
|
1305
|
+
existingAr &&
|
|
1306
|
+
resolvedAr &&
|
|
1307
|
+
existingAr !== resolvedAr &&
|
|
1308
|
+
/[A-Za-z]/.test(existingAr) &&
|
|
1309
|
+
(actors?.deptArabicName?.trim() ||
|
|
1310
|
+
actors?.sectionArabicName?.trim() ||
|
|
1311
|
+
actors?.roleArabicName?.trim())) {
|
|
1312
|
+
content_ar = resolvedAr;
|
|
1313
|
+
}
|
|
1260
1314
|
if (content &&
|
|
1261
1315
|
existingAr &&
|
|
1262
1316
|
resolvedAr &&
|
package/package.json
CHANGED
|
@@ -183,6 +183,18 @@
|
|
|
183
183
|
"it_helpdesk_wf_l3_not_required_closed": {
|
|
184
184
|
"en": "L3 assignment not required, request closed by {{userName}}{{comment}}",
|
|
185
185
|
"ar": "تعيين المستوى الثالث (L3) غير مطلوب، تم إغلاق الطلب بواسطة {{userName}}{{comment}}"
|
|
186
|
+
},
|
|
187
|
+
"request_assigned": {
|
|
188
|
+
"en": "Request Assigned",
|
|
189
|
+
"ar": "تم تعيين الطلب"
|
|
190
|
+
},
|
|
191
|
+
"request_pending_from": {
|
|
192
|
+
"en": "Request Pending from {{name}}",
|
|
193
|
+
"ar": "الطلب قيد الانتظار من {{name}}"
|
|
194
|
+
},
|
|
195
|
+
"request_pending": {
|
|
196
|
+
"en": "Request Pending",
|
|
197
|
+
"ar": "الطلب قيد الانتظار"
|
|
186
198
|
}
|
|
187
199
|
},
|
|
188
200
|
"chatTemplates": {
|
|
@@ -476,6 +476,20 @@ export function buildWorkflowLogUpdateFields(params: {
|
|
|
476
476
|
roleArabicName?: string | null;
|
|
477
477
|
comment?: string | null;
|
|
478
478
|
}): { content: string; content_ar: string; status: string; status_ar: string | null } {
|
|
479
|
+
if (params.approvalStatus === 'Closed') {
|
|
480
|
+
const closed = buildClosedWorkflowMessage({
|
|
481
|
+
roleName: params.roleName,
|
|
482
|
+
roleArabicName: params.roleArabicName,
|
|
483
|
+
comment: params.comment,
|
|
484
|
+
});
|
|
485
|
+
return {
|
|
486
|
+
content: closed.en,
|
|
487
|
+
content_ar: closed.ar,
|
|
488
|
+
status: params.workflowStatus,
|
|
489
|
+
status_ar: resolveWorkflowStatusAr(params.workflowStatus),
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
|
|
479
493
|
const isApprovedLike =
|
|
480
494
|
params.approvalStatus === 'Approved' || params.approvalStatus === 'Assigned';
|
|
481
495
|
|
|
@@ -1808,6 +1822,27 @@ export function resolveWorkflowContentAr(
|
|
|
1808
1822
|
const nameAr = resolveArabicWorkflowActorName(actors, namePartEn);
|
|
1809
1823
|
return interpolate(WORKFLOW_TEMPLATES.request_approval_pending_from.ar, { name: nameAr });
|
|
1810
1824
|
}
|
|
1825
|
+
|
|
1826
|
+
// Assign Tasks to Employee workflow (legacy EN strings)
|
|
1827
|
+
if (normalized === 'Request Assigned') {
|
|
1828
|
+
return WORKFLOW_TEMPLATES.request_assigned?.ar ?? null;
|
|
1829
|
+
}
|
|
1830
|
+
if (normalized === 'Request Pending') {
|
|
1831
|
+
return WORKFLOW_TEMPLATES.request_pending?.ar ?? null;
|
|
1832
|
+
}
|
|
1833
|
+
const assignTasksPendingPrefix = WORKFLOW_TEMPLATES.request_pending_from?.en.split('{{name}}')[0].trim();
|
|
1834
|
+
if (assignTasksPendingPrefix && normalized.startsWith(assignTasksPendingPrefix)) {
|
|
1835
|
+
const namePartEn = normalized.slice(assignTasksPendingPrefix.length).trim();
|
|
1836
|
+
const nameAr = resolveArabicWorkflowActorName(actors, namePartEn);
|
|
1837
|
+
return interpolate(WORKFLOW_TEMPLATES.request_pending_from.ar, { name: nameAr });
|
|
1838
|
+
}
|
|
1839
|
+
if (normalized.toLowerCase() === 'notification sent pending') {
|
|
1840
|
+
return WORKFLOW_TEMPLATES.notification_sent_pending?.ar ?? null;
|
|
1841
|
+
}
|
|
1842
|
+
if (normalized.toLowerCase() === 'notification sent successfully') {
|
|
1843
|
+
return WORKFLOW_TEMPLATES.notification_sent_successfully?.ar ?? null;
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1811
1846
|
if (
|
|
1812
1847
|
normalized === 'Approval Pending from HR Section' ||
|
|
1813
1848
|
normalized === 'Approval Pending from Records Department'
|
|
@@ -1873,6 +1908,32 @@ export function enrichWorkflowLog(log: Record<string, unknown>): Record<string,
|
|
|
1873
1908
|
content_ar = resolvedAr;
|
|
1874
1909
|
}
|
|
1875
1910
|
}
|
|
1911
|
+
const inProgressPrefix = WORKFLOW_TEMPLATES.request_approval_in_progress_from?.en.split('{{name}}')[0].trim();
|
|
1912
|
+
if (
|
|
1913
|
+
content &&
|
|
1914
|
+
inProgressPrefix &&
|
|
1915
|
+
content.startsWith(inProgressPrefix) &&
|
|
1916
|
+
existingAr &&
|
|
1917
|
+
resolvedAr &&
|
|
1918
|
+
existingAr !== resolvedAr
|
|
1919
|
+
) {
|
|
1920
|
+
const namePartEn = content.slice(inProgressPrefix.length).trim();
|
|
1921
|
+
if (namePartEn && existingAr.includes(namePartEn)) {
|
|
1922
|
+
content_ar = resolvedAr;
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
if (
|
|
1926
|
+
content &&
|
|
1927
|
+
existingAr &&
|
|
1928
|
+
resolvedAr &&
|
|
1929
|
+
existingAr !== resolvedAr &&
|
|
1930
|
+
/[A-Za-z]/.test(existingAr) &&
|
|
1931
|
+
(actors?.deptArabicName?.trim() ||
|
|
1932
|
+
actors?.sectionArabicName?.trim() ||
|
|
1933
|
+
actors?.roleArabicName?.trim())
|
|
1934
|
+
) {
|
|
1935
|
+
content_ar = resolvedAr;
|
|
1936
|
+
}
|
|
1876
1937
|
if (
|
|
1877
1938
|
content &&
|
|
1878
1939
|
existingAr &&
|