@silexpert/core 1.2.93 → 1.2.95
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/cjs/api/resources/BankStatement.d.ts +1 -0
- package/dist/cjs/api/resources/BankStatement.d.ts.map +1 -1
- package/dist/cjs/api/resources/BankStatement.js +12 -0
- package/dist/cjs/api/resources/BankStatement.js.map +1 -1
- package/dist/cjs/api/resources/Shine.d.ts +1 -2
- package/dist/cjs/api/resources/Shine.d.ts.map +1 -1
- package/dist/cjs/api/resources/Shine.js +0 -3
- package/dist/cjs/api/resources/Shine.js.map +1 -1
- package/dist/cjs/types/Enum/CommercialManagement.js +5 -5
- package/dist/cjs/types/Enum/CommercialManagement.js.map +1 -1
- package/dist/cjs/types/Enum/ReasonNotSubscribed.js +2 -2
- package/dist/cjs/types/Enum/ReasonNotSubscribed.js.map +1 -1
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts +1 -0
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js +6 -0
- package/dist/cjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js.map +1 -1
- package/dist/cjs/types/Interface/api/bankStatement/QueryBankStatement.d.ts +1 -0
- package/dist/cjs/types/Interface/api/bankStatement/QueryBankStatement.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/bankStatement/QueryBankStatement.js +7 -0
- package/dist/cjs/types/Interface/api/bankStatement/QueryBankStatement.js.map +1 -1
- package/dist/cjs/types/Interface/api/commercial/Query.d.ts +16 -0
- package/dist/cjs/types/Interface/api/commercial/Query.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/commercial/Query.js +93 -1
- package/dist/cjs/types/Interface/api/commercial/Query.js.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts +2 -0
- package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Create.js +11 -0
- package/dist/cjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +1 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/cjs/types/Interface/api/shine/ConnectResponse.d.ts +0 -1
- package/dist/cjs/types/Interface/api/shine/ConnectResponse.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shine/ConnectResponse.js.map +1 -1
- package/dist/cjs/types/Interface/api/shine/CreateShine.d.ts +62 -50
- package/dist/cjs/types/Interface/api/shine/CreateShine.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shine/CreateShine.js +25 -0
- package/dist/cjs/types/Interface/api/shine/CreateShine.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.js +3 -1
- package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
- package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/internationalization/choices.js +22 -0
- package/dist/cjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/saleEmail.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/saleEmail.js +2 -0
- package/dist/cjs/utils/commercialManagement/saleEmail.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/templates/body.js +1 -1
- package/dist/cjs/utils/commercialManagement/templates/body.js.map +1 -1
- package/dist/mjs/api/resources/BankStatement.d.ts +1 -0
- package/dist/mjs/api/resources/BankStatement.d.ts.map +1 -1
- package/dist/mjs/api/resources/BankStatement.js +12 -0
- package/dist/mjs/api/resources/BankStatement.js.map +1 -1
- package/dist/mjs/api/resources/Shine.d.ts +1 -2
- package/dist/mjs/api/resources/Shine.d.ts.map +1 -1
- package/dist/mjs/api/resources/Shine.js +0 -3
- package/dist/mjs/api/resources/Shine.js.map +1 -1
- package/dist/mjs/types/Enum/CommercialManagement.js +5 -5
- package/dist/mjs/types/Enum/CommercialManagement.js.map +1 -1
- package/dist/mjs/types/Enum/ReasonNotSubscribed.js +2 -2
- package/dist/mjs/types/Enum/ReasonNotSubscribed.js.map +1 -1
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts +1 -0
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js +7 -0
- package/dist/mjs/types/Interface/api/balanceSheet/UpdateBalanceSheet.js.map +1 -1
- package/dist/mjs/types/Interface/api/bankStatement/QueryBankStatement.d.ts +1 -0
- package/dist/mjs/types/Interface/api/bankStatement/QueryBankStatement.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/bankStatement/QueryBankStatement.js +8 -0
- package/dist/mjs/types/Interface/api/bankStatement/QueryBankStatement.js.map +1 -1
- package/dist/mjs/types/Interface/api/commercial/Query.d.ts +16 -0
- package/dist/mjs/types/Interface/api/commercial/Query.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/commercial/Query.js +106 -1
- package/dist/mjs/types/Interface/api/commercial/Query.js.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts +2 -0
- package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Create.js +13 -0
- package/dist/mjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +1 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/mjs/types/Interface/api/shine/ConnectResponse.d.ts +0 -1
- package/dist/mjs/types/Interface/api/shine/ConnectResponse.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shine/ConnectResponse.js.map +1 -1
- package/dist/mjs/types/Interface/api/shine/CreateShine.d.ts +62 -50
- package/dist/mjs/types/Interface/api/shine/CreateShine.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shine/CreateShine.js +24 -1
- package/dist/mjs/types/Interface/api/shine/CreateShine.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.js +2 -0
- package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
- package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/internationalization/choices.js +22 -0
- package/dist/mjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/saleEmail.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/saleEmail.js +2 -0
- package/dist/mjs/utils/commercialManagement/saleEmail.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/templates/body.js +1 -1
- package/dist/mjs/utils/commercialManagement/templates/body.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/BankStatement.ts +15 -1
- package/ts/api/resources/Shine.ts +1 -11
- package/ts/types/Enum/CommercialManagement.ts +5 -5
- package/ts/types/Enum/ReasonNotSubscribed.ts +2 -2
- package/ts/types/Interface/api/balanceSheet/UpdateBalanceSheet.ts +5 -0
- package/ts/types/Interface/api/bankStatement/QueryBankStatement.ts +6 -0
- package/ts/types/Interface/api/commercial/Query.ts +78 -1
- package/ts/types/Interface/api/commercialManagement/Create.ts +9 -0
- package/ts/types/Interface/api/config/ConfigType.ts +1 -0
- package/ts/types/Interface/api/shine/ConnectResponse.ts +0 -1
- package/ts/types/Interface/api/shine/CreateShine.ts +63 -50
- package/ts/utils/commercialManagement/document.ts +2 -0
- package/ts/utils/commercialManagement/internationalization/choices.ts +24 -1
- package/ts/utils/commercialManagement/saleEmail.ts +2 -0
- package/ts/utils/commercialManagement/templates/body.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,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;;;;;;;;;;;;;;;;;SAiB9F,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;;;;;;;;;;;;;;;;;;wEAkBlB,mBAAmB,CAAC,KAAK,iCAAiC,mBAAmB,CAAC,GAAG;;;;oFAIrE,mBAAmB,CAAC,KAAK,iCAAiC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../ts/utils/commercialManagement/templates/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,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;;;;;;;;;;;;;;;;;SAiB9F,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;;;;;;;;;;;;;;;;;;wEAkBlB,mBAAmB,CAAC,KAAK,iCAAiC,mBAAmB,CAAC,GAAG;;;;oFAIrE,mBAAmB,CAAC,OAAO,iCAAiC,mBAAmB,CAAC,OAAO,iCAAiC,mBAAmB,CAAC,KAAK,iCAAiC,mBAAmB,CAAC,KAAK;;;;;;;QAOvR,cAAc,CAAC,KAAK;;;QAGpB,cAAc,CAAC,YAAY;;QAE3B,CAAC","sourcesContent":["import { EstimateInvoiceType } from '../../../types/Enum/EstimateInvoice';\nimport { CommercialDocumentCommonHTML } from './common';\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.zipCode) {%><%= thirdParty.zipCode + ' ' %><% } %><%= thirdParty.city %> <%= thirdParty.country %><br/>\n <% if(thirdParty.deliveryAddress && thirdParty.deliveryCity && thirdParty.deliveryZipCode) {%>Adresse de livraison : <%= thirdParty.deliveryAddress %> <%= 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) { %>Titre : <%= 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) { %><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 ((settings && (settings.iban || settings.bic || settings.bank)) || paymentType) { %>\n <% if(paymentType) { %><%= languageTemplate.template.common.options.paymentType %> : <%= paymentType %><br/><% } %>\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 </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) && (idEstimateInvoiceType === ${EstimateInvoiceType.FACTURE} || idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE} || idEstimateInvoiceType === ${EstimateInvoiceType.AVOIR} || idEstimateInvoiceType === ${EstimateInvoiceType.RESTE} ) { %>\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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.95",
|
|
4
4
|
"description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
|
|
5
5
|
"homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -3,11 +3,25 @@ import {
|
|
|
3
3
|
IAccountingTransaction,
|
|
4
4
|
UploadBankStatement,
|
|
5
5
|
QueryTransactionBankStatement,
|
|
6
|
-
ReadBankStatement
|
|
6
|
+
ReadBankStatement
|
|
7
7
|
} from '../../types';
|
|
8
8
|
import { isDefined } from 'class-validator';
|
|
9
9
|
|
|
10
10
|
export class BankStatement extends Resource {
|
|
11
|
+
uploadV2(file: File, params: Omit<UploadBankStatement, 'file'>): Promise<ReadBankStatement> {
|
|
12
|
+
const sendAccountingFiles = new FormData();
|
|
13
|
+
|
|
14
|
+
if (isDefined(params.fromRevision)) sendAccountingFiles.append('fromRevision', `${params.fromRevision}`);
|
|
15
|
+
sendAccountingFiles.append('useExtended', `${params.useExtended}`);
|
|
16
|
+
sendAccountingFiles.append('idBankAccount', params.idBankAccount.toString());
|
|
17
|
+
sendAccountingFiles.append('idSociety', params.idSociety.toString());
|
|
18
|
+
sendAccountingFiles.append('file', file);
|
|
19
|
+
|
|
20
|
+
return this.axios.$post('/bank-statements/upload/v2', sendAccountingFiles, {
|
|
21
|
+
headers: { 'Content-Type': 'multipart/form-data' },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
11
25
|
upload(file: File, params: Omit<UploadBankStatement, 'file'>): Promise<ReadBankStatement> {
|
|
12
26
|
const sendAccountingFiles = new FormData();
|
|
13
27
|
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { Resource } from '../Resource';
|
|
2
|
-
import {
|
|
3
|
-
IBankAccount,
|
|
4
|
-
CreateShineTransactions,
|
|
5
|
-
GetConnect,
|
|
6
|
-
CreateShineAccount,
|
|
7
|
-
ConnectResponse,
|
|
8
|
-
IBankConnection,
|
|
9
|
-
} from '../../types';
|
|
2
|
+
import { IBankAccount, CreateShineTransactions, GetConnect, CreateShineAccount, ConnectResponse } from '../../types';
|
|
10
3
|
|
|
11
4
|
export class Shine extends Resource {
|
|
12
5
|
connect(idSociety: number, params: GetConnect): Promise<ConnectResponse> {
|
|
@@ -18,7 +11,4 @@ export class Shine extends Resource {
|
|
|
18
11
|
importTransactions(params: CreateShineTransactions): Promise<number> {
|
|
19
12
|
return this.axios.$post('/connectors/shine/importTransactions', params);
|
|
20
13
|
}
|
|
21
|
-
refreshConnection(idBankConnection: number): Promise<IBankConnection> {
|
|
22
|
-
return this.axios.$put(`/connectors/shine/${idBankConnection}/refresh-connection`);
|
|
23
|
-
}
|
|
24
14
|
}
|
|
@@ -184,7 +184,7 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
|
|
|
184
184
|
name: 'modèle devis par défaut',
|
|
185
185
|
subject: 'Votre devis',
|
|
186
186
|
content:
|
|
187
|
-
'<p>Bonjour
|
|
187
|
+
'<p>Bonjour <span style="color: rgb(131, 131, 132);">[nom_client]</span>, </p> <p>Vous trouverez ci-joint votre devis N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception. </p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
|
|
188
188
|
type: EmailType.ESTIMATE,
|
|
189
189
|
isDefault: false,
|
|
190
190
|
},
|
|
@@ -192,7 +192,7 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
|
|
|
192
192
|
name: 'modèle facture par défaut',
|
|
193
193
|
subject: 'Votre facture',
|
|
194
194
|
content:
|
|
195
|
-
'<p>Bonjour
|
|
195
|
+
'<p>Bonjour <span style="color: rgb(131, 131, 132);">[nom_client]</span>, </p> <p>Vous trouverez ci-joint votre facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
|
|
196
196
|
type: EmailType.INVOICE,
|
|
197
197
|
isDefault: false,
|
|
198
198
|
},
|
|
@@ -200,7 +200,7 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
|
|
|
200
200
|
name: 'modèle bon de commande par défaut',
|
|
201
201
|
subject: 'Votre bon de commande',
|
|
202
202
|
content:
|
|
203
|
-
'<p>Bonjour
|
|
203
|
+
'<p>Bonjour <span style="color: rgb(131, 131, 132);">[nom_client]</span>, </p> <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
|
|
204
204
|
type: EmailType.ORDER_FORM,
|
|
205
205
|
isDefault: false,
|
|
206
206
|
},
|
|
@@ -208,7 +208,7 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
|
|
|
208
208
|
name: 'modèle avoir par défaut',
|
|
209
209
|
subject: 'Votre avoir',
|
|
210
210
|
content:
|
|
211
|
-
'<p>Bonjour
|
|
211
|
+
'<p>Bonjour <span style="color: rgb(131, 131, 132);">[nom_client]</span>, </p> <p>Vous trouverez ci-joint votre facture.</p> <p>Vous trouverez ci-joint votre bon de commande N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span>. </p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
|
|
212
212
|
type: EmailType.ASSET,
|
|
213
213
|
isDefault: false,
|
|
214
214
|
},
|
|
@@ -216,7 +216,7 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
|
|
|
216
216
|
name: 'modèle relance par défaut',
|
|
217
217
|
subject: 'Votre facture',
|
|
218
218
|
content:
|
|
219
|
-
'<p>Bonjour
|
|
219
|
+
'<p>Bonjour <span style="color: rgb(131, 131, 132);">[nom_client]</span>, </p> <p>Je me permets de revenir vers vous concernant la facture N°<span style="color: rgb(131, 131, 132);">[reference_document]</span> d’un montant de <span style="color: rgb(131, 131, 132);">[montant_ttc_document]</span> pour laquelle le paiement est toujours en attente. </p> <p>Je vous joins à nouveau le document en pièce jointe en cas de besoin.</p> <p>Vous en souhaitant bonne réception.</p> <p>Cordialement,</p><p><span style="color: rgb(131, 131, 132);">[raison_sociale]</span></p>',
|
|
220
220
|
type: EmailType.CUSTOMER_REMINDER,
|
|
221
221
|
isDefault: false,
|
|
222
222
|
},
|
|
@@ -20,7 +20,7 @@ export const ReasonNotSubscribed = [
|
|
|
20
20
|
{
|
|
21
21
|
id: 4,
|
|
22
22
|
text: 'Prestation social pour salarié unique',
|
|
23
|
-
hidden:
|
|
23
|
+
hidden: true,
|
|
24
24
|
isOver: null,
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -165,7 +165,7 @@ export const ReasonNotSubscribed = [
|
|
|
165
165
|
id: 29,
|
|
166
166
|
text: 'Prestation non prise en charge',
|
|
167
167
|
hidden: false,
|
|
168
|
-
isOver: [2, 3,
|
|
168
|
+
isOver: [2, 3, 5, 6, 14, 15, 16, 21, 22, 30],
|
|
169
169
|
},
|
|
170
170
|
{
|
|
171
171
|
id: 30,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IsDate, IsOptional } from 'class-validator';
|
|
1
|
+
import { IsBoolean, IsDate, IsInt, IsOptional, IsString } from 'class-validator';
|
|
2
2
|
import { ApiPropertyOptional } from '../../../../utils';
|
|
3
|
+
import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
|
|
3
4
|
|
|
4
5
|
export class QueryGetLeadByUser {
|
|
5
6
|
@ApiPropertyOptional()
|
|
@@ -12,3 +13,79 @@ export class QueryGetLeadByUser {
|
|
|
12
13
|
@IsDate()
|
|
13
14
|
endDate?: Date;
|
|
14
15
|
}
|
|
16
|
+
|
|
17
|
+
export class QueryGetListSocietiesFilteredBetweenDate {
|
|
18
|
+
@ApiPropertyOptional()
|
|
19
|
+
@IsOptional()
|
|
20
|
+
@IsString()
|
|
21
|
+
search?: string;
|
|
22
|
+
|
|
23
|
+
@ApiPropertyOptional()
|
|
24
|
+
@IsOptional()
|
|
25
|
+
@IsBoolean()
|
|
26
|
+
@ToBoolean()
|
|
27
|
+
isInCA?: boolean;
|
|
28
|
+
|
|
29
|
+
@ApiPropertyOptional()
|
|
30
|
+
@IsOptional()
|
|
31
|
+
@IsBoolean()
|
|
32
|
+
@ToBoolean()
|
|
33
|
+
isAdditionalSales?: boolean;
|
|
34
|
+
|
|
35
|
+
@ApiPropertyOptional()
|
|
36
|
+
@IsOptional()
|
|
37
|
+
@IsDate()
|
|
38
|
+
startDate?: Date;
|
|
39
|
+
|
|
40
|
+
@ApiPropertyOptional()
|
|
41
|
+
@IsOptional()
|
|
42
|
+
@IsDate()
|
|
43
|
+
endDate?: Date;
|
|
44
|
+
|
|
45
|
+
@ApiPropertyOptional()
|
|
46
|
+
@IsOptional()
|
|
47
|
+
@IsInt()
|
|
48
|
+
idUser?: number;
|
|
49
|
+
|
|
50
|
+
@ApiPropertyOptional()
|
|
51
|
+
@IsOptional()
|
|
52
|
+
@IsInt()
|
|
53
|
+
idSource?: number;
|
|
54
|
+
|
|
55
|
+
@ApiPropertyOptional()
|
|
56
|
+
@IsOptional()
|
|
57
|
+
@IsInt({ each: true })
|
|
58
|
+
idPrestationList?: number[];
|
|
59
|
+
|
|
60
|
+
@ApiPropertyOptional()
|
|
61
|
+
@IsOptional()
|
|
62
|
+
@IsInt({ each: true })
|
|
63
|
+
idOfferList?: number[];
|
|
64
|
+
|
|
65
|
+
@ApiPropertyOptional()
|
|
66
|
+
@IsOptional()
|
|
67
|
+
@IsInt({ each: true })
|
|
68
|
+
idState?: number[];
|
|
69
|
+
|
|
70
|
+
@ApiPropertyOptional()
|
|
71
|
+
@IsOptional()
|
|
72
|
+
@IsInt({ each: true })
|
|
73
|
+
idConstitutionState?: number[];
|
|
74
|
+
|
|
75
|
+
@ApiPropertyOptional()
|
|
76
|
+
@IsOptional()
|
|
77
|
+
@IsBoolean()
|
|
78
|
+
@ToBoolean()
|
|
79
|
+
goToFacturation?: boolean;
|
|
80
|
+
|
|
81
|
+
@ApiPropertyOptional()
|
|
82
|
+
@IsOptional()
|
|
83
|
+
@IsBoolean()
|
|
84
|
+
@ToBoolean()
|
|
85
|
+
goToOnboarding?: boolean;
|
|
86
|
+
|
|
87
|
+
@ApiPropertyOptional()
|
|
88
|
+
@IsOptional()
|
|
89
|
+
@IsInt()
|
|
90
|
+
idTypeBrand?: number;
|
|
91
|
+
}
|
|
@@ -389,6 +389,12 @@ export class CreateCommercialMail {
|
|
|
389
389
|
@IsBoolean()
|
|
390
390
|
@ToBoolean()
|
|
391
391
|
shouldSaveToCustomTemplate?: boolean;
|
|
392
|
+
|
|
393
|
+
@ApiPropertyOptional()
|
|
394
|
+
@IsOptional()
|
|
395
|
+
@IsBoolean()
|
|
396
|
+
@ToBoolean()
|
|
397
|
+
isTest?: boolean;
|
|
392
398
|
}
|
|
393
399
|
|
|
394
400
|
export class CreateCommercialMailWithMultipleFiles extends CreateCommercialMail {
|
|
@@ -511,6 +517,9 @@ export class CommercialDocumentInputs {
|
|
|
511
517
|
@ToBoolean()
|
|
512
518
|
shouldPayTaxAfterDebit?: boolean;
|
|
513
519
|
|
|
520
|
+
@ApiProperty()
|
|
521
|
+
idSaleDocumentTemplate?: number;
|
|
522
|
+
|
|
514
523
|
@ApiPropertyOptional({ description: 'Moyen de paiement' })
|
|
515
524
|
paymentType?: string | null;
|
|
516
525
|
}
|
|
@@ -21,94 +21,107 @@ export type ShineTokenInformations = {
|
|
|
21
21
|
exp: number;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
+
export enum ShineTransactionCategory {
|
|
25
|
+
DEFAULT = 'DEFAULT',
|
|
26
|
+
BANKING = 'BANKING',
|
|
27
|
+
CASH = 'CASH',
|
|
28
|
+
CONTRIBUTIONS = 'CONTRIBUTIONS',
|
|
29
|
+
EQUIPMENT = 'EQUIPMENT',
|
|
30
|
+
FOOD = 'FOOD',
|
|
31
|
+
HOTEL = 'HOTEL',
|
|
32
|
+
LEGAL = 'LEGAL',
|
|
33
|
+
LOAN = 'LOAN',
|
|
34
|
+
MAINTENANCE = 'MAINTENANCE',
|
|
35
|
+
MISC = 'MISC',
|
|
36
|
+
PERSONAL = 'PERSONAL',
|
|
37
|
+
RENT = 'RENT',
|
|
38
|
+
SERVICES = 'SERVICES',
|
|
39
|
+
TAX = 'TAX',
|
|
40
|
+
TELECOM = 'TELECOM',
|
|
41
|
+
ALCOOL_TOBACCO = 'ALCOOL_TOBACCO',
|
|
42
|
+
TRANSPORTATION = 'TRANSPORTATION',
|
|
43
|
+
UTILITIES = 'UTILITIES',
|
|
44
|
+
VEHICLE = 'VEHICLE',
|
|
45
|
+
BETTING = 'BETTING',
|
|
46
|
+
}
|
|
47
|
+
|
|
24
48
|
export type ShineBankAccount = {
|
|
25
49
|
bankAccountId: string;
|
|
50
|
+
bic: string;
|
|
51
|
+
companyProfileId: string;
|
|
52
|
+
createdAt: number;
|
|
53
|
+
currency: string;
|
|
26
54
|
currentBalance: number;
|
|
27
55
|
currentBalanceFloat: number;
|
|
28
|
-
nextBalance: number;
|
|
29
|
-
nextBalanceFloat: number;
|
|
30
|
-
currency: string;
|
|
31
56
|
iban: string;
|
|
32
|
-
|
|
57
|
+
isHidden: boolean;
|
|
33
58
|
name: string;
|
|
59
|
+
nextBalance: number;
|
|
60
|
+
nextBalanceFloat: number;
|
|
34
61
|
ownerName: string;
|
|
35
|
-
trzWalletId: string;
|
|
36
|
-
type: string;
|
|
37
|
-
createdAt: number;
|
|
38
62
|
status: string;
|
|
39
|
-
|
|
40
|
-
companyProfileId: string;
|
|
63
|
+
type: string;
|
|
41
64
|
updatedAt: number;
|
|
42
|
-
closedAt: number | null;
|
|
43
|
-
lockedCustomMessage: string | null;
|
|
44
|
-
lockedReason: string | null;
|
|
45
|
-
isHidden: boolean;
|
|
46
|
-
illustrationName: string | null;
|
|
47
|
-
balanceFromProviderUpdatedAt: string;
|
|
48
65
|
};
|
|
49
66
|
|
|
50
67
|
export type ShineBankTransaction = {
|
|
51
|
-
|
|
68
|
+
authorizationReleasedAt: null;
|
|
69
|
+
bankAccountId: string;
|
|
70
|
+
bankTransferId: string;
|
|
71
|
+
bankTransferStatus: string | null;
|
|
72
|
+
cardPaymentStatus: string | null;
|
|
73
|
+
category: ShineTransactionCategory;
|
|
74
|
+
companyUserId: string | null;
|
|
52
75
|
createdAt: number;
|
|
53
76
|
currency: string;
|
|
77
|
+
description: string;
|
|
78
|
+
directDebitMandateId: string;
|
|
79
|
+
executedAt: null;
|
|
80
|
+
fee: number;
|
|
81
|
+
feeType: string;
|
|
82
|
+
hasReceipts: boolean;
|
|
83
|
+
initiatorName: null;
|
|
84
|
+
is3DS: boolean;
|
|
85
|
+
isHidden: boolean;
|
|
86
|
+
isOnAgentWallet: boolean;
|
|
87
|
+
isRefund: boolean;
|
|
88
|
+
note: string;
|
|
89
|
+
payinVirtualStatus: null;
|
|
54
90
|
paymentMethod: string;
|
|
55
|
-
|
|
56
|
-
|
|
91
|
+
refundTransactionId: null;
|
|
92
|
+
sentToSepaNetworkAt: null;
|
|
57
93
|
status: string;
|
|
58
94
|
title: string;
|
|
59
95
|
titleLatinised: string;
|
|
96
|
+
transactionAt: number;
|
|
97
|
+
transactionId: string;
|
|
98
|
+
transactionSettledAt: number;
|
|
99
|
+
transferPayinSenderName: string;
|
|
60
100
|
type: 'payout' | 'payin';
|
|
61
|
-
uid: string;
|
|
101
|
+
uid: string | null;
|
|
62
102
|
updatedAt: number;
|
|
63
103
|
value: number;
|
|
64
|
-
bankTransferId: string;
|
|
65
|
-
transactionAt: number;
|
|
66
|
-
fee: number;
|
|
67
|
-
transferPayinSenderName: string;
|
|
68
|
-
feeType: string;
|
|
69
|
-
description: string;
|
|
70
|
-
category: string;
|
|
71
|
-
isRefund: boolean;
|
|
72
|
-
directDebitMandateId: string;
|
|
73
|
-
bankAccountId: string;
|
|
74
|
-
transactionSettledAt: number;
|
|
75
|
-
providerCardPaymentId: null;
|
|
76
|
-
providerCardTransactionId: null;
|
|
77
|
-
cardPaymentStatus: null;
|
|
78
104
|
isPersonal: boolean;
|
|
79
|
-
hasReceipts: boolean;
|
|
80
|
-
note: string;
|
|
81
|
-
isHidden: boolean;
|
|
82
|
-
authorizationReleasedAt: null;
|
|
83
|
-
refundTransactionId: null;
|
|
84
|
-
executedAt: null;
|
|
85
|
-
companyUserId: null;
|
|
86
|
-
initiatorName: null;
|
|
87
|
-
remainingAuthorized: null;
|
|
88
|
-
expectedReleaseDate: null;
|
|
89
|
-
cardPaymentMethod: null;
|
|
90
|
-
paymentCurrency: string;
|
|
91
|
-
is3DS: boolean;
|
|
92
105
|
};
|
|
93
106
|
|
|
94
107
|
export type ShineTransactionReceipt = {
|
|
95
|
-
receiptId: string;
|
|
96
108
|
bucketName: string;
|
|
97
109
|
bucketPath: string;
|
|
110
|
+
category: string;
|
|
111
|
+
receiptId: string;
|
|
98
112
|
companyProfileId: string;
|
|
99
113
|
companyUserId: string;
|
|
100
114
|
createdByCompanyUserId: string | null;
|
|
101
|
-
createdAt: number;
|
|
102
|
-
category: string;
|
|
103
115
|
currency: string;
|
|
116
|
+
createdAt: number;
|
|
104
117
|
deleted: boolean;
|
|
105
118
|
fileRef: string;
|
|
106
119
|
processing: boolean;
|
|
107
120
|
sellerName: string;
|
|
108
121
|
sellerNameLatinised: string;
|
|
109
122
|
subtotal: number;
|
|
110
|
-
thumbUrl: string;
|
|
111
123
|
total: number;
|
|
124
|
+
thumbUrl: string;
|
|
112
125
|
transactionAt: number;
|
|
113
126
|
transactionId: string | null;
|
|
114
127
|
udpatedAt: number;
|
|
@@ -153,6 +153,8 @@ export function generateCommercialDocument(
|
|
|
153
153
|
products: data.products.map((p) => ({
|
|
154
154
|
...p,
|
|
155
155
|
comment: p.comment && typeof p.comment === 'string' ? p.comment?.replace(/\n/g, '<br/>') : null,
|
|
156
|
+
// @ts-expect-error
|
|
157
|
+
unitFormatted: internationalizationConsistency(locale, p.unitFormatted, 'unit'),
|
|
156
158
|
})),
|
|
157
159
|
vats: forcedVats ?? vats,
|
|
158
160
|
}),
|
|
@@ -8,7 +8,8 @@ type InternationalizationConsistencyKey =
|
|
|
8
8
|
| 'recoveryCost'
|
|
9
9
|
| 'paymentType'
|
|
10
10
|
| 'termsOfPayment'
|
|
11
|
-
| 'accountingCategory'
|
|
11
|
+
| 'accountingCategory'
|
|
12
|
+
| 'unit';
|
|
12
13
|
|
|
13
14
|
export const internationalizationChoices: InternationalizationChoicesType = {
|
|
14
15
|
fr: {
|
|
@@ -508,6 +509,28 @@ const internationalizationMatching: { [key: string]: { fr: string; en: string }[
|
|
|
508
509
|
en: 'Services provision and supply of goods',
|
|
509
510
|
},
|
|
510
511
|
],
|
|
512
|
+
unit: [
|
|
513
|
+
{ fr: 'art', en: 'art' },
|
|
514
|
+
{ fr: 'h', en: 'h' },
|
|
515
|
+
{ fr: 'j', en: 'd' },
|
|
516
|
+
{ fr: 'Kg', en: 'kg' },
|
|
517
|
+
{ fr: 'l', en: 'l' },
|
|
518
|
+
{ fr: 'km', en: 'km' },
|
|
519
|
+
{ fr: 'demi j', en: 'half d' },
|
|
520
|
+
{ fr: 'an', en: 'year' },
|
|
521
|
+
{ fr: 'sem', en: 'week' },
|
|
522
|
+
{ fr: 'mois', en: 'month' },
|
|
523
|
+
{ fr: 'trim', en: 'quart' },
|
|
524
|
+
{ fr: 'p', en: 'p' },
|
|
525
|
+
{ fr: 'f', en: 'f' },
|
|
526
|
+
{ fr: 'm2', en: 'm2' },
|
|
527
|
+
{ fr: 'm3', en: 'm3' },
|
|
528
|
+
{ fr: 'Mètre', en: 'meter' },
|
|
529
|
+
{ fr: 'abo', en: 'sub' },
|
|
530
|
+
{ fr: 'nuit', en: 'night' },
|
|
531
|
+
{ fr: 't', en: 't' },
|
|
532
|
+
{ fr: 'ha', en: 'ha' },
|
|
533
|
+
],
|
|
511
534
|
};
|
|
512
535
|
|
|
513
536
|
export const internationalizationConsistency = (
|
|
@@ -47,6 +47,8 @@ export function transformModelWithCharcodeToString(datas: InfoToUseType, templat
|
|
|
47
47
|
} else {
|
|
48
48
|
newString = splitString.replace(`[${char.name}]`, `${dataToInfer}`) + endOfString;
|
|
49
49
|
}
|
|
50
|
+
// then we remove the color of variable (tag) from the front
|
|
51
|
+
newString = newString.replace('style="color: rgb(131, 131, 132);"', '');
|
|
50
52
|
});
|
|
51
53
|
return newString;
|
|
52
54
|
}
|
|
@@ -115,7 +115,7 @@ export const bodyTemplate = `<html class="pdf-content">
|
|
|
115
115
|
<br/><%= languageTemplate.template.common.options.approval %> : <br/><br/><br/><br/>
|
|
116
116
|
<% } %>
|
|
117
117
|
|
|
118
|
-
<% if (cgv && (
|
|
118
|
+
<% if (cgv && (settings && settings.invoiceCgv) && (idEstimateInvoiceType === ${EstimateInvoiceType.FACTURE} || idEstimateInvoiceType === ${EstimateInvoiceType.ACOMPTE} || idEstimateInvoiceType === ${EstimateInvoiceType.AVOIR} || idEstimateInvoiceType === ${EstimateInvoiceType.RESTE} ) { %>
|
|
119
119
|
<br><div style="page-break-after:always;"></div>
|
|
120
120
|
<div id="WYSIWYG"><%- cgv %></div>
|
|
121
121
|
<% } %>
|