@silexpert/core 2.0.94 → 2.0.97-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/resources/Account.d.ts +1 -0
- package/dist/api/resources/Account.d.ts.map +1 -1
- package/dist/api/resources/Account.js +5 -1
- package/dist/api/resources/Account.js.map +1 -1
- package/dist/api/resources/Registration.d.ts +2 -1
- package/dist/api/resources/Registration.d.ts.map +1 -1
- package/dist/api/resources/Registration.js +3 -0
- package/dist/api/resources/Registration.js.map +1 -1
- package/dist/api/resources/Society.d.ts +2 -1
- package/dist/api/resources/Society.d.ts.map +1 -1
- package/dist/api/resources/Society.js +3 -0
- package/dist/api/resources/Society.js.map +1 -1
- package/dist/types/Enum/EInvoicingStatusCode.js +1 -1
- package/dist/types/Enum/EInvoicingStatusCode.js.map +1 -1
- package/dist/types/Interface/api/commercialManagement/Read.d.ts +1 -1
- package/dist/types/Interface/api/commercialManagement/Read.d.ts.map +1 -1
- package/dist/types/Interface/api/commercialManagement/Read.js.map +1 -1
- package/dist/types/Interface/api/society/CreateTestSociety.d.ts +45 -0
- package/dist/types/Interface/api/society/CreateTestSociety.d.ts.map +1 -0
- package/dist/types/Interface/api/society/CreateTestSociety.js +137 -0
- package/dist/types/Interface/api/society/CreateTestSociety.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/acdVat.js +4 -4
- package/dist/utils/acdVat.js.map +1 -1
- package/dist/utils/commercialManagement/templates/body.d.ts.map +1 -1
- package/dist/utils/commercialManagement/templates/body.js +8 -7
- package/dist/utils/commercialManagement/templates/body.js.map +1 -1
- package/dist/utils/email.js +2 -2
- package/dist/utils/email.js.map +1 -1
- package/dist/utils/tests/acdVat.spec.js +2 -2
- package/dist/utils/tests/acdVat.spec.js.map +1 -1
- package/dist/utils/vat/3517/century26.d.ts.map +1 -1
- package/dist/utils/vat/3517/century26.js +11 -8
- package/dist/utils/vat/3517/century26.js.map +1 -1
- package/dist/utils/vat/registration.d.ts.map +1 -1
- package/dist/utils/vat/registration.js +23 -5
- package/dist/utils/vat/registration.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/Account.ts +5 -1
- package/ts/api/resources/Registration.ts +5 -0
- package/ts/api/resources/Society.ts +6 -0
- package/ts/types/Enum/EInvoicingStatusCode.ts +1 -1
- package/ts/types/Interface/api/commercialManagement/Read.ts +1 -1
- package/ts/types/Interface/api/society/CreateTestSociety.ts +91 -0
- package/ts/types/index.ts +1 -0
- package/ts/utils/acdVat.ts +4 -4
- package/ts/utils/commercialManagement/templates/body.ts +8 -7
- package/ts/utils/email.ts +2 -2
- package/ts/utils/tests/acdVat.spec.ts +2 -2
- package/ts/utils/vat/3517/century26.ts +13 -9
- package/ts/utils/vat/registration.ts +24 -6
package/dist/utils/acdVat.js
CHANGED
|
@@ -40,11 +40,11 @@ export function acdVatCodeToIdVat(acdVatCode) {
|
|
|
40
40
|
case AcdVatCode.REDUIT_2_1:
|
|
41
41
|
return Vat.TX_2_1.id;
|
|
42
42
|
case AcdVatCode.INTRACOM:
|
|
43
|
-
// L'information de taux est perdue dans le code ACD, on retombe sur l'intracom a
|
|
44
|
-
return Vat.
|
|
43
|
+
// L'information de taux est perdue dans le code ACD, on retombe sur l'intracom a 0% par defaut.
|
|
44
|
+
return Vat.INTRACOM_WITHOUT_TAXE.id;
|
|
45
45
|
case AcdVatCode.AUTOL:
|
|
46
|
-
// L'information de taux est perdue dans le code ACD, on retombe sur l'importation a
|
|
47
|
-
return Vat.
|
|
46
|
+
// L'information de taux est perdue dans le code ACD, on retombe sur l'importation a 0% par defaut.
|
|
47
|
+
return Vat.IMPORTATION_WITHOUT_TAXE.id;
|
|
48
48
|
case AcdVatCode.NON_AFFECTE:
|
|
49
49
|
case AcdVatCode.ONI:
|
|
50
50
|
case AcdVatCode.SUR_IMMOBILISATION:
|
package/dist/utils/acdVat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acdVat.js","sourceRoot":"","sources":["../../ts/utils/acdVat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IAE7E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC,UAAU,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,UAAU,CAAC,UAAU,CAAC;QAC/B,KAAK,EAAE;YACL,OAAO,UAAU,CAAC,SAAS,CAAC;QAC9B,KAAK,EAAE;YACL,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC;YACJ,OAAO,IAAI,CAAC;QACd;YACE,OAAO,UAAU,CAAC,WAAW,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,SAAS;YACvB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,KAAK,UAAU,CAAC,QAAQ;YACtB,
|
|
1
|
+
{"version":3,"file":"acdVat.js","sourceRoot":"","sources":["../../ts/utils/acdVat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IAE7E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC,UAAU,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,UAAU,CAAC,UAAU,CAAC;QAC/B,KAAK,EAAE;YACL,OAAO,UAAU,CAAC,SAAS,CAAC;QAC9B,KAAK,EAAE;YACL,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC;YACJ,OAAO,IAAI,CAAC;QACd;YACE,OAAO,UAAU,CAAC,WAAW,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,SAAS;YACvB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,KAAK,UAAU,CAAC,QAAQ;YACtB,gGAAgG;YAChG,OAAO,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,KAAK,UAAU,CAAC,KAAK;YACnB,mGAAmG;YACnG,OAAO,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACzC,KAAK,UAAU,CAAC,WAAW,CAAC;QAC5B,KAAK,UAAU,CAAC,GAAG,CAAC;QACpB,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC","sourcesContent":["import { Vat } from '../types/Enum/Vat.js';\nimport { AcdVatCode } from '../types/Interface/api/acd/Vat.js';\n\nexport function idVatToAcdVatCode(idVat?: number | null): AcdVatCode | null {\n if (!idVat) {\n return null;\n }\n\n const vat = Object.values(Vat).find((currentVat) => currentVat.id === idVat);\n\n if (!vat) {\n return AcdVatCode.NON_AFFECTE;\n }\n\n if (vat.isVatIntracom) {\n return AcdVatCode.INTRACOM;\n }\n\n if (vat.isVatImportation) {\n return AcdVatCode.AUTOL;\n }\n\n switch (vat.value) {\n case 2.1:\n return AcdVatCode.REDUIT_2_1;\n case 5.5:\n return AcdVatCode.REDUIT_5_5;\n case 10:\n return AcdVatCode.REDUIT_10;\n case 20:\n return AcdVatCode.NORMAL;\n case 0:\n return null;\n default:\n return AcdVatCode.NON_AFFECTE;\n }\n}\n\nexport function acdVatCodeToIdVat(acdVatCode?: AcdVatCode | null): number | null {\n switch (acdVatCode) {\n case AcdVatCode.NORMAL:\n return Vat.TX_20.id;\n case AcdVatCode.REDUIT_10:\n return Vat.TX_10.id;\n case AcdVatCode.REDUIT_5_5:\n return Vat.TX_5_5.id;\n case AcdVatCode.REDUIT_2_1:\n return Vat.TX_2_1.id;\n case AcdVatCode.INTRACOM:\n // L'information de taux est perdue dans le code ACD, on retombe sur l'intracom a 0% par defaut.\n return Vat.INTRACOM_WITHOUT_TAXE.id;\n case AcdVatCode.AUTOL:\n // L'information de taux est perdue dans le code ACD, on retombe sur l'importation a 0% par defaut.\n return Vat.IMPORTATION_WITHOUT_TAXE.id;\n case AcdVatCode.NON_AFFECTE:\n case AcdVatCode.ONI:\n case AcdVatCode.SUR_IMMOBILISATION:\n case AcdVatCode.SPECIAL:\n case null:\n case undefined:\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAoEA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAoEA,eAAO,MAAM,YAAY,QAkEjB,CAAC"}
|
|
@@ -100,13 +100,14 @@ export const bodyTemplate = `<html class="pdf-content">
|
|
|
100
100
|
<% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>
|
|
101
101
|
<div class="row mt-30 space-between" style="page-break-inside: avoid !important;">
|
|
102
102
|
<div>
|
|
103
|
-
<% if (
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
<% } %>
|
|
103
|
+
<% if (paymentType) { %>
|
|
104
|
+
<%= languageTemplate.template.common.options.paymentType %> : <%= paymentType %><br/>
|
|
105
|
+
<% } %>
|
|
106
|
+
<% if (!paymentType || !['Carte bancaire', 'Espèces', 'Chèque'].includes(paymentType)) { %>
|
|
107
|
+
<% if (settings) { %>
|
|
108
|
+
<% if(settings.bank) { %><%= languageTemplate.template.common.options.bank %> : <%= settings.bank %><br/><% } %>
|
|
109
|
+
<% if(settings.iban) { %>IBAN : <%= settings.iban %><br/><% } %>
|
|
110
|
+
<% if(settings.bic) { %>BIC : <%= settings.bic %><% } %>
|
|
110
111
|
<% } %>
|
|
111
112
|
<% } %>
|
|
112
113
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,cAAc,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAE1D,MAAM,cAAc,GAAG;;;YAGX,cAAc,CAAC,IAAI;YACnB,cAAc,CAAC,OAAO;;;4CAGU,cAAc,CAAC,OAAO;UACxD,cAAc,CAAC,IAAI;;;;;;;yCAOY,mBAAmB,CAAC,GAAG;;gDAEhB,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,OAAO;;gDAE3B,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,OAAO;;;;;mDAKxB,mBAAmB,CAAC,OAAO;;oBAE1D,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;;;;;;;2DAOd,mBAAmB,CAAC,OAAO;;;;kDAIpC,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;;;;;;;;;;;;;;;;;;SAkB9F,CAAC;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG;;;;IAIxB,cAAc;;;;;;6BAMW,cAAc,CAAC,QAAQ;;;;;YAKxC,cAAc,CAAC,iBAAiB;;;;;;;;;;UAUlC,cAAc,CAAC,oBAAoB;;sCAEP,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;8DAC7B,cAAc,CAAC,aAAa
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,cAAc,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAE1D,MAAM,cAAc,GAAG;;;YAGX,cAAc,CAAC,IAAI;YACnB,cAAc,CAAC,OAAO;;;4CAGU,cAAc,CAAC,OAAO;UACxD,cAAc,CAAC,IAAI;;;;;;;yCAOY,mBAAmB,CAAC,GAAG;;gDAEhB,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,OAAO;;gDAE3B,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,KAAK;;gDAEzB,mBAAmB,CAAC,OAAO;;;;;mDAKxB,mBAAmB,CAAC,OAAO;;oBAE1D,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;;;;;;;2DAOd,mBAAmB,CAAC,OAAO;;;;kDAIpC,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;;;;;;;;;;;;;;;;;;SAkB9F,CAAC;AAEV,MAAM,CAAC,MAAM,YAAY,GAAG;;;;IAIxB,cAAc;;;;;;6BAMW,cAAc,CAAC,QAAQ;;;;;YAKxC,cAAc,CAAC,iBAAiB;;;;;;;;;;UAUlC,cAAc,CAAC,oBAAoB;;sCAEP,mBAAmB,CAAC,GAAG,KAAK,mBAAmB,CAAC,KAAK;8DAC7B,cAAc,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;wEAsBlB,mBAAmB,CAAC,KAAK,iCAAiC,mBAAmB,CAAC,GAAG;;;;;;;;;;;QAWjJ,cAAc,CAAC,KAAK;;;QAGpB,cAAc,CAAC,YAAY;;QAE3B,CAAC","sourcesContent":["import { EstimateInvoiceType } from '../../../types/Enum/EstimateInvoice.js';\nimport { CommercialDocumentCommonHTML } from './common.js';\n\nconst commonTemplate = new CommercialDocumentCommonHTML();\n\nconst headOfDocument = `<div class=\"row space-between\">\n <% if (settings && settings.logoAlignment === 'left') { %>\n <div class=\"society-informations\">\n ${commonTemplate.logo}\n ${commonTemplate.company}\n </div>\n <% } else { %>\n <div class=\"society-informations\">${commonTemplate.company}</div>\n ${commonTemplate.logo}\n <% } %>\n </div>\n\n <div class=\"row space-between items-end\" style=\"margin-top: 10px\">\n <div style=\"width: 45%; margin-top: auto;\">\n <span class=\"document-reference\">\n <% if (idEstimateInvoiceType === ${EstimateInvoiceType.BON}) { %>\n <%= languageTemplate.template.orderForm.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS}) { %>\n <%= languageTemplate.template.estimate.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.FACTURE}) { %>\n <%= languageTemplate.template.invoice.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.AVOIR}) { %>\n <%= languageTemplate.template.asset.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.RESTE}) { %>\n <%= languageTemplate.template.remainder.headers.title %>\n <% } else if (idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) { %>\n <%= languageTemplate.template.deposit.headers.title %>\n <% } %>\n <%= reference %></span><br/>\n <% if(emissionDate) {%><span class=\"document-emission-date\"> <%= languageTemplate.template.common.headers.emissionDate %> : <%= emissionDateFormatted %></span><br/><% } %>\n <% if(dueDate && idEstimateInvoiceType !== ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\">\n <% if ([${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) {%>\n <%= languageTemplate.template.estimate.headers.dueDate %> :\n <% } else { %>\n <%= languageTemplate.template.invoice.headers.dueDate %> :\n <% } %>\n <%= dueDateFormatted %></span>\n <% } %>\n <% if (expirationDate && idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE}) {%>\n <span class=\"document-due-date\"><%= languageTemplate.template.deposit.headers.expirationDate %> : : <%= expirationDateFormatted %></span>\n <% } %>\n <% if(termsOfPayment) { %>\n <br/><p style=\"margin-bottom: 0px;\"><%= [${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType) ? languageTemplate.template.estimate.headers.termsOfPayment : languageTemplate.template.invoice.headers.termsOfPayment %> : <%= termsOfPayment %></p>\n <% } %>\n </div>\n <div style=\"width: 40%; margin-top: auto;\">\n <p></p>\n <% if (thirdParty) { %>\n <div class=\"<%= settings && settings.isCoordinatesFrameDisplayed ? 'customer-border' : '' %>\">\n <% if(thirdParty.company) {%><b><%= thirdParty.company %></b><br/><% } %>\n <% if(thirdParty.fullname) {%><%= thirdParty.fullname %><br/><% } %>\n <% if(thirdParty.address) {%><%= thirdParty.address %><br/><% } %>\n <% if(thirdParty.addressComplement) {%><%= thirdParty.addressComplement %><br/><% } %>\n <% if(thirdParty.zipCode) {%><%= thirdParty.zipCode + ' ' %><% } %><%= thirdParty.city %> <%= thirdParty.country %><br/>\n <% if(thirdParty.deliveryAddress && thirdParty.deliveryCity && thirdParty.deliveryZipCode) {%>Adresse de livraison : <%= thirdParty.deliveryAddress %><% if(thirdParty.deliveryAddressComplement) {%> <%= thirdParty.deliveryAddressComplement %><% } %> <%= thirdParty.deliveryZipCode %> <%= thirdParty.deliveryCity %> <%= thirdParty.deliveryCountry %><br/><% } %>\n <% if(thirdParty.nSiret) {%>SIRET : <%= thirdParty.nSiret %><br/><% } %>\n <% if(thirdParty.nTva) {%>N° TVA : <%= thirdParty.nTva %><% } %>\n </div>\n <% } %>\n </div>\n </div>`;\n\nexport const bodyTemplate = `<html class=\"pdf-content\">\n\n <body>\n\n ${headOfDocument}\n\n <div class=\"row mt-25\">\n <% if (title) { %><%=languageTemplate.template.common.headers.title %> : <%= title %><% } %>\n </div>\n\n <div class=\"row mt-10\">${commonTemplate.products}</div>\n\n <div class=\"row space-between mt-20\">\n <div style=\"width: 55%;\">\n <% if (disableVat !== true && vats.length) { %>\n ${commonTemplate.vatRecapitulation}\n <% } %>\n <% if (vatMention && vatMention !== 'TVA: Non concerné') { %><div class=\"vat-mention <%= disableVat !== true ? 'mt-20' : ''%>\"><%= vatMention %></div><% } %>\n <% if (comment) { %>\n <p class=\"mt-20\"><%= languageTemplate.template.common.options.comment %> :<br/>\n <%- comment %>\n <% } %>\n </div>\n\n <div>\n ${commonTemplate.amountRecapitulation}\n\n <% if (isStripeAllowed && ![${EstimateInvoiceType.BON}, ${EstimateInvoiceType.DEVIS}].includes(idEstimateInvoiceType)) { %>\n <div style=\"text-align: right; margin-top: 30px;\">${commonTemplate.paymentButton}</div>\n <% } %>\n </div>\n \n </div>\n\n <% if ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <div class=\"row mt-30 space-between\" style=\"page-break-inside: avoid !important;\">\n <div>\n <% if (paymentType) { %>\n <%= languageTemplate.template.common.options.paymentType %> : <%= paymentType %><br/>\n <% } %>\n <% if (!paymentType || !['Carte bancaire', 'Espèces', 'Chèque'].includes(paymentType)) { %>\n <% if (settings) { %>\n <% if(settings.bank) { %><%= languageTemplate.template.common.options.bank %> : <%= settings.bank %><br/><% } %>\n <% if(settings.iban) { %>IBAN : <%= settings.iban %><br/><% } %>\n <% if(settings.bic) { %>BIC : <%= settings.bic %><% } %>\n <% } %>\n <% } %>\n </div>\n </div>\n <% } %>\n <% if (settings && settings.bonPour && (idEstimateInvoiceType === ${EstimateInvoiceType.DEVIS} || idEstimateInvoiceType === ${EstimateInvoiceType.BON})) { %>\n <br/><%= languageTemplate.template.common.options.approval %> : <br/><br/><br/><br/>\n <% } %>\n\n <% if (cgv && (settings && settings.invoiceCgv)) { %>\n <br><div style=\"page-break-after:always;\"></div>\n <div id=\"WYSIWYG\"><%- cgv %></div>\n <% } %>\n </body>\n\n <style>\n ${commonTemplate.style}\n </style>\n <style>\n ${commonTemplate.styleWYSIWYG}\n </style>\n</html>`;\n"]}
|
package/dist/utils/email.js
CHANGED
|
@@ -359,8 +359,8 @@ export function generateSignature(params) {
|
|
|
359
359
|
user,
|
|
360
360
|
roleSignature,
|
|
361
361
|
mailSignature,
|
|
362
|
-
phoneSignature: phoneSignature ? phoneSignature.replace(/\s+/gm, ' ') : null,
|
|
363
|
-
standardPhoneSignature: standardPhoneSignature.replace(/\s+/gm, ' '),
|
|
362
|
+
phoneSignature: commercialName !== 'Comptalib' && phoneSignature ? phoneSignature.replace(/\s+/gm, ' ') : null,
|
|
363
|
+
standardPhoneSignature: commercialName !== 'Comptalib' ? standardPhoneSignature.replace(/\s+/gm, ' ') : null,
|
|
364
364
|
horaires,
|
|
365
365
|
primaryColor,
|
|
366
366
|
supportMail,
|
package/dist/utils/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["import ejs from 'ejs';\nimport { Role } from '../types/Enum/Role.js';\nimport { TimeSlot } from '../types/Enum/TimeSlot.js';\nimport { IUser } from '../types/Interface/models/IUser.js';\nimport { getBrand, getBrandConfig } from './brands.js';\nimport { signatureTemplate } from './email/templates/signature.js';\nimport { intersection } from './noLodash.js';\nimport { IRole } from '../types/Interface/models/IRole.js';\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\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 // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n if (user?.roles?.map((r: IRole) => r.id).includes(Role.COMMERCIAL)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n\n return 'Du lundi au jeudi de 9h à 17h<br/>Le vendredi de 9h à 12h';\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 à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' ');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const brand = getBrand({ idTypeBrand });\n\n const hostS3 = brand.urlS3;\n\n const brandName = brand.name;\n const brandCity = brand.companyInformation?.city;\n const brandPostalAddress = brand.companyInformation?.postalAddress || '';\n const commercialName = brand.commercialName;\n const iban = brand.bank?.IBAN;\n const bic = brand.bank?.BIC;\n const bonjourMail = brand.listMails?.bonjour || '';\n const socialMail = brand.listMails?.social || '';\n const dataOfficerMail = brand.listMails?.gestion || '';\n const satisfactionMail = brand.listMails?.satisfaction || '';\n const resiliationMail = brand.listMails?.resiliation || '';\n const supportMail = brand.listMails?.support || '';\n const juridiqueMail = brand.listMails?.juridique || '';\n const facturationMail = brand.listMails?.facturation || '';\n const primaryColor = brand.colors?.primary || '';\n const standardPhoneSignature = brand.listPhones?.contact || '';\n const juridiquePhoneSignature = brand.listPhones?.juridique || '';\n const socialPhoneSignature = brand.listPhones?.social || '';\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // 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') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // 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') {\n // 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 || forceRole === 'generique') {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = brand.urlApp || '';\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, ' ') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, ' '),\n horaires,\n primaryColor,\n supportMail,\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["import ejs from 'ejs';\nimport { Role } from '../types/Enum/Role.js';\nimport { TimeSlot } from '../types/Enum/TimeSlot.js';\nimport { IUser } from '../types/Interface/models/IUser.js';\nimport { getBrand, getBrandConfig } from './brands.js';\nimport { signatureTemplate } from './email/templates/signature.js';\nimport { intersection } from './noLodash.js';\nimport { IRole } from '../types/Interface/models/IRole.js';\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\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 // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n if (user?.roles?.map((r: IRole) => r.id).includes(Role.COMMERCIAL)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n\n return 'Du lundi au jeudi de 9h à 17h<br/>Le vendredi de 9h à 12h';\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 à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' ');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const brand = getBrand({ idTypeBrand });\n\n const hostS3 = brand.urlS3;\n\n const brandName = brand.name;\n const brandCity = brand.companyInformation?.city;\n const brandPostalAddress = brand.companyInformation?.postalAddress || '';\n const commercialName = brand.commercialName;\n const iban = brand.bank?.IBAN;\n const bic = brand.bank?.BIC;\n const bonjourMail = brand.listMails?.bonjour || '';\n const socialMail = brand.listMails?.social || '';\n const dataOfficerMail = brand.listMails?.gestion || '';\n const satisfactionMail = brand.listMails?.satisfaction || '';\n const resiliationMail = brand.listMails?.resiliation || '';\n const supportMail = brand.listMails?.support || '';\n const juridiqueMail = brand.listMails?.juridique || '';\n const facturationMail = brand.listMails?.facturation || '';\n const primaryColor = brand.colors?.primary || '';\n const standardPhoneSignature = brand.listPhones?.contact || '';\n const juridiquePhoneSignature = brand.listPhones?.juridique || '';\n const socialPhoneSignature = brand.listPhones?.social || '';\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // 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') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // 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') {\n // 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 || forceRole === 'generique') {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = brand.urlApp || '';\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: commercialName !== 'Comptalib' && phoneSignature ? phoneSignature.replace(/\\s+/gm, ' ') : null,\n standardPhoneSignature: commercialName !== 'Comptalib' ? standardPhoneSignature.replace(/\\s+/gm, ' ') : null,\n horaires,\n primaryColor,\n supportMail,\n });\n}\n"]}
|
|
@@ -17,8 +17,8 @@ describe('acdVat utils', () => {
|
|
|
17
17
|
expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_10)).toBe(Vat.TX_10.id);
|
|
18
18
|
expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_5_5)).toBe(Vat.TX_5_5.id);
|
|
19
19
|
expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_2_1)).toBe(Vat.TX_2_1.id);
|
|
20
|
-
expect(acdVatCodeToIdVat(AcdVatCode.INTRACOM)).toBe(Vat.
|
|
21
|
-
expect(acdVatCodeToIdVat(AcdVatCode.AUTOL)).toBe(Vat.
|
|
20
|
+
expect(acdVatCodeToIdVat(AcdVatCode.INTRACOM)).toBe(Vat.INTRACOM_WITHOUT_TAXE.id);
|
|
21
|
+
expect(acdVatCodeToIdVat(AcdVatCode.AUTOL)).toBe(Vat.IMPORTATION_WITHOUT_TAXE.id);
|
|
22
22
|
expect(acdVatCodeToIdVat(AcdVatCode.NON_AFFECTE)).toBeNull();
|
|
23
23
|
});
|
|
24
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acdVat.spec.js","sourceRoot":"","sources":["../../../ts/utils/tests/acdVat.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"acdVat.spec.js","sourceRoot":"","sources":["../../../ts/utils/tests/acdVat.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEpE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, test } from 'vitest';\nimport { Vat } from '../../types/Enum/Vat.js';\nimport { AcdVatCode } from '../../types/Interface/api/acd/Vat.js';\nimport { acdVatCodeToIdVat, idVatToAcdVatCode } from '../acdVat.js';\n\ndescribe('acdVat utils', () => {\n test('should map internal VAT ids to ACD VAT codes', () => {\n expect(idVatToAcdVatCode(Vat.TX_20.id)).toBe(AcdVatCode.NORMAL);\n expect(idVatToAcdVatCode(Vat.TX_10.id)).toBe(AcdVatCode.REDUIT_10);\n expect(idVatToAcdVatCode(Vat.TX_5_5.id)).toBe(AcdVatCode.REDUIT_5_5);\n expect(idVatToAcdVatCode(Vat.TX_2_1.id)).toBe(AcdVatCode.REDUIT_2_1);\n expect(idVatToAcdVatCode(Vat.INTRACOM_TX_20.id)).toBe(AcdVatCode.INTRACOM);\n expect(idVatToAcdVatCode(Vat.IMPORTATION_TX_20.id)).toBe(AcdVatCode.AUTOL);\n expect(idVatToAcdVatCode(Vat.WITHOUT_TAXE.id)).toBeNull();\n });\n\n test('should map ACD VAT codes back to internal VAT ids', () => {\n expect(acdVatCodeToIdVat(AcdVatCode.NORMAL)).toBe(Vat.TX_20.id);\n expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_10)).toBe(Vat.TX_10.id);\n expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_5_5)).toBe(Vat.TX_5_5.id);\n expect(acdVatCodeToIdVat(AcdVatCode.REDUIT_2_1)).toBe(Vat.TX_2_1.id);\n expect(acdVatCodeToIdVat(AcdVatCode.INTRACOM)).toBe(Vat.INTRACOM_WITHOUT_TAXE.id);\n expect(acdVatCodeToIdVat(AcdVatCode.AUTOL)).toBe(Vat.IMPORTATION_WITHOUT_TAXE.id);\n expect(acdVatCodeToIdVat(AcdVatCode.NON_AFFECTE)).toBeNull();\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"century26.d.ts","sourceRoot":"","sources":["../../../../ts/utils/vat/3517/century26.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAQvF,OAAO,EACL,gBAAgB,EAEhB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,qBAAqB,GAC7B,cAAc,CA0gBhB;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAupC7F;AAED,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"century26.d.ts","sourceRoot":"","sources":["../../../../ts/utils/vat/3517/century26.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAQvF,OAAO,EACL,gBAAgB,EAEhB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,qBAAqB,GAC7B,cAAc,CA0gBhB;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAupC7F;AAED,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAgKjH;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAuZtD,CAAC"}
|
|
@@ -1540,17 +1540,10 @@ export function getCerfa3517Century26RegistrationField(data) {
|
|
|
1540
1540
|
}
|
|
1541
1541
|
export function getCerfa3517DDRCentury26RegistrationField(data) {
|
|
1542
1542
|
if (data.refund.asked > 0) {
|
|
1543
|
-
|
|
1543
|
+
const fields = [
|
|
1544
1544
|
{
|
|
1545
1545
|
name: '3517DDR',
|
|
1546
1546
|
fields: [
|
|
1547
|
-
{
|
|
1548
|
-
key: 'AA',
|
|
1549
|
-
tag: 'Valeur',
|
|
1550
|
-
isMultiple: false,
|
|
1551
|
-
description: 'MOA Crédit remboursable dégagé à la clôture de lannée ou de lexercice si celui-ci est supérieur ou égal à 150 euros 100173 a',
|
|
1552
|
-
value: data.refund.creditRefundable,
|
|
1553
|
-
},
|
|
1554
1547
|
{
|
|
1555
1548
|
key: 'AB',
|
|
1556
1549
|
tag: 'Valeur',
|
|
@@ -1688,6 +1681,16 @@ export function getCerfa3517DDRCentury26RegistrationField(data) {
|
|
|
1688
1681
|
],
|
|
1689
1682
|
},
|
|
1690
1683
|
];
|
|
1684
|
+
if (data.refund.creditRefundable && data.refund.creditRefundable > 0) {
|
|
1685
|
+
fields[0].fields.push({
|
|
1686
|
+
key: 'AA',
|
|
1687
|
+
tag: 'Valeur',
|
|
1688
|
+
isMultiple: false,
|
|
1689
|
+
description: 'MOA Crédit remboursable dégagé à la clôture de lannée ou de lexercice si celui-ci est supérieur ou égal à 150 euros 100173 a',
|
|
1690
|
+
value: data.refund.creditRefundable,
|
|
1691
|
+
});
|
|
1692
|
+
}
|
|
1693
|
+
return fields;
|
|
1691
1694
|
}
|
|
1692
1695
|
return [];
|
|
1693
1696
|
}
|