@silexpert/core 1.1.242 → 1.1.243

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 (132) hide show
  1. package/dist/cjs/api/resources/Comment.d.ts +1 -1
  2. package/dist/cjs/api/resources/Comment.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Comment.js.map +1 -1
  4. package/dist/cjs/types/Enum/BalanceSheet.d.ts +3 -3
  5. package/dist/cjs/types/Enum/BalanceSheet.js +3 -3
  6. package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
  7. package/dist/cjs/types/Enum/BrandClementine.d.ts +3 -0
  8. package/dist/cjs/types/Enum/BrandClementine.d.ts.map +1 -1
  9. package/dist/cjs/types/Enum/BrandClementine.js +1 -0
  10. package/dist/cjs/types/Enum/BrandClementine.js.map +1 -1
  11. package/dist/cjs/types/Enum/BrandPourcentage.d.ts +4 -0
  12. package/dist/cjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  13. package/dist/cjs/types/Enum/BrandPourcentage.js +1 -0
  14. package/dist/cjs/types/Enum/BrandPourcentage.js.map +1 -1
  15. package/dist/cjs/types/Enum/Comment.d.ts +2 -1
  16. package/dist/cjs/types/Enum/Comment.d.ts.map +1 -1
  17. package/dist/cjs/types/Enum/Comment.js +1 -0
  18. package/dist/cjs/types/Enum/Comment.js.map +1 -1
  19. package/dist/cjs/types/Enum/InternalService.d.ts +12 -0
  20. package/dist/cjs/types/Enum/InternalService.d.ts.map +1 -1
  21. package/dist/cjs/types/Enum/InternalService.js +12 -0
  22. package/dist/cjs/types/Enum/InternalService.js.map +1 -1
  23. package/dist/cjs/types/Enum/JobTitle.d.ts +5 -1
  24. package/dist/cjs/types/Enum/JobTitle.d.ts.map +1 -1
  25. package/dist/cjs/types/Enum/JobTitle.js +25 -1
  26. package/dist/cjs/types/Enum/JobTitle.js.map +1 -1
  27. package/dist/cjs/types/Enum/Role.d.ts +4 -1
  28. package/dist/cjs/types/Enum/Role.d.ts.map +1 -1
  29. package/dist/cjs/types/Enum/Role.js +7 -2
  30. package/dist/cjs/types/Enum/Role.js.map +1 -1
  31. package/dist/cjs/types/Enum/RoleDetail.d.ts +15 -2
  32. package/dist/cjs/types/Enum/RoleDetail.d.ts.map +1 -1
  33. package/dist/cjs/types/Enum/RoleDetail.js +19 -6
  34. package/dist/cjs/types/Enum/RoleDetail.js.map +1 -1
  35. package/dist/cjs/types/Enum/TaskResponseType.d.ts +1 -0
  36. package/dist/cjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  37. package/dist/cjs/types/Enum/TaskResponseType.js +67 -0
  38. package/dist/cjs/types/Enum/TaskResponseType.js.map +1 -1
  39. package/dist/cjs/types/Enum/TimeCounterType.js +13 -13
  40. package/dist/cjs/types/Enum/TimeCounterType.js.map +1 -1
  41. package/dist/cjs/types/Interface/models/IComment.d.ts +3 -0
  42. package/dist/cjs/types/Interface/models/IComment.d.ts.map +1 -1
  43. package/dist/cjs/types/Interface/models/IComment.js.map +1 -1
  44. package/dist/cjs/types/Interface/models/IExercice.d.ts +2 -0
  45. package/dist/cjs/types/Interface/models/IExercice.d.ts.map +1 -1
  46. package/dist/cjs/types/Interface/models/IExercice.js.map +1 -1
  47. package/dist/cjs/utils/email/templates/signature.js +1 -1
  48. package/dist/cjs/utils/email/templates/signature.js.map +1 -1
  49. package/dist/cjs/utils/email.d.ts.map +1 -1
  50. package/dist/cjs/utils/email.js +41 -2
  51. package/dist/cjs/utils/email.js.map +1 -1
  52. package/dist/cjs/utils/task.d.ts.map +1 -1
  53. package/dist/cjs/utils/task.js +12 -0
  54. package/dist/cjs/utils/task.js.map +1 -1
  55. package/dist/cjs/utils/webmail.d.ts.map +1 -1
  56. package/dist/cjs/utils/webmail.js +12 -0
  57. package/dist/cjs/utils/webmail.js.map +1 -1
  58. package/dist/mjs/api/resources/Comment.d.ts +1 -1
  59. package/dist/mjs/api/resources/Comment.d.ts.map +1 -1
  60. package/dist/mjs/api/resources/Comment.js.map +1 -1
  61. package/dist/mjs/types/Enum/BalanceSheet.d.ts +3 -3
  62. package/dist/mjs/types/Enum/BalanceSheet.js +3 -3
  63. package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
  64. package/dist/mjs/types/Enum/BrandClementine.d.ts +3 -0
  65. package/dist/mjs/types/Enum/BrandClementine.d.ts.map +1 -1
  66. package/dist/mjs/types/Enum/BrandClementine.js +1 -0
  67. package/dist/mjs/types/Enum/BrandClementine.js.map +1 -1
  68. package/dist/mjs/types/Enum/BrandPourcentage.d.ts +4 -0
  69. package/dist/mjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  70. package/dist/mjs/types/Enum/BrandPourcentage.js +1 -0
  71. package/dist/mjs/types/Enum/BrandPourcentage.js.map +1 -1
  72. package/dist/mjs/types/Enum/Comment.d.ts +2 -1
  73. package/dist/mjs/types/Enum/Comment.d.ts.map +1 -1
  74. package/dist/mjs/types/Enum/Comment.js +1 -0
  75. package/dist/mjs/types/Enum/Comment.js.map +1 -1
  76. package/dist/mjs/types/Enum/InternalService.d.ts +12 -0
  77. package/dist/mjs/types/Enum/InternalService.d.ts.map +1 -1
  78. package/dist/mjs/types/Enum/InternalService.js +12 -0
  79. package/dist/mjs/types/Enum/InternalService.js.map +1 -1
  80. package/dist/mjs/types/Enum/JobTitle.d.ts +5 -1
  81. package/dist/mjs/types/Enum/JobTitle.d.ts.map +1 -1
  82. package/dist/mjs/types/Enum/JobTitle.js +25 -1
  83. package/dist/mjs/types/Enum/JobTitle.js.map +1 -1
  84. package/dist/mjs/types/Enum/Role.d.ts +4 -1
  85. package/dist/mjs/types/Enum/Role.d.ts.map +1 -1
  86. package/dist/mjs/types/Enum/Role.js +7 -2
  87. package/dist/mjs/types/Enum/Role.js.map +1 -1
  88. package/dist/mjs/types/Enum/RoleDetail.d.ts +15 -2
  89. package/dist/mjs/types/Enum/RoleDetail.d.ts.map +1 -1
  90. package/dist/mjs/types/Enum/RoleDetail.js +19 -6
  91. package/dist/mjs/types/Enum/RoleDetail.js.map +1 -1
  92. package/dist/mjs/types/Enum/TaskResponseType.d.ts +1 -0
  93. package/dist/mjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  94. package/dist/mjs/types/Enum/TaskResponseType.js +67 -0
  95. package/dist/mjs/types/Enum/TaskResponseType.js.map +1 -1
  96. package/dist/mjs/types/Enum/TimeCounterType.js +13 -13
  97. package/dist/mjs/types/Enum/TimeCounterType.js.map +1 -1
  98. package/dist/mjs/types/Interface/models/IComment.d.ts +3 -0
  99. package/dist/mjs/types/Interface/models/IComment.d.ts.map +1 -1
  100. package/dist/mjs/types/Interface/models/IComment.js.map +1 -1
  101. package/dist/mjs/types/Interface/models/IExercice.d.ts +2 -0
  102. package/dist/mjs/types/Interface/models/IExercice.d.ts.map +1 -1
  103. package/dist/mjs/types/Interface/models/IExercice.js.map +1 -1
  104. package/dist/mjs/utils/email/templates/signature.js +1 -1
  105. package/dist/mjs/utils/email/templates/signature.js.map +1 -1
  106. package/dist/mjs/utils/email.d.ts.map +1 -1
  107. package/dist/mjs/utils/email.js +44 -2
  108. package/dist/mjs/utils/email.js.map +1 -1
  109. package/dist/mjs/utils/task.d.ts.map +1 -1
  110. package/dist/mjs/utils/task.js +12 -0
  111. package/dist/mjs/utils/task.js.map +1 -1
  112. package/dist/mjs/utils/webmail.d.ts.map +1 -1
  113. package/dist/mjs/utils/webmail.js +12 -0
  114. package/dist/mjs/utils/webmail.js.map +1 -1
  115. package/package.json +1 -1
  116. package/ts/api/resources/Comment.ts +1 -1
  117. package/ts/types/Enum/BalanceSheet.ts +3 -3
  118. package/ts/types/Enum/BrandClementine.ts +1 -0
  119. package/ts/types/Enum/BrandPourcentage.ts +1 -0
  120. package/ts/types/Enum/Comment.ts +1 -0
  121. package/ts/types/Enum/InternalService.ts +12 -0
  122. package/ts/types/Enum/JobTitle.ts +25 -1
  123. package/ts/types/Enum/Role.ts +7 -2
  124. package/ts/types/Enum/RoleDetail.ts +19 -6
  125. package/ts/types/Enum/TaskResponseType.ts +67 -0
  126. package/ts/types/Enum/TimeCounterType.ts +13 -13
  127. package/ts/types/Interface/models/IComment.ts +3 -0
  128. package/ts/types/Interface/models/IExercice.ts +2 -0
  129. package/ts/utils/email/templates/signature.ts +1 -1
  130. package/ts/utils/email.ts +31 -2
  131. package/ts/utils/task.ts +8 -0
  132. package/ts/utils/webmail.ts +8 -0
