@silexpert/core 1.1.186 → 1.1.188

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 (110) hide show
  1. package/dist/cjs/api/resources/Card.d.ts +2 -2
  2. package/dist/cjs/api/resources/Card.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Card.js +2 -2
  4. package/dist/cjs/api/resources/Card.js.map +1 -1
  5. package/dist/cjs/api/resources/GeneralLedger.d.ts +8 -0
  6. package/dist/cjs/api/resources/GeneralLedger.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/GeneralLedger.js +32 -0
  8. package/dist/cjs/api/resources/GeneralLedger.js.map +1 -1
  9. package/dist/cjs/api/resources/IncomeStatement.d.ts +2 -0
  10. package/dist/cjs/api/resources/IncomeStatement.d.ts.map +1 -1
  11. package/dist/cjs/api/resources/IncomeStatement.js +10 -0
  12. package/dist/cjs/api/resources/IncomeStatement.js.map +1 -1
  13. package/dist/cjs/api/resources/Journal.d.ts +2 -0
  14. package/dist/cjs/api/resources/Journal.d.ts.map +1 -1
  15. package/dist/cjs/api/resources/Journal.js +7 -0
  16. package/dist/cjs/api/resources/Journal.js.map +1 -1
  17. package/dist/cjs/api/resources/prestation.d.ts +2 -1
  18. package/dist/cjs/api/resources/prestation.d.ts.map +1 -1
  19. package/dist/cjs/api/resources/prestation.js +3 -0
  20. package/dist/cjs/api/resources/prestation.js.map +1 -1
  21. package/dist/cjs/index.d.ts +1 -0
  22. package/dist/cjs/index.d.ts.map +1 -1
  23. package/dist/cjs/index.js +1 -0
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/types/Enum/Card.d.ts +1 -1
  26. package/dist/cjs/types/Enum/Card.js +1 -1
  27. package/dist/cjs/types/Enum/Card.js.map +1 -1
  28. package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts +2 -1
  29. package/dist/cjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -1
  30. package/dist/cjs/types/Interface/api/card/UpdateCard.js +9 -2
  31. package/dist/cjs/types/Interface/api/card/UpdateCard.js.map +1 -1
  32. package/dist/cjs/types/Interface/api/prestation/CreatePrestation.d.ts +5 -0
  33. package/dist/cjs/types/Interface/api/prestation/CreatePrestation.d.ts.map +1 -1
  34. package/dist/cjs/types/Interface/api/prestation/CreatePrestation.js +19 -1
  35. package/dist/cjs/types/Interface/api/prestation/CreatePrestation.js.map +1 -1
  36. package/dist/cjs/types/Interface/models/ICard.d.ts +11 -1
  37. package/dist/cjs/types/Interface/models/ICard.d.ts.map +1 -1
  38. package/dist/cjs/types/Interface/models/ICard.js.map +1 -1
  39. package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts +21 -20
  40. package/dist/cjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
  41. package/dist/cjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
  42. package/dist/cjs/utils/commercialManagement/document.d.ts +0 -1
  43. package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
  44. package/dist/cjs/utils/commercialManagement/document.js +1 -41
  45. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  46. package/dist/cjs/utils/commercialManagement/templates/common.d.ts.map +1 -1
  47. package/dist/cjs/utils/commercialManagement/templates/common.js +34 -46
  48. package/dist/cjs/utils/commercialManagement/templates/common.js.map +1 -1
  49. package/dist/mjs/api/resources/Card.d.ts +2 -2
  50. package/dist/mjs/api/resources/Card.d.ts.map +1 -1
  51. package/dist/mjs/api/resources/Card.js +4 -2
  52. package/dist/mjs/api/resources/Card.js.map +1 -1
  53. package/dist/mjs/api/resources/GeneralLedger.d.ts +8 -0
  54. package/dist/mjs/api/resources/GeneralLedger.d.ts.map +1 -1
  55. package/dist/mjs/api/resources/GeneralLedger.js +32 -0
  56. package/dist/mjs/api/resources/GeneralLedger.js.map +1 -1
  57. package/dist/mjs/api/resources/IncomeStatement.d.ts +2 -0
  58. package/dist/mjs/api/resources/IncomeStatement.d.ts.map +1 -1
  59. package/dist/mjs/api/resources/IncomeStatement.js +10 -0
  60. package/dist/mjs/api/resources/IncomeStatement.js.map +1 -1
  61. package/dist/mjs/api/resources/Journal.d.ts +2 -0
  62. package/dist/mjs/api/resources/Journal.d.ts.map +1 -1
  63. package/dist/mjs/api/resources/Journal.js +7 -0
  64. package/dist/mjs/api/resources/Journal.js.map +1 -1
  65. package/dist/mjs/api/resources/prestation.d.ts +2 -1
  66. package/dist/mjs/api/resources/prestation.d.ts.map +1 -1
  67. package/dist/mjs/api/resources/prestation.js +3 -0
  68. package/dist/mjs/api/resources/prestation.js.map +1 -1
  69. package/dist/mjs/index.d.ts +1 -0
  70. package/dist/mjs/index.d.ts.map +1 -1
  71. package/dist/mjs/index.js +1 -0
  72. package/dist/mjs/index.js.map +1 -1
  73. package/dist/mjs/types/Enum/Card.d.ts +1 -1
  74. package/dist/mjs/types/Enum/Card.js +1 -1
  75. package/dist/mjs/types/Enum/Card.js.map +1 -1
  76. package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts +2 -1
  77. package/dist/mjs/types/Interface/api/card/UpdateCard.d.ts.map +1 -1
  78. package/dist/mjs/types/Interface/api/card/UpdateCard.js +11 -3
  79. package/dist/mjs/types/Interface/api/card/UpdateCard.js.map +1 -1
  80. package/dist/mjs/types/Interface/api/prestation/CreatePrestation.d.ts +5 -0
  81. package/dist/mjs/types/Interface/api/prestation/CreatePrestation.d.ts.map +1 -1
  82. package/dist/mjs/types/Interface/api/prestation/CreatePrestation.js +20 -0
  83. package/dist/mjs/types/Interface/api/prestation/CreatePrestation.js.map +1 -1
  84. package/dist/mjs/types/Interface/models/ICard.d.ts +11 -1
  85. package/dist/mjs/types/Interface/models/ICard.d.ts.map +1 -1
  86. package/dist/mjs/types/Interface/models/ICard.js.map +1 -1
  87. package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts +21 -20
  88. package/dist/mjs/types/Interface/models/IPrestationComplementary.d.ts.map +1 -1
  89. package/dist/mjs/types/Interface/models/IPrestationComplementary.js.map +1 -1
  90. package/dist/mjs/utils/commercialManagement/document.d.ts +0 -1
  91. package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
  92. package/dist/mjs/utils/commercialManagement/document.js +1 -76
  93. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  94. package/dist/mjs/utils/commercialManagement/templates/common.d.ts.map +1 -1
  95. package/dist/mjs/utils/commercialManagement/templates/common.js +34 -46
  96. package/dist/mjs/utils/commercialManagement/templates/common.js.map +1 -1
  97. package/package.json +1 -1
  98. package/ts/api/resources/Card.ts +5 -3
  99. package/ts/api/resources/GeneralLedger.ts +36 -0
  100. package/ts/api/resources/IncomeStatement.ts +13 -0
  101. package/ts/api/resources/Journal.ts +9 -0
  102. package/ts/api/resources/prestation.ts +6 -0
  103. package/ts/index.ts +1 -0
  104. package/ts/types/Enum/Card.ts +1 -1
  105. package/ts/types/Interface/api/card/UpdateCard.ts +9 -3
  106. package/ts/types/Interface/api/prestation/CreatePrestation.ts +14 -0
  107. package/ts/types/Interface/models/ICard.ts +9 -1
  108. package/ts/types/Interface/models/IPrestationComplementary.ts +21 -20
  109. package/ts/utils/commercialManagement/document.ts +1 -93
  110. package/ts/utils/commercialManagement/templates/common.ts +34 -46
