@silexpert/core 1.1.128 → 1.1.130

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/es/api/resources/Das.d.ts +9 -0
  2. package/es/api/resources/Das.d.ts.map +1 -0
  3. package/es/api/resources/Das.js +17 -0
  4. package/es/api/resources/Das.js.map +1 -0
  5. package/es/api/resources/Facturation.d.ts +3 -2
  6. package/es/api/resources/Facturation.d.ts.map +1 -1
  7. package/es/api/resources/Facturation.js +5 -2
  8. package/es/api/resources/Facturation.js.map +1 -1
  9. package/es/types/Enum/Aspone.d.ts +2 -1
  10. package/es/types/Enum/Aspone.d.ts.map +1 -1
  11. package/es/types/Enum/Aspone.js +1 -0
  12. package/es/types/Enum/Aspone.js.map +1 -1
  13. package/es/types/Enum/BrandLegalstart.d.ts +1 -8
  14. package/es/types/Enum/BrandLegalstart.d.ts.map +1 -1
  15. package/es/types/Enum/BrandLegalstart.js +6 -6
  16. package/es/types/Enum/BrandLegalstart.js.map +1 -1
  17. package/es/types/Enum/CerfaType.d.ts +2 -1
  18. package/es/types/Enum/CerfaType.d.ts.map +1 -1
  19. package/es/types/Enum/CerfaType.js +1 -0
  20. package/es/types/Enum/CerfaType.js.map +1 -1
  21. package/es/types/Enum/Country.d.ts +4 -0
  22. package/es/types/Enum/Country.d.ts.map +1 -1
  23. package/es/types/Enum/Country.js +6440 -0
  24. package/es/types/Enum/Country.js.map +1 -1
  25. package/es/types/Enum/Das.d.ts +15 -0
  26. package/es/types/Enum/Das.d.ts.map +1 -0
  27. package/es/types/Enum/Das.js +22 -0
  28. package/es/types/Enum/Das.js.map +1 -0
  29. package/es/types/Enum/TimeCounterType.d.ts +7 -0
  30. package/es/types/Enum/TimeCounterType.d.ts.map +1 -1
  31. package/es/types/Enum/TimeCounterType.js +7 -0
  32. package/es/types/Enum/TimeCounterType.js.map +1 -1
  33. package/es/types/Interface/api/aspone/ReadInterchange.d.ts +1 -1
  34. package/es/types/Interface/api/aspone/ReadInterchange.d.ts.map +1 -1
  35. package/es/types/Interface/api/aspone/ReadInterchange.js.map +1 -1
  36. package/es/types/Interface/api/calendarEvent/createCalendarEvent.d.ts +1 -1
  37. package/es/types/Interface/api/calendarEvent/createCalendarEvent.d.ts.map +1 -1
  38. package/es/types/Interface/api/calendarEvent/createCalendarEvent.js +1 -1
  39. package/es/types/Interface/api/calendarEvent/createCalendarEvent.js.map +1 -1
  40. package/es/types/Interface/api/cerfa/ReadCerfa.d.ts +1 -0
  41. package/es/types/Interface/api/cerfa/ReadCerfa.d.ts.map +1 -1
  42. package/es/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
  43. package/es/types/Interface/api/cerfa/das2.d.ts +112 -0
  44. package/es/types/Interface/api/cerfa/das2.d.ts.map +1 -0
  45. package/es/types/Interface/api/cerfa/das2.js +65 -0
  46. package/es/types/Interface/api/cerfa/das2.js.map +1 -0
  47. package/es/types/Interface/api/facturation/Query.d.ts +6 -0
  48. package/es/types/Interface/api/facturation/Query.d.ts.map +1 -0
  49. package/es/types/Interface/api/facturation/Query.js +27 -0
  50. package/es/types/Interface/api/facturation/Query.js.map +1 -0
  51. package/es/types/Interface/api/team/QueryCreate.d.ts +2 -0
  52. package/es/types/Interface/api/team/QueryCreate.d.ts.map +1 -1
  53. package/es/types/Interface/api/team/QueryCreate.js +5 -0
  54. package/es/types/Interface/api/team/QueryCreate.js.map +1 -1
  55. package/es/types/Interface/models/IApiError.d.ts +2 -1
  56. package/es/types/Interface/models/IApiError.d.ts.map +1 -1
  57. package/es/types/Interface/models/IApiError.js +1 -0
  58. package/es/types/Interface/models/IApiError.js.map +1 -1
  59. package/es/types/Interface/models/IThirdParty.d.ts +1 -0
  60. package/es/types/Interface/models/IThirdParty.d.ts.map +1 -1
  61. package/es/types/Interface/models/IThirdParty.js.map +1 -1
  62. package/es/types/index.d.ts +3 -0
  63. package/es/types/index.d.ts.map +1 -1
  64. package/es/types/index.js +3 -0
  65. package/es/types/index.js.map +1 -1
  66. package/es/utils/email/templates/signature.js +1 -1
  67. package/es/utils/email/templates/signature.js.map +1 -1
  68. package/es/utils/email.d.ts.map +1 -1
  69. package/es/utils/email.js +9 -1
  70. package/es/utils/email.js.map +1 -1
  71. package/es/utils/phone.d.ts +1 -0
  72. package/es/utils/phone.d.ts.map +1 -1
  73. package/es/utils/phone.js +8 -0
  74. package/es/utils/phone.js.map +1 -1
  75. package/js/api/resources/Das.js +26 -0
  76. package/js/api/resources/Das.js.map +1 -0
  77. package/js/api/resources/Facturation.js +11 -2
  78. package/js/api/resources/Facturation.js.map +1 -1
  79. package/js/types/Enum/Aspone.js +1 -0
  80. package/js/types/Enum/Aspone.js.map +1 -1
  81. package/js/types/Enum/BrandLegalstart.js +5 -5
  82. package/js/types/Enum/BrandLegalstart.js.map +1 -1
  83. package/js/types/Enum/CerfaType.js +1 -0
  84. package/js/types/Enum/CerfaType.js.map +1 -1
  85. package/js/types/Enum/Country.js +19315 -0
  86. package/js/types/Enum/Country.js.map +1 -1
  87. package/js/types/Enum/Das.js +42 -0
  88. package/js/types/Enum/Das.js.map +1 -0
  89. package/js/types/Enum/TimeCounterType.js +7 -0
  90. package/js/types/Enum/TimeCounterType.js.map +1 -1
  91. package/js/types/Interface/api/aspone/ReadInterchange.js.map +1 -1
  92. package/js/types/Interface/api/calendarEvent/createCalendarEvent.js +1 -1
  93. package/js/types/Interface/api/calendarEvent/createCalendarEvent.js.map +1 -1
  94. package/js/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
  95. package/js/types/Interface/api/cerfa/das2.js +36 -0
  96. package/js/types/Interface/api/cerfa/das2.js.map +1 -0
  97. package/js/types/Interface/api/facturation/Query.js +24 -0
  98. package/js/types/Interface/api/facturation/Query.js.map +1 -0
  99. package/js/types/Interface/api/team/QueryCreate.js +1 -0
  100. package/js/types/Interface/api/team/QueryCreate.js.map +1 -1
  101. package/js/types/Interface/models/IApiError.js +1 -0
  102. package/js/types/Interface/models/IApiError.js.map +1 -1
  103. package/js/types/Interface/models/IThirdParty.js.map +1 -1
  104. package/js/types/index.js +72 -42
  105. package/js/types/index.js.map +1 -1
  106. package/js/utils/email/templates/signature.js +1 -1
  107. package/js/utils/email/templates/signature.js.map +1 -1
  108. package/js/utils/email.js +8 -0
  109. package/js/utils/email.js.map +1 -1
  110. package/js/utils/phone.js +9 -0
  111. package/js/utils/phone.js.map +1 -1
  112. package/package.json +1 -1
  113. package/ts/api/resources/Das.ts +21 -0
  114. package/ts/api/resources/Facturation.ts +10 -3
  115. package/ts/types/Enum/Aspone.ts +1 -0
  116. package/ts/types/Enum/BrandLegalstart.ts +6 -6
  117. package/ts/types/Enum/CerfaType.ts +1 -0
  118. package/ts/types/Enum/Country.ts +6441 -0
  119. package/ts/types/Enum/Das.ts +21 -0
  120. package/ts/types/Enum/TimeCounterType.ts +7 -0
  121. package/ts/types/Interface/api/aspone/ReadInterchange.ts +1 -1
  122. package/ts/types/Interface/api/calendarEvent/createCalendarEvent.ts +2 -2
  123. package/ts/types/Interface/api/cerfa/ReadCerfa.ts +1 -1
  124. package/ts/types/Interface/api/cerfa/das2.ts +142 -0
  125. package/ts/types/Interface/api/facturation/Query.ts +17 -0
  126. package/ts/types/Interface/api/team/QueryCreate.ts +5 -0
  127. package/ts/types/Interface/models/IApiError.ts +1 -0
  128. package/ts/types/Interface/models/IThirdParty.ts +1 -0
  129. package/ts/types/index.ts +3 -0
  130. package/ts/utils/email/templates/signature.ts +1 -1
  131. package/ts/utils/email.ts +39 -2
  132. package/ts/utils/phone.ts +12 -0