@@ -265,12 +265,13 @@ export const RoleDetail = {
265
265
  isService: false,
266
266
  subRole: false,
267
267
  },
268
- TERMINATION_MANAGER: {
268
+ TERMINATION: {
269
269
  id: 39,
270
- name: 'Gestionnaire Résiliations',
270
+ name: 'Résiliation',
271
271
  colorPrimary: '#8765D0',
272
272
  colorSecondary: '#DED7F6',
273
- isService: false,
273
+ handledInUserSocietyPermissionTable: false,
274
+ isService: true,
274
275
  subRole: false,
275
276
  },
276
277
  EXPRESS_MANAGER: {
@@ -281,12 +282,13 @@ export const RoleDetail = {
281
282
  isService: false,
282
283
  subRole: false,
283
284
  },
284
- CONFLICT_MANAGER: {
285
+ LITIGE: {
285
286
  id: 41,
286
- name: 'Gestionnaire Conflits',
287
+ name: 'Litige',
287
288
  colorPrimary: '#8765D0',
288
289
  colorSecondary: '#DED7F6',
289
- isService: false,
290
+ handledInUserSocietyPermissionTable: false,
291
+ isService: true,
290
292
  subRole: false,
291
293
  },
292
294
  ATTESTATION_MANAGER: {
@@ -358,6 +360,17 @@ export const RoleDetail = {
358
360
  name: 'On boarder',
359
361
  colorPrimary: '#FFF',
360
362
  colorSecondary: '#FFF',
363
+ handledInUserSocietyPermissionTable: false,
364
+ isService: true,
365
+ subRole: false,
366
+ },
367
+ DATA_OFFICER: {
368
+ id: 51,
369
+ name: 'Data Officer',
370
+ colorPrimary: '#FFF',
371
+ colorSecondary: '#FFF',
372
+ handledInUserSocietyPermissionTable: false,
373
+ isService: true,
361
374
  subRole: false,
362
375
  },
363
376
  };
@@ -29,6 +29,7 @@ export enum RoleAvailableForTask {
29
29
  FACTURATION = Role.FACTURATION,
30
30
  JURIDIC = Role.JURIDIC,
31
31
  CUSTOMER_SUCCESS = Role.CUSTOMER_SUCCESS,
32
+ ON_BOARDER = Role.ON_BOARDER,
32
33
  FRONT_OFFICE = Role.FRONT_OFFICE,
33
34
  COMMERCIAL = Role.COMMERCIAL,
34
35
  // BACK_MANAGER = Role.BACK_MANAGER,
@@ -240,6 +241,72 @@ export const TaskResponseType = {
240
241
  responseType: null,
241
242
  description: 'Attribution juridique à faire',
242
243
  },
244
+ {
245
+ id: 19,
246
+ label: 'On Boarder Formalisme',
247
+ role: Role.ON_BOARDER,
248
+ deadline: Deadline,
249
+ isForWholeRole: true,
250
+ backToClient: false,
251
+ goToCalendar: false,
252
+ responseType: null,
253
+ description: 'Mettre à jour le formalisme (LAB)',
254
+ },
255
+ {
256
+ id: 20,
257
+ label: 'On Boarder Conformité',
258
+ role: Role.ON_BOARDER,
259
+ deadline: Deadline,
260
+ isForWholeRole: true,
261
+ backToClient: false,
262
+ goToCalendar: false,
263
+ responseType: null,
264
+ description: 'Mettre à jour la conformité du dossier',
265
+ },
266
+ {
267
+ id: 21,
268
+ label: 'Résiliation',
269
+ role: Role.TERMINATION,
270
+ deadline: Deadline,
271
+ isForWholeRole: true,
272
+ backToClient: false,
273
+ goToCalendar: false,
274
+ responseType: null,
275
+ description: 'Contacter le client pour reception courrier de résiliation',
276
+ },
277
+ {
278
+ id: 22,
279
+ label: 'Litige',
280
+ role: Role.LITIGE,
281
+ deadline: Deadline,
282
+ isForWholeRole: true,
283
+ backToClient: false,
284
+ goToCalendar: false,
285
+ responseType: null,
286
+ description: 'Contacter le client mécontent',
287
+ },
288
+ {
289
+ id: 23,
290
+ label: 'Data Officer Solde Bancaire',
291
+ role: Role.DATA_OFFICER,
292
+ deadline: Deadline,
293
+ isForWholeRole: true,
294
+ backToClient: false,
295
+ goToCalendar: false,
296
+ responseType: null,
297
+ description: 'Mise à jour solde bancaire',
298
+ },
299
+ {
300
+ id: 24,
301
+ label: 'Data Officer Annotation',
302
+ role: Role.DATA_OFFICER,
303
+ deadline: Deadline,
304
+ isForWholeRole: true,
305
+ backToClient: false,
306
+ goToCalendar: false,
307
+ responseType: null,
308
+ description: 'Mise à jour annotation',
309
+ },
243
310
  ],
244
311
  },
245
312
  EXTERN: {
@@ -5,42 +5,42 @@ export const TimeCounterType = {
5
5
  id: 1,
6
6
  label: 'OnBoarding',
7
7
  aberrantTime: 60,
8
- limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
8
+ limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
9
9
  color: 'fire',
10
10
  },
11
11
  VAT: {
12
12
  id: 2,
13
13
  label: 'TVA',
14
14
  aberrantTime: 60,
15
- limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
15
+ limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
16
16
  color: 'iris',
17
17
  },
18
18
  REVISION: {
19
19
  id: 3,
20
20
  label: 'Révision',
21
21
  aberrantTime: 120,
22
- limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
22
+ limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
23
23
  color: 'bubblegum-light',
24
24
  },
25
25
  FOLDER_REVIEW: {
26
26
  id: 4,
27
27
  label: 'Revue dossier',
28
28
  aberrantTime: 60,
29
- limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
29
+ limitedRoles: [Role.MANAGER, Role.EXPERT_ACCOUNTANT, Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
30
30
  color: 'cerulean',
31
31
  },
32
32
  REPORTING: {
33
33
  id: 5,
34
34
  label: 'Signalement',
35
35
  aberrantTime: 60,
36
- limitedRoles: [Role.CUSTOMER_SUCCESS],
36
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
37
37
  color: 'lipstick-dark',
38
38
  },
39
39
  SYNCHRONISATION: {
40
40
  id: 6,
41
41
  label: 'Synchronisation',
42
42
  aberrantTime: 30,
43
- limitedRoles: [Role.CUSTOMER_SUCCESS],
43
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
44
44
  color: 'orange-dark',
45
45
  },
46
46
  UNDER_SUPERVISION: {
@@ -75,21 +75,21 @@ export const TimeCounterType = {
75
75
  id: 11,
76
76
  label: 'Prévisionnel',
77
77
  aberrantTime: 20,
78
- limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
78
+ limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
79
79
  color: 'cerulean-light',
80
80
  },
81
81
  CERTIFICATE: {
82
82
  id: 12,
83
83
  label: 'Attestation',
84
84
  aberrantTime: 20,
85
- limitedRoles: [Role.CUSTOMER_SUCCESS],
85
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
86
86
  color: 'pink-salmon',
87
87
  },
88
88
  COMPLEMENTARY_MISSION: {
89
89
  id: 13,
90
90
  label: 'Mission complémentaire',
91
91
  aberrantTime: 20,
92
- limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],
92
+ limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER],
93
93
  color: 'cerulean-light',
94
94
  },
95
95
  ORGANISATION: {
@@ -124,21 +124,21 @@ export const TimeCounterType = {
124
124
  id: 18,
125
125
  label: 'Traitement des courriers',
126
126
  aberrantTime: 20,
127
- limitedRoles: [Role.CUSTOMER_SUCCESS],
127
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
128
128
  color: 'pink-salmon',
129
129
  },
130
130
  SUPPORT_PROCESSING: {
131
131
  id: 19,
132
132
  label: 'Traitement support',
133
133
  aberrantTime: 20,
134
- limitedRoles: [Role.CUSTOMER_SUCCESS],
134
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
135
135
  color: 'error',
136
136
  },
137
137
  BILAN: {
138
138
  id: 20,
139
139
  label: 'Bilan',
140
140
  aberrantTime: 120,
141
- limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.EXPERT_ACCOUNTANT],
141
+ limitedRoles: [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.EXPERT_ACCOUNTANT],
142
142
  color: 'cerulean-dark',
143
143
  },
144
144
  PAYSLIP: {
@@ -250,7 +250,7 @@ export const TimeCounterType = {
250
250
  id: 36,
251
251
  label: 'Validation contrôle interne',
252
252
  aberrantTime: 480,
253
- limitedRoles: [Role.CUSTOMER_SUCCESS],
253
+ limitedRoles: [Role.CUSTOMER_SUCCESS, Role.ON_BOARDER, Role.TERMINATION, Role.LITIGE],
254
254
  color: 'grey-dark',
255
255
  },
256
256
  CALENDLY: {
@@ -1,6 +1,7 @@
1
1
  import { ICommentType } from './ICommentType';
2
2
  import { IChannelType } from './IChannelType';
3
3
  import { IUser } from './IUser';
4
+ import { IExercice } from './IExercice';
4
5
  import { ISupervision } from './ISupervision';
5
6
  import { ICard, ITask } from '../..';
6
7
 
@@ -14,6 +15,7 @@ export interface IComment {
14
15
  idReport?: number | null;
15
16
  idTask?: number | null;
16
17
  idUser?: number | null;
18
+ idExercice?: number | null;
17
19
  idCard?: number | null;
18
20
  idChecklist?: number | null;
19
21
  isPing?: boolean;
@@ -25,6 +27,7 @@ export interface IComment {
25
27
  commentType?: ICommentType;
26
28
  channelType?: IChannelType;
27
29
  user?: IUser;
30
+ exercice?: IExercice;
28
31
  supervision?: ISupervision;
29
32
  task?: ITask;
30
33
  card?: ICard;
@@ -12,6 +12,7 @@ import { ISociety } from './ISociety';
12
12
  import { IExerciceDetail } from './IExerciceDetail';
13
13
  import { IBalanceSheetModule } from './IBalanceSheetModule';
14
14
  import { IRegistration } from './IRegistration';
15
+ import { IComment } from './IComment';
15
16
 
16
17
  // exercices
17
18
  export interface IExercice {
@@ -62,4 +63,5 @@ export interface IExercice {
62
63
  exerciceDetail?: IExerciceDetail;
63
64
  exerciceBalanceSheetModule?: IBalanceSheetModule;
64
65
  registrations: IRegistration[];
66
+ comments?: IComment[];
65
67
  }
@@ -237,7 +237,7 @@ ${logoClementine}
237
237
  <a href="https://www.smileyourpla.net/" style="display: inline-block; color:#6E6E71;" target="_blank"><img
238
238
  src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png"
239
239
  alt="Initiative Smile your planet" height="36"></a>
240
- <% if(user.calendlyUrl) { %>
240
+ <% if(user.calendlyUrl && !isDataOfficer) { %>
241
241
  <a href="<%= user.calendlyUrl %>" style="display: inline-block; color:#6E6E71;" target="_blank">
242
242
  <img
243
243
  src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel<%= commercialName === 'Pourcentage' ? '_pourcentage' : '' %>.png"
package/ts/utils/email.ts CHANGED
@@ -21,6 +21,10 @@ function getRoleSignature(user:any) {
21
21
  const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);
22
22
  const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);
23
23
  const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);
24
+ const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);
25
+ const isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);
26
+ const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);
27
+ const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);
24
28
  const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);
25
29
  const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);
26
30
  const isFront = !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]]).length;