@@ -2,31 +2,32 @@ import { IUser } from './IUser';
2
2
  import { IPaymentExpectation } from './IPaymentExpectation';
3
3
  import { IGedFile } from './IGedFile';
4
4
  import { IPrestation } from './IPrestation';
5
+ import { AcceptationAdmin } from '../../Enum/AdditionnalSells';
5
6
  export interface IPrestationComplementary {
6
7
  id?: number;
7
8
  generateLink: boolean;
8
- deadline: Date | null;
9
- dateEstimateSigned: Date | null;
10
- dateSendToClient: Date | null;
11
- dateInvoice: Date | null;
12
- datePayment: Date | null;
13
- dateTransmission: Date | null;
14
- idGedFile: number | null;
15
- idCollaborater: number | null;
16
- idUser: number | null;
17
- idPaymentExpectation: number | null;
18
- description: string | null;
19
- note: string | null;
20
- forOtherMission: string | null;
21
- statePrestationJuridique: number | null;
22
- acceptationAdmin: number;
9
+ deadline?: Date | null;
10
+ dateEstimateSigned?: Date | null;
11
+ dateSendToClient?: Date | null;
12
+ dateInvoice?: Date | null;
13
+ datePayment?: Date | null;
14
+ dateTransmission?: Date | null;
15
+ idGedFile?: number | null;
16
+ idCollaborater?: number | null;
17
+ idUser?: number | null;
18
+ idPaymentExpectation?: number | null;
19
+ description?: string | null;
20
+ note?: string | null;
21
+ forOtherMission?: string | null;
22
+ statePrestationJuridique?: number | null;
23
+ acceptationAdmin: AcceptationAdmin;
23
24
  createdAt?: Date | null;
24
25
  updatedAt?: Date | null;
25
26
  deletedAt?: Date | null;
26
- prestationUser: IUser;
27
- prestationCollaborater: IUser;
28
- prestationPaymentExpectation: IPaymentExpectation;
29
- prestationGedFile: IGedFile;
30
- prestation: IPrestation;
27
+ prestationUser?: IUser;
28
+ prestationCollaborater?: IUser;
29
+ prestationPaymentExpectation?: IPaymentExpectation;
30
+ prestationGedFile?: IGedFile;
31
+ prestation?: IPrestation;
31
32
  }