@@ -155,7 +155,7 @@ ${logoClementine}
155
155
  </tr>
156
156
  </table>
157
157
 
158
- <p style="margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2"><!-- --></p><p style="margin:0; padding:0px 0 4px; color:#6E6E71;"><%= (user.roles && user.roles.length && user.roles.map((r) => r.idRoles).includes(22)) || (user && user.isAll === true) ? 'Nos' : 'Mes' %> horaires :<br/><%= horaires %></p>
158
+ <p style="margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2"><!-- --></p><p style="margin:0; padding:0px 0 4px; color:#6E6E71;">Nos horaires :<br/><%= horaires %></p>
159
159
  </td>
160
160
 
161
161
  <td class="infos" style="padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>"
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","names":["logoClementine","avatar","footer","signatureTemplate","exports"],"sources":["../../../../ts/utils/email/templates/signature.ts"],"sourcesContent":["const logoClementine = `<% if (brandName === 'Clementine') { %><tr>\n<td\ncolspan=\"3\"\nclass=\"logo\"\nstyle=\"\"\nwidth=\"850\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/logo_2022.png\"\n alt=\"Logo\"\n height=\"32\"\n style=\"padding-bottom: 10px;\">\n</td>\n</tr><% } %>`;\n\nconst avatar = `<% if (!forceRole && user?.avatar?.token) { %>\n <td\n class=\"avatar\"\n style=\"text-align:center; padding: 20px 0 20px 20px; position: relative;\"\n width=\"100\">\n <p style=\"padding: 20px;background-image: url('https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_quotes.png');background-size: 26%;background-position: 81% -3%;background-repeat: no-repeat;\">\n <img\n style=\"max-height: 90px;max-width: 90px; border-radius: 100%; padding-top: 10px\"\n alt=\"Avatar\"\n src=\"<%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>\"\n />\n </p>\n </td>\n <% } %>`;\n\nconst footer = `<% if(brandName === 'Clementine') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.clementine.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n <td style=\"padding:0 10px 0 0\" width=\"170\">\n <a href=\"mailto:<%= supportMail %>\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_support2.png\"\n style=\"vertical-align: text-top;\"\n width=\"17\"\n alt=\"Support technique\"> Support technique\n </a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.youtube.com/channel/UCVnCpcLdRwuYBLvAphHsvig/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_youtube.png\"\n alt=\"YouTube\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.linkedin.com/company/compta-cl%C3%A9mentine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_linkedin.png\"\n alt=\"LinkedIn\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.instagram.com/comptaclementine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_instagram.png\"\n alt=\"Instagram\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"text-align: right; vertical-align: middle; color: #6E6E71\" width=\"430\">\n <span>Télécharger l'app</span>\n <a href=\"https://apps.apple.com/fr/app/clementine/id1119493780\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_appstore.png\"\n alt=\"App Store\"\n style=\"width: 20px\"></a>\n <a href=\"https://play.google.com/store/apps/details?id=com.clementine.myclementine&hl=fr\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_playstore.png\"\n alt=\"Play Store\"\n style=\"width: 20px\"></a>\n </td>\n </tr>\n <tr>\n <td colspan=\"7\" style=\"padding-top: 12px\">\n <span style=\"text-align: left; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: left;\">\n Une question ? Découvrez votre <a href=\"https://www.clementine.fr/aide/\" style=\"color: #FF7E3C\">centre d'aide</a>\n </span>\n <span style=\"text-align: right; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: right;\">\n Jusqu’à 500€ avec notre <a href=\"https://www.clementine.fr/parrainage/?utm_source=signature&utm_medium=email&utm_campaign=signature&utm_content=cta\" style=\"color: #FF7E3C\">programme de parrainage</a>\n </span>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <% } else if(brandName === 'Pourcentage') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.pourcentage.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n </table>\n </td>\n </tr>\n <% } %>\n`;\n\nexport const signatureTemplate = `<table\nborder=\"0\"\ncellpadding=\"0\"\ncellspacing=\"0\"\nwidth=\"850\"\nclass=\"signatureClementine\">\n\n${logoClementine}\n\n<tr style=\"background: #F4F8FB\">\n ${avatar}\n <td\n class=\"infos\"\n style=\" padding: 20px 0 20px 30px;font-size: 17px; font-family: Arial; color:#000\"\n width=\"290\"\n colspan=\"2\">\n <table\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n width=\"290\">\n <tr>\n <td width=\"290\">\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <strong><span style=\"color:<%= primaryColor %>; font-weight: bold;\"><%= user?.firstname ?? '' %> <%= user?.lastname ?? '' %></span></strong>\n </p>\n\n <% if(roleSignature) { %>\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <span style=\"color: #6E6E71; font-weight: bold;\"><%= roleSignature %></span></p>\n </p>\n <% } %>\n </td>\n </tr>\n </table>\n\n <p style=\"margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2\"><!-- --></p><p style=\"margin:0; padding:0px 0 4px; color:#6E6E71;\"><%= (user.roles && user.roles.length && user.roles.map((r) => r.idRoles).includes(22)) || (user && user.isAll === true) ? 'Nos' : 'Mes' %> horaires :<br/><%= horaires %></p>\n </td>\n \n <td class=\"infos\" style=\"padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>\"\n width=\"370\">\n <p style=\"margin:0px 0; padding:2px 0; color:#6E6E71; padding-left: 10px\">\n <span style=\"float:right\">Standard : <%= standardPhoneSignature %></span><br/>\n <% if(phoneSignature && phoneSignature !== standardPhoneSignature) { %>\n <span style=\"float:right\">Ligne directe : <%- phoneSignature %></span><br/>\n <% } %>\n </p>\n \n <p style=\"margin:20px 60px 0 0; padding:0px 0 4px; color:#6E6E71; text-align: right; height: 54px;\">\n <% if(user.calendlyUrl) { %>\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rightArrow.png\"\n alt=\"Prenez rendez-vous ici !\">\n <% } %>\n </p>\n \n <p style=\"margin:0; padding:0px 0 4px; color:#6E6E71; text-align: right\"><a href=\"https://www.smileyourpla.net/\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png\"\n alt=\"Initiative Smile your planet\" height=\"36\"></a>\n <% if(user.calendlyUrl) { %>\n <a href=\"<%= user.calendlyUrl %>\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel.png\"\n alt=\"Demande de rdv téléphonique\"></a>\n <% } %>\n </p>\n </td>\n </tr>\n \n ${footer}\n\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:14px; line-height:18px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n Les informations contenues dans ce courrier électronique et ses pièces jointes sont confidentielles et couvertes par le secret professionnel. Si vous n'êtes pas le(s) destinataire(s) ou avez reçu ce courrier électronique par erreur, merci de bien vouloir supprimer l'email et d'en informer l'expéditeur dès que possible. Ce courrier électronique ne peut pas être divulgué, utilisé ou copié par quelqu'un d'autre que le(s) destinataire(s).\n </td>\n</tr>\n</table>`;"],"mappings":";;;;;AAAA,MAAMA,cAAc,GAAG;;;;;;;;;;;;aAYV;AAEb,MAAMC,MAAM,GAAG;;;;;;;;;;;;;UAaL;AAEV,MAAMC,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFd;AAEM,MAAMC,iBAAiB,GAAAC,OAAA,CAAjBD,iBAAiB,GAAG;;;;;;;EAO/BH,cAAc;;;IAGZC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DNC,MAAM;;;;;;;;;SASD"}
1
+ {"version":3,"file":"signature.js","names":["logoClementine","avatar","footer","signatureTemplate","exports"],"sources":["../../../../ts/utils/email/templates/signature.ts"],"sourcesContent":["const logoClementine = `<% if (brandName === 'Clementine') { %><tr>\n<td\ncolspan=\"3\"\nclass=\"logo\"\nstyle=\"\"\nwidth=\"850\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/logo_2022.png\"\n alt=\"Logo\"\n height=\"32\"\n style=\"padding-bottom: 10px;\">\n</td>\n</tr><% } %>`;\n\nconst avatar = `<% if (!forceRole && user?.avatar?.token) { %>\n <td\n class=\"avatar\"\n style=\"text-align:center; padding: 20px 0 20px 20px; position: relative;\"\n width=\"100\">\n <p style=\"padding: 20px;background-image: url('https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_quotes.png');background-size: 26%;background-position: 81% -3%;background-repeat: no-repeat;\">\n <img\n style=\"max-height: 90px;max-width: 90px; border-radius: 100%; padding-top: 10px\"\n alt=\"Avatar\"\n src=\"<%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>\"\n />\n </p>\n </td>\n <% } %>`;\n\nconst footer = `<% if(brandName === 'Clementine') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.clementine.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n <td style=\"padding:0 10px 0 0\" width=\"170\">\n <a href=\"mailto:<%= supportMail %>\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_support2.png\"\n style=\"vertical-align: text-top;\"\n width=\"17\"\n alt=\"Support technique\"> Support technique\n </a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.youtube.com/channel/UCVnCpcLdRwuYBLvAphHsvig/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_youtube.png\"\n alt=\"YouTube\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.linkedin.com/company/compta-cl%C3%A9mentine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_linkedin.png\"\n alt=\"LinkedIn\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.instagram.com/comptaclementine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_instagram.png\"\n alt=\"Instagram\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"text-align: right; vertical-align: middle; color: #6E6E71\" width=\"430\">\n <span>Télécharger l'app</span>\n <a href=\"https://apps.apple.com/fr/app/clementine/id1119493780\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_appstore.png\"\n alt=\"App Store\"\n style=\"width: 20px\"></a>\n <a href=\"https://play.google.com/store/apps/details?id=com.clementine.myclementine&hl=fr\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_playstore.png\"\n alt=\"Play Store\"\n style=\"width: 20px\"></a>\n </td>\n </tr>\n <tr>\n <td colspan=\"7\" style=\"padding-top: 12px\">\n <span style=\"text-align: left; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: left;\">\n Une question ? Découvrez votre <a href=\"https://www.clementine.fr/aide/\" style=\"color: #FF7E3C\">centre d'aide</a>\n </span>\n <span style=\"text-align: right; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: right;\">\n Jusqu’à 500€ avec notre <a href=\"https://www.clementine.fr/parrainage/?utm_source=signature&utm_medium=email&utm_campaign=signature&utm_content=cta\" style=\"color: #FF7E3C\">programme de parrainage</a>\n </span>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <% } else if(brandName === 'Pourcentage') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.pourcentage.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n </table>\n </td>\n </tr>\n <% } %>\n`;\n\nexport const signatureTemplate = `<table\nborder=\"0\"\ncellpadding=\"0\"\ncellspacing=\"0\"\nwidth=\"850\"\nclass=\"signatureClementine\">\n\n${logoClementine}\n\n<tr style=\"background: #F4F8FB\">\n ${avatar}\n <td\n class=\"infos\"\n style=\" padding: 20px 0 20px 30px;font-size: 17px; font-family: Arial; color:#000\"\n width=\"290\"\n colspan=\"2\">\n <table\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n width=\"290\">\n <tr>\n <td width=\"290\">\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <strong><span style=\"color:<%= primaryColor %>; font-weight: bold;\"><%= user?.firstname ?? '' %> <%= user?.lastname ?? '' %></span></strong>\n </p>\n\n <% if(roleSignature) { %>\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <span style=\"color: #6E6E71; font-weight: bold;\"><%= roleSignature %></span></p>\n </p>\n <% } %>\n </td>\n </tr>\n </table>\n\n <p style=\"margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2\"><!-- --></p><p style=\"margin:0; padding:0px 0 4px; color:#6E6E71;\">Nos horaires :<br/><%= horaires %></p>\n </td>\n \n <td class=\"infos\" style=\"padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>\"\n width=\"370\">\n <p style=\"margin:0px 0; padding:2px 0; color:#6E6E71; padding-left: 10px\">\n <span style=\"float:right\">Standard : <%= standardPhoneSignature %></span><br/>\n <% if(phoneSignature && phoneSignature !== standardPhoneSignature) { %>\n <span style=\"float:right\">Ligne directe : <%- phoneSignature %></span><br/>\n <% } %>\n </p>\n \n <p style=\"margin:20px 60px 0 0; padding:0px 0 4px; color:#6E6E71; text-align: right; height: 54px;\">\n <% if(user.calendlyUrl) { %>\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rightArrow.png\"\n alt=\"Prenez rendez-vous ici !\">\n <% } %>\n </p>\n \n <p style=\"margin:0; padding:0px 0 4px; color:#6E6E71; text-align: right\"><a href=\"https://www.smileyourpla.net/\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png\"\n alt=\"Initiative Smile your planet\" height=\"36\"></a>\n <% if(user.calendlyUrl) { %>\n <a href=\"<%= user.calendlyUrl %>\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel.png\"\n alt=\"Demande de rdv téléphonique\"></a>\n <% } %>\n </p>\n </td>\n </tr>\n \n ${footer}\n\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:14px; line-height:18px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n Les informations contenues dans ce courrier électronique et ses pièces jointes sont confidentielles et couvertes par le secret professionnel. Si vous n'êtes pas le(s) destinataire(s) ou avez reçu ce courrier électronique par erreur, merci de bien vouloir supprimer l'email et d'en informer l'expéditeur dès que possible. Ce courrier électronique ne peut pas être divulgué, utilisé ou copié par quelqu'un d'autre que le(s) destinataire(s).\n </td>\n</tr>\n</table>`;"],"mappings":";;;;;AAAA,MAAMA,cAAc,GAAG;;;;;;;;;;;;aAYV;AAEb,MAAMC,MAAM,GAAG;;;;;;;;;;;;;UAaL;AAEV,MAAMC,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFd;AAEM,MAAMC,iBAAiB,GAAAC,OAAA,CAAjBD,iBAAiB,GAAG;;;;;;;EAO/BH,cAAc;;;IAGZC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DNC,MAAM;;;;;;;;;SASD"}
package/js/utils/email.js CHANGED
@@ -84,6 +84,14 @@ function getRoleSignature(user) {
84
84
  return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;
85
85
  }
86
86
  function getHoraires(user) {
87
+ var _a;
88
+ const offices = (0, _brands.getBrandConfig)({
89
+ nodeEnv: 'Pourcentage',
90
+ objectWaited: 'offices'
91
+ });
92
+ if ((0, _brands.isItThisEnv)('Pourcentage') && ((_a = offices === null || offices === void 0 ? void 0 : offices.NICE) === null || _a === void 0 ? void 0 : _a.id) === user.idOffice) {
93
+ return 'Du lundi au vendredi de 8h à 19h';
94
+ }
87
95
  return 'Du lundi au vendredi de 9h à 19h';
88
96
  // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';
89
97
  // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","names":["generateSignature","_Role","require","_brands","_signature","ejs","intersection","arr","reduce","a","b","filter","c","includes","getRoleSignature","user","positionLabel","isStagiaireOrAlternant","roles","map","r","id","Role","INTERN","ALTERNATE","isManager","MANAGER","isSocial","SOCIAL","isJuridic","JURIDIC","isFacturation","FACTURATION","isExpert","EXPERT_ACCOUNTANT","isCS","CUSTOMER_SUCCESS","isSales","COMMERCIAL","isAdmin","ADMIN","isFront","FRONT_OFFICE","FRONT_OFFICE_EXPRESS","length","idCivility","getHoraires","getMailSignature","idTypeBrand","informatiqueMail","getBrandConfig","Object","assign","objectWaited","bonjourMail","email","getPhoneSignature","phone","replace","params","forceRole","otherParams","__rest","hostS3","brandName","socialMail","supportMail","juridiqueMail","facturationMail","primaryColor","standardPhoneSignature","juridiquePhoneSignature","socialPhoneSignature","roleSignature","mailSignature","phoneSignature","horaires","firstname","isAll","render","signatureTemplate"],"sources":["../../ts/utils/email.ts"],"sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\n\nconst ejs = require('ejs');\n\nfunction intersection<T>(arr: [T[], T[]]) { return arr.reduce((a: T[], b: T[]) => a.filter((c) => b.includes(c)), []); }\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isFront = !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n}\n\nfunction getHoraires(user:any) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;'); }\n return false;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, ...otherParams\n } = params;\n let {\n user,\n } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | boolean;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, false, 'Du lundi au vendredi de 9h à 19h'];\n\n if (forceRole === 'social') { // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') { // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user) { // Signature Clementine\n user = {\n firstname: `L'équipe ${brandName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n brandName,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature,\n standardPhoneSignature,\n horaires,\n primaryColor,\n supportMail,\n });\n}"],"mappings":"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"}
1
+ {"version":3,"file":"email.js","names":["generateSignature","_Role","require","_brands","_signature","ejs","intersection","arr","reduce","a","b","filter","c","includes","getRoleSignature","user","positionLabel","isStagiaireOrAlternant","roles","map","r","id","Role","INTERN","ALTERNATE","isManager","MANAGER","isSocial","SOCIAL","isJuridic","JURIDIC","isFacturation","FACTURATION","isExpert","EXPERT_ACCOUNTANT","isCS","CUSTOMER_SUCCESS","isSales","COMMERCIAL","isAdmin","ADMIN","isFront","FRONT_OFFICE","FRONT_OFFICE_EXPRESS","length","idCivility","getHoraires","offices","getBrandConfig","nodeEnv","objectWaited","isItThisEnv","_a","NICE","idOffice","getMailSignature","idTypeBrand","informatiqueMail","Object","assign","bonjourMail","email","getPhoneSignature","phone","replace","params","forceRole","otherParams","__rest","hostS3","brandName","socialMail","supportMail","juridiqueMail","facturationMail","primaryColor","standardPhoneSignature","juridiquePhoneSignature","socialPhoneSignature","roleSignature","mailSignature","phoneSignature","horaires","firstname","isAll","render","signatureTemplate"],"sources":["../../ts/utils/email.ts"],"sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { getBrandConfig, isItThisEnv } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\n\nconst ejs = require('ejs');\ntype offices = {\n LAXOU: {\n id: number,\n name: string,\n },\n PARIS: {\n id: number,\n name: string,\n },\n MARSEILLE: {\n id: number,\n name: string,\n },\n EPINAL: {\n id: number,\n name: string,\n },\n HOME_OFFICE: {\n id: number,\n name: string,\n },\n NICE: {\n id: number,\n name: string,\n },\n};\n\n\nfunction intersection<T>(arr: [T[], T[]]) { return arr.reduce((a: T[], b: T[]) => a.filter((c) => b.includes(c)), []); }\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isFront = !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n}\n\nfunction getHoraires(user:any) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n const offices = getBrandConfig({\n nodeEnv: 'Pourcentage',\n objectWaited: 'offices',\n }) as unknown as offices; \n\n if (isItThisEnv('Pourcentage') && offices?.NICE?.id === user.idOffice) {\n return 'Du lundi au vendredi de 8h à 19h';\n }\n \n return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;'); }\n return false;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, ...otherParams\n } = params;\n let {\n user,\n } = otherParams;\n \n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | boolean;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, false, 'Du lundi au vendredi de 9h à 19h'];\n\n if (forceRole === 'social') { // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') { // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user) { // Signature Clementine\n user = {\n firstname: `L'équipe ${brandName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n brandName,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature,\n standardPhoneSignature,\n horaires,\n primaryColor,\n supportMail,\n });\n}"],"mappings":"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"}
package/js/utils/phone.js CHANGED
@@ -7,6 +7,7 @@ exports.formatPhoneNumberToE164 = formatPhoneNumberToE164;
7
7
  exports.getPhoneNumberWithoutPrefix = getPhoneNumberWithoutPrefix;
8
8
  exports.countSegmentsFromMessage = countSegmentsFromMessage;
9
9
  exports.getPhoneNumberFromRoles = getPhoneNumberFromRoles;
10
+ exports.formatPhoneNumberToNational = formatPhoneNumberToNational;
10
11
  var _smsSegmentsCalculator = require("sms-segments-calculator");
11
12
  var _Phone = require("../types/Enum/Phone");
12
13
  var _Role = require("../types/Enum/Role");
@@ -61,4 +62,12 @@ function getPhoneNumberFromRoles(roles, attribute = 'phoneNumber') {
61
62
  }
62
63
  return null;
63
64
  }
65
+ function formatPhoneNumberToNational(phoneNumber) {
66
+ const phoneWithoutSpace = phoneNumber.replace(/ /g, '');
67
+ if (phoneWithoutSpace === null || phoneWithoutSpace === void 0 ? void 0 : phoneWithoutSpace.startsWith('+33')) {
68
+ return phoneWithoutSpace.replace('+33', '0');
69
+ }
70
+ // Fonction à mettre à jour en fonction des cas de notre bdd
71
+ return phoneWithoutSpace;
72
+ }
64
73
  //# sourceMappingURL=phone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone.js","names":["formatPhoneNumberToE164","exports","getPhoneNumberWithoutPrefix","countSegmentsFromMessage","getPhoneNumberFromRoles","_smsSegmentsCalculator","require","_Phone","_Role","_RoleDetail","phoneNumber","prefix","charAt","numberInt","replace","length","substring","number","Object","keys","PhonePrefix","map","index","forEach","message","SegmentedMessage","segmentsCount","roles","attribute","some","role","Role","FRONT_OFFICE","EXPERT_ACCOUNTANT","includes","RoleDetail","FRONT_OFFICE_EXPRESS","COMMERCIAL","FACTURATION","CUSTOMER_SUCCESS","JURIDIC","JURIDICAL_SUPPORT","SOCIAL"],"sources":["../../ts/utils/phone.ts"],"sourcesContent":["import { SegmentedMessage } from 'sms-segments-calculator';\nimport { PhonePrefix } from '../types/Enum/Phone';\nimport { Role } from '../types/Enum/Role';\nimport { RoleDetail } from '../types/Enum/RoleDetail';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+' && phoneNumber.charAt(0) === '0') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix).map((index) => PhonePrefix[index].prefix).forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return new SegmentedMessage(message, 'auto').segmentsCount;\n}\n\nexport function getPhoneNumberFromRoles(roles: number[], attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber'): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}"],"mappings":"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"}
1
+ {"version":3,"file":"phone.js","names":["formatPhoneNumberToE164","exports","getPhoneNumberWithoutPrefix","countSegmentsFromMessage","getPhoneNumberFromRoles","formatPhoneNumberToNational","_smsSegmentsCalculator","require","_Phone","_Role","_RoleDetail","phoneNumber","prefix","charAt","numberInt","replace","length","substring","number","Object","keys","PhonePrefix","map","index","forEach","message","SegmentedMessage","segmentsCount","roles","attribute","some","role","Role","FRONT_OFFICE","EXPERT_ACCOUNTANT","includes","RoleDetail","FRONT_OFFICE_EXPRESS","COMMERCIAL","FACTURATION","CUSTOMER_SUCCESS","JURIDIC","JURIDICAL_SUPPORT","SOCIAL","phoneWithoutSpace","startsWith"],"sources":["../../ts/utils/phone.ts"],"sourcesContent":["import { SegmentedMessage } from 'sms-segments-calculator';\nimport { PhonePrefix } from '../types/Enum/Phone';\nimport { Role } from '../types/Enum/Role';\nimport { RoleDetail } from '../types/Enum/RoleDetail';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+' && phoneNumber.charAt(0) === '0') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix).map((index) => PhonePrefix[index].prefix).forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return new SegmentedMessage(message, 'auto').segmentsCount;\n}\n\nexport function getPhoneNumberFromRoles(roles: number[], attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber'): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n\n const phoneWithoutSpace = phoneNumber.replace(/ /g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.128",
3
+ "version": "1.1.130",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "js/index.js",
@@ -0,0 +1,21 @@
1
+ import { CreateDasRegistration, DeclareDasRegistration, QueryDasTransaction, ReadFormattedAccountingTransaction, ReadRegistration } from '../../types';
2
+ import { Resource } from '../Resource';
3
+
4
+ export class Das extends Resource {
5
+ //
6
+ getAllTransactions(idSociety: number, query: QueryDasTransaction): Promise<ReadFormattedAccountingTransaction[]> {
7
+ return this.axios.$get(`/societies/${idSociety}/das/transactions`, { params: query });
8
+ }
9
+
10
+ createRegistration(idSociety: number, payload: CreateDasRegistration): Promise<ReadRegistration> {
11
+ return this.axios.$post(`/societies/${idSociety}/das`, payload);
12
+ }
13
+
14
+ declare(idSociety: number, idRegistration: number, payload: DeclareDasRegistration): Promise<ReadRegistration> {
15
+ return this.axios.$post(`/societies/${idSociety}/das/${idRegistration}/declare`, payload);
16
+ }
17
+
18
+ preview(idSociety: number, payload: DeclareDasRegistration): Promise<string> {
19
+ return this.axios.$post(`/societies/${idSociety}/das/preview`, payload);
20
+ }
21
+ }
@@ -1,13 +1,20 @@
1
1
  import { CancelToken } from 'axios';
2
2
  import { Resource } from '../Resource';
3
3
  import {
4
- BasePaginate, CreateRebilling, IBillingHistory, QueryPaginatedBillingHistory, QueryPaginatedSocietyWithFacturation,
4
+ BasePaginate, CreateRebilling, IBillingHistory, QueryPaginatedBillingHistory, QueryPaginatedRebilling, QueryPaginatedSocietyWithFacturation,
5
5
  } from '../../types';
6
6
  import { Society } from './Society';
7
7
 
8
8
  export class Facturation extends Resource {
9
- getPaginated(params: QueryPaginatedSocietyWithFacturation, cancelToken?: CancelToken, signal?: AbortSignal): Promise<BasePaginate<Society>> {
10
- return this.axios.$get('/facturation/paginated', {
9
+ getBillingPaginated(params: QueryPaginatedSocietyWithFacturation, cancelToken?: CancelToken, signal?: AbortSignal): Promise<BasePaginate<Society>> {
10
+ return this.axios.$get('/facturation/paginated-billing', {
11
+ ...(cancelToken ? { cancelToken } : {}),
12
+ ...(signal ? { signal } : {}),
13
+ params,
14
+ });
15
+ }
16
+ getRebillingPaginated(params: QueryPaginatedRebilling, cancelToken?: CancelToken, signal?: AbortSignal): Promise<BasePaginate<Society>> {
17
+ return this.axios.$get('/facturation/paginated-rebilling', {
11
18
  ...(cancelToken ? { cancelToken } : {}),
12
19
  ...(signal ? { signal } : {}),
13
20
  params,
@@ -2,6 +2,7 @@ export enum RedactorDesignation {
2
2
  TVA = 'CEC_EDI_TVA',
3
3
  TDFC = 'CEC_EDI_TDFC',
4
4
  PAYMENT = 'CEC_EDI_PAYE',
5
+ PART = 'ENT_EDI_PART',
5
6
  }
6
7
 
7
8
  export enum Rof {
@@ -1,4 +1,4 @@
1
- import { PrestationType, PrestationDetail } from './PrestationType';
1
+ import { PrestationType } from './PrestationType';
2
2
 
3
3
  export const BrandLegalstart = [
4
4
  {
@@ -111,35 +111,35 @@ export const BrandLegalstart = [
111
111
  name: 'page_intro',
112
112
  needBgImage: true,
113
113
  versionable: false,
114
- idPrestationType: [PrestationDetail.COMPTA_PRO_COMPTASTART, PrestationDetail.COMPTA_PRO_COMPTASTART_EXPRESS],
114
+ idPrestationType: [PrestationType.COMPTA_PRO_COMPTASTART, PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS],
115
115
  },
116
116
  {
117
117
  label: 'Page chiffres',
118
118
  name: 'page_numbers',
119
119
  needBgImage: true,
120
120
  versionable: false,
121
- idPrestationType: [PrestationDetail.COMPTA_PRO_COMPTASTART, PrestationDetail.COMPTA_PRO_COMPTASTART_EXPRESS],
121
+ idPrestationType: [PrestationType.COMPTA_PRO_COMPTASTART, PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS],
122
122
  },
123
123
  {
124
124
  label: 'Page simplifié',
125
125
  name: 'page_simplified',
126
126
  needBgImage: true,
127
127
  versionable: false,
128
- idPrestationType: [PrestationDetail.COMPTA_PRO_COMPTASTART, PrestationDetail.COMPTA_PRO_COMPTASTART_EXPRESS],
128
+ idPrestationType: [PrestationType.COMPTA_PRO_COMPTASTART, PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS],
129
129
  },
130
130
  {
131
131
  label: 'Détail de la lettre de mission',
132
132
  name: 'page_detail_ldm',
133
133
  needBgImage: false,
134
134
  versionable: false,
135
- idPrestationType: [PrestationDetail.COMPTA_PRO_COMPTASTART], // Prestations non express
135
+ idPrestationType: [PrestationType.COMPTA_PRO_COMPTASTART], // Prestations non express
136
136
  },
137
137
  {
138
138
  label: 'Détail de la lettre de mission (express)',
139
139
  name: 'page_detail_ldm_back',
140
140
  needBgImage: false,
141
141
  versionable: false,
142
- idPrestationType: [PrestationDetail.COMPTA_PRO_COMPTASTART_EXPRESS], // Prestations express
142
+ idPrestationType: [PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS], // Prestations express
143
143
  },
144
144
  // pour les pages dynamiques
145
145
  {
@@ -17,4 +17,5 @@ export enum CerfaType {
17
17
  CERFA_2571_2023_B = 16,
18
18
  CERFA_2571_2023_C = 17,
19
19
  CERFA_2571_2023_D = 18,
20
+ CERFA_DAS2_2023 = 19,
20
21
  }