@@ -31,6 +35,18 @@ function getRoleSignature(user:any) {
31
35
  if (isCS && isManager) { return 'Responsable relations clients'; }
32
36
  if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }
33
37
 
38
+ if (isOnBoarder && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }
39
+ if (isOnBoarder) { return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }
40
+
41
+ if (isTermination && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }
42
+ if (isTermination) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }
43
+
44
+ if (isLitige && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }
45
+ if (isLitige) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }
46
+
47
+ if (isDataOfficer && isManager) { return 'Responsable aide comptable'; }
48
+ if (isDataOfficer) { return 'Aide comptable'; }
49
+
34
50
  if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }
35
51
  if (isFacturation && isManager) { return 'Responsable facturation'; }
36
52
  if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }
@@ -110,7 +126,7 @@ function getMailSignature(user:any, idTypeBrand:number) {
110
126
  }) as unknown as string;
111
127
 
112
128
  if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }
113
- if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return user.email;
129
+ if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL]]).length) return user.email;
114
130
  return bonjourMail;
115
131
  }
116
132
 
@@ -156,6 +172,10 @@ export function generateSignature(params: any): string {
156
172
  ...(idTypeBrand ? { idTypeBrand } : {}),
157
173
  objectWaited: 'listMails.social',
158
174
  }) as unknown as string;