32
33
  //# sourceMappingURL=IPrestationComplementary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IPrestationComplementary.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAGxB,cAAc,EAAE,KAAK,CAAC;IACtB,sBAAsB,EAAE,KAAK,CAAC;IAC9B,4BAA4B,EAAE,mBAAmB,CAAC;IAClD,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;CACzB"}
1
+ {"version":3,"file":"IPrestationComplementary.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,kBAAkB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAGxB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,sBAAsB,CAAC,EAAE,KAAK,CAAC;IAC/B,4BAA4B,CAAC,EAAE,mBAAmB,CAAC;IACnD,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"IPrestationComplementary.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"","sourcesContent":["import { IUser } from './IUser';\nimport { IPaymentExpectation } from './IPaymentExpectation';\nimport { IGedFile } from './IGedFile';\nimport { IPrestation } from './IPrestation';\n\n// prestationsCompl\nexport interface IPrestationComplementary {\n id?: number;\n generateLink: boolean;\n deadline: Date | null;\n dateEstimateSigned: Date | null;\n dateSendToClient: Date | null;\n dateInvoice: Date | null;\n datePayment: Date | null;\n dateTransmission: Date | null;\n idGedFile: number | null;\n idCollaborater: number | null;\n idUser: number | null;\n idPaymentExpectation: number | null;\n description: string | null;\n note: string | null;\n forOtherMission: string | null;\n statePrestationJuridique: number | null;\n acceptationAdmin: number;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n prestationUser: IUser;\n prestationCollaborater: IUser;\n prestationPaymentExpectation: IPaymentExpectation;\n prestationGedFile: IGedFile;\n prestation: IPrestation;\n}\n"]}
1
+ {"version":3,"file":"IPrestationComplementary.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestationComplementary.ts"],"names":[],"mappings":"","sourcesContent":["import { IUser } from './IUser';\nimport { IPaymentExpectation } from './IPaymentExpectation';\nimport { IGedFile } from './IGedFile';\nimport { IPrestation } from './IPrestation';\nimport { AcceptationAdmin } from '../../Enum/AdditionnalSells';\n\n// prestationsCompl\nexport interface IPrestationComplementary {\n id?: number;\n generateLink: boolean;\n deadline?: Date | null;\n dateEstimateSigned?: Date | null;\n dateSendToClient?: Date | null;\n dateInvoice?: Date | null;\n datePayment?: Date | null;\n dateTransmission?: Date | null;\n idGedFile?: number | null;\n idCollaborater?: number | null;\n idUser?: number | null;\n idPaymentExpectation?: number | null;\n description?: string | null;\n note?: string | null;\n forOtherMission?: string | null;\n statePrestationJuridique?: number | null;\n acceptationAdmin: AcceptationAdmin;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n prestationUser?: IUser;\n prestationCollaborater?: IUser;\n prestationPaymentExpectation?: IPaymentExpectation;\n prestationGedFile?: IGedFile;\n prestation?: IPrestation;\n}\n"]}
@@ -2,6 +2,5 @@ import { ReadCommercialDocumentTemplate } from '../../types/Interface/api/commer
2
2
  import { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';
3
3
  import { CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate } from '../../types';
4
4
  export declare function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialDocumentTemplate;
5
- export declare function generateAdvanceDocument(payload: CreateInvoiceDocument, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialDocumentTemplate;
6
5
  export declare function generateMailHeader(params: CreateMailHeader, shouldHideBrandName?: boolean, nodeEnv?: string | undefined): ReadCommercialMailTemplate;
7
6
  //# sourceMappingURL=document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAI1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAC3F,MAAM,aAAa,CAAC;AAgBrB,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,8BAA8B,CAyFnP;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,8BAA8B,CA0F5K;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,0BAA0B,CAuB7J"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAI1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAC3F,MAAM,aAAa,CAAC;AAgBrB,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,8BAA8B,CAyFnP;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,UAAQ,EAAE,OAAO,GAAE,MAAM,GAAG,SAAqB,GAAG,0BAA0B,CAuB7J"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateMailHeader = exports.generateAdvanceDocument = exports.generateCommercialDocument = void 0;
3
+ exports.generateMailHeader = exports.generateCommercialDocument = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  const dayjs = require("dayjs");
6
6
  const CommercialManagement_1 = require("../../types/Enum/CommercialManagement");
@@ -58,46 +58,6 @@ function generateCommercialDocument(idEstimateInvoiceType, payload, shouldHideBr
58
58
  };
59
59
  }
60
60
  exports.generateCommercialDocument = generateCommercialDocument;
61
- function generateAdvanceDocument(payload, shouldHideBrandName = false, nodeEnv = undefined) {
62
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
63
- if (!payload.deposit)
64
- throw new Error('Aucun acompte défini');
65
- const data = Object.assign(Object.assign({}, payload), { title: (_a = payload.title) !== null && _a !== void 0 ? _a : null, paymentLink: (_b = payload.paymentLink) !== null && _b !== void 0 ? _b : '#', idEstimateInvoiceType: EstimateInvoice_1.EstimateInvoiceType.ACOMPTE, phoneContact: (_d = (_c = payload.settings) === null || _c === void 0 ? void 0 : _c.phoneContact) !== null && _d !== void 0 ? _d : null, products: [], vats: [], totalTaxExcluded: payload.deposit, totalTaxIncluded: payload.deposit, totalTaxAndDiscountIncluded: payload.deposit, generalDiscountFormatted: null, depositFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalTaxAndDiscountIncludedFormatted: (0, amount_1.integerToFormattedAmountString)(payload.deposit), totalVatAmountFormatted: (0, amount_1.integerToFormattedAmountString)(0), font: {
66
- id: (_f = (_e = payload.settings) === null || _e === void 0 ? void 0 : _e.idFont) !== null && _f !== void 0 ? _f : CommercialManagement_1.FontIds.CIRCULAR_STD,
67
- name: (_h = (_g = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : CommercialManagement_1.fontList[0].name,
68
- url: (_k = (_j = CommercialManagement_1.fontList.find((f) => { var _a; return f.id === ((_a = payload.settings) === null || _a === void 0 ? void 0 : _a.idFont); })) === null || _j === void 0 ? void 0 : _j.link) !== null && _k !== void 0 ? _k : CommercialManagement_1.fontList[0].link,
69
- }, capitalFormatted: payload.capital
70
- ? `${payload.capital}`
71
- .split('')
72
- .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')
73
- .trim()
74
- : null, dueDateFormatted: payload.dueDate
75
- ? dayjs(payload.dueDate).format('DD/MM/YYYY')
76
- : null, expirationDateFormatted: payload.expirationDate
77
- ? dayjs(payload.expirationDate).format('DD/MM/YYYY')
78
- : null, emissionDateFormatted: payload.emissionDate
79
- ? dayjs(payload.emissionDate).format('DD/MM/YYYY')
80
- : null, shouldDisplayDiscountColumn: false, disableVat: true,
81
- // @ts-ignore
82
- marginVats: (0, lodash_1.uniq)(((_l = payload.assetMarginVatIds) !== null && _l !== void 0 ? _l : []).map((m) => { var _a, _b; return (_b = (_a = CommercialManagement_1.VatMarginCategyList.find((c) => c.id === m)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : null; })), accountingCategoryFormatted: (_o = (_m = CommercialManagement_1.AccountingCategoryList.find((a) => a.id === payload.accountingCategory)) === null || _m === void 0 ? void 0 : _m.label) !== null && _o !== void 0 ? _o : null,
83
- // @ts-ignore
84
- brandColors: (0, brands_1.getBrandConfig)({ objectWaited: 'colors', nodeEnv }), brandName: `${(0, brands_1.getBrandConfig)({ objectWaited: 'name', nodeEnv })}`, shouldHideBrandName });
85
- const commonTemplate = new common_1.CommercialDocumentCommonHTML();
86
- return {
87
- header: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.header, data),
88
- body: ejs === null || ejs === void 0 ? void 0 : ejs.render(body_1.bodyTemplate, Object.assign(Object.assign({}, data), { comment: data.comment && typeof data.comment === 'string'
89
- ? (_p = data.comment) === null || _p === void 0 ? void 0 : _p.replace(/\n/g, '<br/>')
90
- : null, products: data.products.map((p) => {
91
- var _a;
92
- return (Object.assign(Object.assign({}, p), { comment: p.comment && typeof p.comment === 'string'
93
- ? (_a = p.comment) === null || _a === void 0 ? void 0 : _a.replace(/\n/g, '<br/>')
94
- : null }));
95
- }) })),
96
- footer: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), { freeText: (_r = (_q = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _q === void 0 ? void 0 : _q.freeInvoiceText) !== null && _r !== void 0 ? _r : null })),
97
- data,
98
- };
99
- }
100
- exports.generateAdvanceDocument = generateAdvanceDocument;
101
61
  function generateMailHeader(params, shouldHideBrandName = false, nodeEnv = undefined) {
102
62
  dayjs.locale('fr');
103
63
  const data = Object.assign(Object.assign({}, params.payload), { totalTaxExcludedFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxExcluded), totalTaxIncludedFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxIncluded), totalVatFormatted: (0, amount_1.integerToFormattedAmountObject)(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded), dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null, hasVat: params.hasVat, hostS3: params.hostS3, logoUrl: params.logoUrl, companyName: params.companyName, fileUrl: params.fileUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport {\n AccountingCategoryList, FontIds, fontList, VatMarginCategyList,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount')),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n title: payload.title ?? null,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(\n payload.deposit,\n ),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name:\n fontList.find((f) => f.id === payload.settings?.idFont)?.name\n ?? fontList[0].name,\n url:\n fontList.find((f) => f.id === payload.settings?.idFont)?.link\n ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`\n .split('')\n .reduceRight(\n (acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`,\n '',\n )\n .trim()\n : null,\n dueDateFormatted: payload.dueDate\n ? dayjs(payload.dueDate).format('DD/MM/YYYY')\n : null,\n expirationDateFormatted: payload.expirationDate\n ? dayjs(payload.expirationDate).format('DD/MM/YYYY')\n : null,\n emissionDateFormatted: payload.emissionDate\n ? dayjs(payload.emissionDate).format('DD/MM/YYYY')\n : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq(\n (payload.assetMarginVatIds ?? []).map(\n (m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null,\n ),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs?.render(commonTemplate.footer, {\n ...data,\n freeText: payload?.settings?.freeInvoiceText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}"]}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport {\n AccountingCategoryList, FontIds, fontList,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount')),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/common.ts"],"names":[],"mappings":"AAMA,qBAAa,4BAA4B;IACvC,MAAM,SAIG;IAET,MAAM,SAcE;IAER,IAAI,SAEI;IAER,OAAO,SAMiF;IAExF,QAAQ,SA2CA;IAER,iBAAiB,SAeP;IAEV,oBAAoB,SAiDZ;IAER,aAAa,SAUD;IAEZ,KAAK,SA6HI;IAET,YAAY,SAeV;CACH;AAED,qBAAa,0BAA0B;IACrC,KAAK,SAWL;IAEA,MAAM,SA0FJ;CACH"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/common.ts"],"names":[],"mappings":"AAMA,qBAAa,4BAA4B;IACvC,MAAM,SAIG;IAET,MAAM,SAcE;IAER,IAAI,SAEI;IAER,OAAO,SAMiF;IAExF,QAAQ,SAiCA;IAER,iBAAiB,SAeP;IAEV,oBAAoB,SA+CZ;IAER,aAAa,SAUD;IAEZ,KAAK,SA6HI;IAET,YAAY,SAeV;CACH;AAED,qBAAa,0BAA0B;IACrC,KAAK,SAWL;IAEA,MAAM,SA0FJ;CACH"}
