@silexpert/core 1.2.81 → 1.2.83

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 (95) hide show
  1. package/dist/cjs/api/resources/TimeRecorder.d.ts +2 -1
  2. package/dist/cjs/api/resources/TimeRecorder.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/TimeRecorder.js +3 -0
  4. package/dist/cjs/api/resources/TimeRecorder.js.map +1 -1
  5. package/dist/cjs/types/Enum/AppointmentState.d.ts +6 -1
  6. package/dist/cjs/types/Enum/AppointmentState.d.ts.map +1 -1
  7. package/dist/cjs/types/Enum/AppointmentState.js +5 -0
  8. package/dist/cjs/types/Enum/AppointmentState.js.map +1 -1
  9. package/dist/cjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  10. package/dist/cjs/types/Enum/BrandPourcentage.js +12 -6
  11. package/dist/cjs/types/Enum/BrandPourcentage.js.map +1 -1
  12. package/dist/cjs/types/Enum/CommercialManagement.d.ts.map +1 -1
  13. package/dist/cjs/types/Enum/CommercialManagement.js +5 -36
  14. package/dist/cjs/types/Enum/CommercialManagement.js.map +1 -1
  15. package/dist/cjs/types/Enum/IncomeStatement.js +1 -1
  16. package/dist/cjs/types/Enum/IncomeStatement.js.map +1 -1
  17. package/dist/cjs/types/Interface/api/timeRecorder/Query.d.ts +4 -0
  18. package/dist/cjs/types/Interface/api/timeRecorder/Query.d.ts.map +1 -1
  19. package/dist/cjs/types/Interface/api/timeRecorder/Query.js +14 -1
  20. package/dist/cjs/types/Interface/api/timeRecorder/Query.js.map +1 -1
  21. package/dist/cjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.d.ts +1 -0
  22. package/dist/cjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.d.ts.map +1 -1
  23. package/dist/cjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.js.map +1 -1
  24. package/dist/cjs/types/Interface/api/user/CreateCoworker.d.ts +1 -0
  25. package/dist/cjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  26. package/dist/cjs/types/Interface/api/user/CreateCoworker.js +6 -0
  27. package/dist/cjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  28. package/dist/cjs/types/Interface/api/user/UpdateCoworker.d.ts +1 -0
  29. package/dist/cjs/types/Interface/api/user/UpdateCoworker.d.ts.map +1 -1
  30. package/dist/cjs/types/Interface/api/user/UpdateCoworker.js +7 -0
  31. package/dist/cjs/types/Interface/api/user/UpdateCoworker.js.map +1 -1
  32. package/dist/cjs/types/Interface/models/IUser.d.ts +1 -0
  33. package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
  34. package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
  35. package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
  36. package/dist/cjs/utils/commercialManagement/document.js +21 -16
  37. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  38. package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
  39. package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  40. package/dist/cjs/utils/commercialManagement/internationalization/choices.js +15 -1
  41. package/dist/cjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  42. package/dist/mjs/api/resources/TimeRecorder.d.ts +2 -1
  43. package/dist/mjs/api/resources/TimeRecorder.d.ts.map +1 -1
  44. package/dist/mjs/api/resources/TimeRecorder.js +3 -0
  45. package/dist/mjs/api/resources/TimeRecorder.js.map +1 -1
  46. package/dist/mjs/types/Enum/AppointmentState.d.ts +6 -1
  47. package/dist/mjs/types/Enum/AppointmentState.d.ts.map +1 -1
  48. package/dist/mjs/types/Enum/AppointmentState.js +5 -0
  49. package/dist/mjs/types/Enum/AppointmentState.js.map +1 -1
  50. package/dist/mjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  51. package/dist/mjs/types/Enum/BrandPourcentage.js +12 -6
  52. package/dist/mjs/types/Enum/BrandPourcentage.js.map +1 -1
  53. package/dist/mjs/types/Enum/CommercialManagement.d.ts.map +1 -1
  54. package/dist/mjs/types/Enum/CommercialManagement.js +5 -36
  55. package/dist/mjs/types/Enum/CommercialManagement.js.map +1 -1
  56. package/dist/mjs/types/Enum/IncomeStatement.js +1 -1
  57. package/dist/mjs/types/Enum/IncomeStatement.js.map +1 -1
  58. package/dist/mjs/types/Interface/api/timeRecorder/Query.d.ts +4 -0
  59. package/dist/mjs/types/Interface/api/timeRecorder/Query.d.ts.map +1 -1
  60. package/dist/mjs/types/Interface/api/timeRecorder/Query.js +14 -0
  61. package/dist/mjs/types/Interface/api/timeRecorder/Query.js.map +1 -1
  62. package/dist/mjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.d.ts +1 -0
  63. package/dist/mjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.d.ts.map +1 -1
  64. package/dist/mjs/types/Interface/api/timeRecorder/ReadPaginatedDelays.js.map +1 -1
  65. package/dist/mjs/types/Interface/api/user/CreateCoworker.d.ts +1 -0
  66. package/dist/mjs/types/Interface/api/user/CreateCoworker.d.ts.map +1 -1
  67. package/dist/mjs/types/Interface/api/user/CreateCoworker.js +7 -0
  68. package/dist/mjs/types/Interface/api/user/CreateCoworker.js.map +1 -1
  69. package/dist/mjs/types/Interface/api/user/UpdateCoworker.d.ts +1 -0
  70. package/dist/mjs/types/Interface/api/user/UpdateCoworker.d.ts.map +1 -1
  71. package/dist/mjs/types/Interface/api/user/UpdateCoworker.js +8 -0
  72. package/dist/mjs/types/Interface/api/user/UpdateCoworker.js.map +1 -1
  73. package/dist/mjs/types/Interface/models/IUser.d.ts +1 -0
  74. package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
  75. package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
  76. package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
  77. package/dist/mjs/utils/commercialManagement/document.js +10 -5
  78. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  79. package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts +1 -1
  80. package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  81. package/dist/mjs/utils/commercialManagement/internationalization/choices.js +15 -1
  82. package/dist/mjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  83. package/package.json +1 -1
  84. package/ts/api/resources/TimeRecorder.ts +4 -0
  85. package/ts/types/Enum/AppointmentState.ts +5 -0
  86. package/ts/types/Enum/BrandPourcentage.ts +12 -6
  87. package/ts/types/Enum/CommercialManagement.ts +10 -36
  88. package/ts/types/Enum/IncomeStatement.ts +1 -1
  89. package/ts/types/Interface/api/timeRecorder/Query.ts +10 -0
  90. package/ts/types/Interface/api/timeRecorder/ReadPaginatedDelays.ts +1 -0
  91. package/ts/types/Interface/api/user/CreateCoworker.ts +5 -0
  92. package/ts/types/Interface/api/user/UpdateCoworker.ts +6 -0
  93. package/ts/types/Interface/models/IUser.ts +1 -0
  94. package/ts/utils/commercialManagement/document.ts +11 -5
  95. package/ts/utils/commercialManagement/internationalization/choices.ts +17 -2