175
+ const dataOfficerMail = getBrandConfig({
176
+ ...(idTypeBrand ? { idTypeBrand } : {}),
177
+ objectWaited: 'listMails.gestion',
178
+ }) as unknown as string;
159
179
  const supportMail = getBrandConfig({
160
180
  ...(idTypeBrand ? { idTypeBrand } : {}),
161
181
  objectWaited: 'listMails.support',
@@ -191,7 +211,15 @@ export function generateSignature(params: any): string {
191
211
  let horaires: string | null;
192
212
  [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, false, 'Du lundi au vendredi de 9h à 19h'];
193
213
 
194
- if (forceRole === 'social') { // Signature social
214
+ if (user.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) { // Signature data_officer
215
+ user = {
216
+ firstname: `L'équipe ${commercialName}`,
217
+ isAll: true,
218
+ };
219
+ mailSignature = dataOfficerMail;
220
+ roleSignature = '';
221
+ phoneSignature = standardPhoneSignature;
222
+ } else if (forceRole === 'social') { // Signature social
195
223
  user = {
196
224
  firstname: 'Service social',
197
225
  isAll: true,
@@ -238,6 +266,7 @@ export function generateSignature(params: any): string {
238
266
  return ejs.render(signatureTemplate, {
239
267
  forceRole,
240
268
  isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,
269
+ isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,
241
270
  brandName,
242
271
  idTypeBrand,
243
272
  commercialName,
package/ts/utils/task.ts CHANGED
@@ -13,8 +13,16 @@ const getIdRoleUsedForTask = (listRoles: number[]): number => {
13
13
  idRole = Role.FACTURATION;
14
14
  } else if (listRoles.includes(Role.CUSTOMER_SUCCESS)) {
15
15
  idRole = Role.CUSTOMER_SUCCESS;
16
+ } else if (listRoles.includes(Role.ON_BOARDER)) {
17
+ idRole = Role.ON_BOARDER;
18
+ } else if (listRoles.includes(Role.TERMINATION)) {
19
+ idRole = Role.TERMINATION;
20
+ } else if (listRoles.includes(Role.LITIGE)) {
21
+ idRole = Role.LITIGE;
16
22
  } else if (listRoles.includes(Role.FRONT_OFFICE)) {
17
23
  idRole = Role.FRONT_OFFICE;
24
+ } else if (listRoles.includes(Role.DATA_OFFICER)) {
25
+ idRole = Role.DATA_OFFICER;
18
26
  }
19
27
  return idRole;
20
28
  };
@@ -8,6 +8,8 @@ const getIdRoleUsedForEmail = (listRoles: number[]): number => {
8
8
  idRole = Role.FRONT_OFFICE;
9
9
  } else if (listRoles.includes(Role.FRONT_OFFICE_EXPRESS)) {
10
10
  idRole = Role.FRONT_OFFICE_EXPRESS;
11
+ } else if (listRoles.includes(Role.DATA_OFFICER)) {
12
+ idRole = Role.DATA_OFFICER;
11
13
  } else if (listRoles.includes(Role.COMMERCIAL)) {
12
14
  idRole = Role.COMMERCIAL;
13
15
  } else if (listRoles.includes(Role.EXPERT_ACCOUNTANT)) {
@@ -18,6 +20,12 @@ const getIdRoleUsedForEmail = (listRoles: number[]): number => {
18
20
  idRole = Role.JURIDIC;
19
21
  } else if (listRoles.includes(Role.SOCIAL)) {
20
22
  idRole = Role.SOCIAL;
23
+ } else if (listRoles.includes(Role.ON_BOARDER)) {
24
+ idRole = Role.ON_BOARDER;
25
+ } else if (listRoles.includes(Role.TERMINATION)) {
26
+ idRole = Role.TERMINATION;
27
+ } else if (listRoles.includes(Role.LITIGE)) {
28
+ idRole = Role.LITIGE;
21
29
  }
22
30
  return idRole;
23
31
  };