@@ -46,16 +46,6 @@ class CommercialDocumentCommonHTML {
46
46
  <td>Montant <%= disableVat !== true ? 'HT' : ''%></td>
47
47
  </tr>
48
48
  </thead>
49
- <% if (idEstimateInvoiceType === ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}) { %>
50
- <tr>
51
- <td class="product-title">
52
- <%= title %>
53
- </td>
54
- <td class="product-quantity">1</td>
55
- <td class="product-price-without-vat"><%= depositFormatted %>€</td>
56
- <td class="product-total-price-without-vat"><%= depositFormatted %>€</td>
57
- </tr>
58
- <% } %>
59
49
  <% if (products) { %>
60
50
  <% products.forEach(function (product) { %>
61
51
  <tr>
@@ -101,42 +91,40 @@ class CommercialDocumentCommonHTML {
101
91
  <td colspan="2">Récapitulatif</td>
102
92
  </tr>
103
93
  </thead>
104
- <% if (idEstimateInvoiceType !== ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}) { %>
105
- <% if (disableVat !== true) { %>
106
- <tr>
107
- <td>Total HT</td>
108
- <td><%= totalTaxExcludedFormatted %>€</td>
109
- </tr>
110
- <% } %>
111
- <% if (generalDiscountFormatted) { %>
112
- <tr>
113
- <td>Remise</td>
114
- <td><%= generalDiscountFormatted %>€</td>
115
- </tr>
116
- <% } %>
117
- <% if (disableVat !== true) { %>
118
- <tr>
119
- <td>TVA</td>
120
- <td><%= totalVatAmountFormatted %>€</td>
121
- </tr>
122
- <% } %>
123
- <% if (disableVat !== true || generalDiscountFormatted || depositFormatted) { %>
124
- <tr>
125
- <td>Total <%= disableVat !== true ? 'TTC' : ''%></td>
126
- <td><%= totalTaxIncludedFormatted %>€</td>
127
- </tr>
128
- <% } else if (disableVat === true && ![${EstimateInvoice_1.EstimateInvoiceType.FACTURE}, ${EstimateInvoice_1.EstimateInvoiceType.RESTE}, ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}].includes(idEstimateInvoiceType)) { %>
129
- <tr>
130
- <td>Total</td>
131
- <td><%= totalTaxIncludedFormatted %>€</td>
132
- </tr>
133
- <% } %>
134
- <% if (depositFormatted) { %>
135
- <tr>
136
- <td>Acompte</td>
137
- <td><%= depositFormatted %>€</td>
138
- </tr>
139
- <% } %>
94
+ <% if (disableVat !== true) { %>
95
+ <tr>
96
+ <td>Total HT</td>
97
+ <td><%= totalTaxExcludedFormatted %>€</td>
98
+ </tr>
99
+ <% } %>
100
+ <% if (generalDiscountFormatted) { %>
101
+ <tr>
102
+ <td>Remise</td>
103
+ <td><%= generalDiscountFormatted %>€</td>
104
+ </tr>
105
+ <% } %>
106
+ <% if (disableVat !== true) { %>
107
+ <tr>
108
+ <td>TVA</td>
109
+ <td><%= totalVatAmountFormatted %>€</td>
110
+ </tr>
111
+ <% } %>
112
+ <% if (disableVat !== true || generalDiscountFormatted || depositFormatted) { %>
113
+ <tr>
114
+ <td>Total <%= disableVat !== true ? 'TTC' : ''%></td>
115
+ <td><%= totalTaxIncludedFormatted %>€</td>
116
+ </tr>
117
+ <% } else if (disableVat === true && ![${EstimateInvoice_1.EstimateInvoiceType.FACTURE}, ${EstimateInvoice_1.EstimateInvoiceType.RESTE}, ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}].includes(idEstimateInvoiceType)) { %>
118
+ <tr>
119
+ <td>Total</td>
120
+ <td><%= totalTaxIncludedFormatted %>€</td>
121
+ </tr>
122
+ <% } %>
123
+ <% if (depositFormatted) { %>
124
+ <tr>
125
+ <td>Acompte</td>
126
+ <td><%= depositFormatted %>€</td>
127
+ </tr>
140
128
  <% } %>
141
129
  <% if ([${EstimateInvoice_1.EstimateInvoiceType.FACTURE}, ${EstimateInvoice_1.EstimateInvoiceType.RESTE}, ${EstimateInvoice_1.EstimateInvoiceType.ACOMPTE}].includes(idEstimateInvoiceType)) { %>
142
130
  <tr>