@@ -183,66 +183,40 @@ export const DefaultEmailTemplateList: Array<Omit<ISaleEmail, 'idSociety'>> = [
183
183
  {
184
184
  name: 'modèle devis par défaut',
185
185
  subject: 'Votre devis',
186
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
187
- <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>
188
- <p>Vous en souhaitant bonne réception.</p>
189
- <p>Cordialement,
190
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
191
- </p>`,
186
+ content:
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>',
192
188
  type: EmailType.ESTIMATE,
193
189
  isDefault: false,
194
190
  },
195
191
  {
196
192
  name: 'modèle facture par défaut',
197
193
  subject: 'Votre facture',
198
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
199
- <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>
200
- <p>Cordialement,
201
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
202
- </p>`,
194
+ content:
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>',
203
196
  type: EmailType.INVOICE,
204
197
  isDefault: false,
205
198
  },
206
199
  {
207
200
  name: 'modèle bon de commande par défaut',
208
201
  subject: 'Votre bon de commande',
209
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span></p>
210
- <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>
211
- <p>Vous en souhaitant bonne réception.</p>
212
- <p>Cordialement,
213
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
214
- </p>`,
202
+ content:
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>',
215
204
  type: EmailType.ORDER_FORM,
216
205
  isDefault: false,
217
206
  },
218
207
  {
219
208
  name: 'modèle avoir par défaut',
220
209
  subject: 'Votre avoir',
221
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
222
- <p>Vous trouverez ci-joint votre facture.</p>
223
- <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>
224
- <p>Vous en souhaitant bonne réception.</p>
225
- <p>Cordialement,
226
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
227
- </p>`,
210
+ content:
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>',
228
212
  type: EmailType.ASSET,
229
213
  isDefault: false,
230
214
  },
231
215
  {
232
216
  name: 'modèle relance par défaut',
233
217
  subject: 'Votre facture',
234
- content: `<p>Bonjour, <span style="color: rgb(131, 131, 132);">[nom_client]</span> </p>
235
- <p>
236
- 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.
237
- </p>
238
- <p>
239
- Je vous joins à nouveau le document en pièce jointe en cas de besoin.
240
- </p>
241
- <p>Vous en souhaitant bonne réception.</p>
242
- <p>
243
- Cordialement,
244
- <span style="color: rgb(131, 131, 132);">[raison_sociale]</span>
245
- </p>`,
218
+ content:
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>',
246
220
  type: EmailType.CUSTOMER_REMINDER,
247
221
  isDefault: false,
248
222
  },
@@ -322,7 +322,7 @@ export const INCOME_STATEMENT_LIST: IncomeStatement[] = [
322
322
  name: 'Impôt sur les bénéfices',
323
323
  total: 0,
324
324
  key: 'incomeTax',
325
- accounts: ['695'],
325
+ accounts: ['69'],
326
326
  },
327
327
  {
328
328
  name: "Résultat de l'exercice",
@@ -20,3 +20,13 @@ export class QueryGetTimeRecorder {
20
20
  @IsDate()
21
21
  date: Date;
22
22
  }
23
+
24
+ export class QueryCaculateRealTime {
25
+ @ApiProperty()
26
+ @IsDate()
27
+ startDate: Date;
28
+
29
+ @ApiProperty()
30
+ @IsDate()
31
+ endDate: Date;
32
+ }
@@ -17,6 +17,7 @@ export interface ReadPaginatedDelays {
17
17
  idUser: number;
18
18
  firstname: string;
19
19
  lastname: string;
20
+ flexitime: boolean;
20
21
  days: DelaysByDay;
21
22
  }
22
23
 
@@ -56,6 +56,11 @@ export class CreateCoworker {
56
56
  @ToBoolean()
57
57
  active: boolean;
58
58
 
59
+ @ApiProperty({ default: false })
60
+ @IsDefined()
61
+ @ToBoolean()
62
+ flexitime: boolean;
63
+
59
64
  @ApiPropertyOptional({ default: true })
60
65
  @IsBoolean()
61
66
  @ToBoolean()
@@ -45,6 +45,12 @@ export class UpdateCorworker implements IUser {
45
45
  @ToBoolean()
46
46
  active?: boolean;
47
47
 
48
+ @ApiPropertyOptional()
49
+ @IsOptional()
50
+ @IsBoolean()
51
+ @ToBoolean()
52
+ flexitime?: boolean;
53
+
48
54
  @ApiPropertyOptional()
49
55
  @IsOptional()
50
56
  @IsBoolean()
@@ -75,6 +75,7 @@ export interface IUser {
75
75
  idCommercialDoublon?: number | null;
76
76
  idProspectIsWith?: number | null;
77
77
  apprentice?: boolean;
78
+ flexitime?: boolean;
78
79
  /**
79
80
  * @deprecated
80
81
  */
@@ -71,6 +71,8 @@ export function generateCommercialDocument(
71
71
  const locale = payload.language ?? InvoiceLanguage.FR;
72
72
  const languageOption = internationalizationChoices[locale];
73
73
 
74
+ const accountingCategory = AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null;
75
+
74
76
  const data: ReadDocumentEditing & { brandColors: brandColorType; brandName: string; shouldHideBrandName: boolean } = {
75
77
  ...payload,
76
78
  thirdParty,
@@ -78,15 +80,17 @@ export function generateCommercialDocument(
78
80
  idEstimateInvoiceType,
79
81
  title: payload.title ?? null,
80
82
  penalties: payload.penalties
81
- ? (internationalizationConsistency(locale, payload.penalties, 'penalties') ?? null)
83
+ ? (internationalizationConsistency(locale, payload.penalties, 'penalties') ?? payload.penalties)
82
84
  : null,
83
85
  termsOfPayment: payload.termsOfPayment
84
- ? (internationalizationConsistency(locale, payload.termsOfPayment, 'termsOfPayment') ?? null)
86
+ ? (internationalizationConsistency(locale, payload.termsOfPayment, 'termsOfPayment') ?? payload.termsOfPayment)
85
87
  : null,
86
88
  compensation: payload.compensation
87
- ? (internationalizationConsistency(locale, payload.compensation, 'recoveryCost') ?? null)
89
+ ? (internationalizationConsistency(locale, payload.compensation, 'recoveryCost') ?? payload.compensation)
90
+ : null,
91
+ discount: payload.discount
92
+ ? (internationalizationConsistency(locale, payload.discount, 'discount') ?? payload.discount)
88
93
  : null,
89
- discount: payload.discount ? (internationalizationConsistency(locale, payload.discount, 'discount') ?? null) : null,
90
94
  vatMention: payload.vatMention
91
95
  ? (internationalizationConsistency(locale, payload.vatMention, 'vatMention') ?? null)
92
96
  : null,
@@ -123,7 +127,9 @@ export function generateCommercialDocument(
123
127
  shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),
124
128
  // @ts-ignore
125
129
  marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),
126
- accountingCategoryFormatted: AccountingCategoryList.find((a) => a.id === payload.accountingCategory)?.label ?? null,
130
+ accountingCategoryFormatted: accountingCategory
131
+ ? (internationalizationConsistency(locale, accountingCategory, 'accountingCategory') ?? null)
132
+ : null,
127
133
  // @ts-ignore
128
134
  brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,
129
135
  brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv }) as unknown as string}`,
@@ -7,7 +7,8 @@ type InternationalizationConsistencyKey =
7
7
  | 'vatMention'
8
8
  | 'recoveryCost'
9
9
  | 'paymentType'
10
- | 'termsOfPayment';
10
+ | 'termsOfPayment'
11
+ | 'accountingCategory';
11
12
 
12
13
  export const internationalizationChoices: InternationalizationChoicesType = {
13
14
  fr: {
@@ -249,7 +250,7 @@ export const internationalizationChoices: InternationalizationChoicesType = {
249
250
  accountingCategory: {
250
251
  title: 'Transaction type',
251
252
  choices: [
252
- { id: AccountingCategoryId.DELIVERY_OF_GOOD, label: 'supply of goods' },
253
+ { id: AccountingCategoryId.DELIVERY_OF_GOOD, label: 'Supply of goods' },
253
254
  { id: AccountingCategoryId.SERVICE_DELIVERY, label: 'Services provision' },
254
255
  { id: AccountingCategoryId.GOOD_AND_SERVICE, label: 'Services provision and supply of goods' },
255
256
  ],
@@ -493,6 +494,20 @@ const internationalizationMatching: { [key: string]: { fr: string; en: string }[
493
494
  en: '60 days upon receipt of invoice',
494
495
  },
495
496
  ],
497
+ accountingCategory: [
498
+ {
499
+ fr: 'Livraison de biens',
500
+ en: 'Supply of goods',
501
+ },
502
+ {
503
+ fr: 'Prestation de services',
504
+ en: 'Services provision',
505
+ },
506
+ {
507
+ fr: 'Prestation de services et livraison de biens',
508
+ en: 'Services provision and supply of goods',
509
+ },
510
+ ],
496
511
  };
497
512
 
498
513
  export const internationalizationConsistency = (