@stamhoofd/models 2.94.0 → 2.95.0

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 (34) hide show
  1. package/dist/src/helpers/EmailBuilder.d.ts +27 -1
  2. package/dist/src/helpers/EmailBuilder.d.ts.map +1 -1
  3. package/dist/src/helpers/EmailBuilder.js +270 -25
  4. package/dist/src/helpers/EmailBuilder.js.map +1 -1
  5. package/dist/src/migrations/1756387016-registration-period-custom-name.sql +2 -0
  6. package/dist/src/migrations/1756391212-email-recipients-duplicate.sql +3 -0
  7. package/dist/src/models/Email.d.ts +3 -1
  8. package/dist/src/models/Email.d.ts.map +1 -1
  9. package/dist/src/models/Email.js +143 -4
  10. package/dist/src/models/Email.js.map +1 -1
  11. package/dist/src/models/EmailRecipient.d.ts +7 -1
  12. package/dist/src/models/EmailRecipient.d.ts.map +1 -1
  13. package/dist/src/models/EmailRecipient.js +28 -2
  14. package/dist/src/models/EmailRecipient.js.map +1 -1
  15. package/dist/src/models/Member.d.ts +1 -1
  16. package/dist/src/models/Member.d.ts.map +1 -1
  17. package/dist/src/models/Member.js +3 -3
  18. package/dist/src/models/Member.js.map +1 -1
  19. package/dist/src/models/RegistrationPeriod.d.ts +1 -0
  20. package/dist/src/models/RegistrationPeriod.d.ts.map +1 -1
  21. package/dist/src/models/RegistrationPeriod.js +4 -0
  22. package/dist/src/models/RegistrationPeriod.js.map +1 -1
  23. package/dist/src/models/User.d.ts.map +1 -1
  24. package/dist/src/models/User.js +5 -1
  25. package/dist/src/models/User.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/helpers/EmailBuilder.ts +282 -34
  28. package/src/migrations/1756387016-registration-period-custom-name.sql +2 -0
  29. package/src/migrations/1756391212-email-recipients-duplicate.sql +3 -0
  30. package/src/models/Email.ts +169 -7
  31. package/src/models/EmailRecipient.ts +32 -3
  32. package/src/models/Member.ts +3 -3
  33. package/src/models/RegistrationPeriod.ts +3 -0
  34. package/src/models/User.ts +7 -1
@@ -9,6 +9,7 @@ const uuid_1 = require("uuid");
9
9
  class RegistrationPeriod extends sql_1.QueryableModel {
10
10
  static table = 'registration_periods';
11
11
  id;
12
+ customName = null;
12
13
  previousPeriodId = null;
13
14
  nextPeriodId = null;
14
15
  organizationId = null;
@@ -78,6 +79,9 @@ tslib_1.__decorate([
78
79
  },
79
80
  })
80
81
  ], RegistrationPeriod.prototype, "id", void 0);
82
+ tslib_1.__decorate([
83
+ (0, simple_database_1.column)({ type: 'string', nullable: true })
84
+ ], RegistrationPeriod.prototype, "customName", void 0);
81
85
  tslib_1.__decorate([
82
86
  (0, simple_database_1.column)({ type: 'string', nullable: true })
83
87
  ], RegistrationPeriod.prototype, "previousPeriodId", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"RegistrationPeriod.js","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegistrationPeriod.js","sourceRoot":"","sources":["../../../src/models/RegistrationPeriod.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMvJ,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,qBAAa,IAAK,SAAQ,cAAc;IACpC,MAAM,CAAC,KAAK,SAAW;IAQvB,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,QAAQ,UAAS;IAGjB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE3C;;;OAGG;IAEH,uBAAuB,EAAE,WAAW,GAAG,IAAI,CAAQ;IAGnD,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAY7B,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAEhB,MAAM,CAAC,YAAY,kDAAuD;IAE1E,IAAI,IAAI,kBAcP;IAED,eAAe,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE;WAuBjC,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;WAwBlD,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;WA8ClE,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;IAI5C,KAAK,CAAC,KAAK,EAAE,IAAI;WAqDV,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;WA6BhG,sBAAsB,CAAC,QAAQ,EAAE,MAAM;;;IAKpD,uBAAuB;IAQvB,IAAI,SAAS,YAEZ;IAED,UAAU;IAaV,SAAS,CAAC,OAAO;WASJ,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;WAIvF,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;WAoB1F,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,mBAA2B,EAAE,GAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;WA2BtK,IAAI,CAAC,QAAQ,EAAE,MAAM;WAKrB,aAAa,CACtB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACpG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;WAiCf,QAAQ,CACjB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA6C5B,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,UAAQ;WA8BlE,WAAW,CACpB,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,IAAI,EAAE;QAAE,KAAK,MAAC;QAAC,EAAE,MAAC;QAAC,SAAS,MAAC;QAAC,QAAQ,MAAC;QAAC,IAAI,EAAE,iBAAiB,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAC/E,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA0CtB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAIrC,YAAY;IAeZ,UAAU,IAAI,uBAAuB,EAAE;IASvC;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB1C"}
@@ -139,11 +139,15 @@ class User extends sql_1.QueryableModel {
139
139
  const query = 'UPDATE balance_items SET userId = ? WHERE userId = ?';
140
140
  await simple_database_1.Database.update(query, [this.id, other.id]);
141
141
  // Update payments
142
- const query2 = 'UPDATE payments SET userId = ? WHERE userId = ?';
142
+ const query2 = 'UPDATE payments SET payingUserId = ? WHERE payingUserId = ?';
143
143
  await simple_database_1.Database.update(query2, [this.id, other.id]);
144
144
  // Update orders
145
145
  const query3 = 'UPDATE webshop_orders SET userId = ? WHERE userId = ?';
146
146
  await simple_database_1.Database.update(query3, [this.id, other.id]);
147
+ // Update emails
148
+ await simple_database_1.Database.update('UPDATE emails SET userId = ? WHERE userId = ?', [this.id, other.id]);
149
+ // Update email recipients
150
+ await simple_database_1.Database.update('UPDATE email_recipients SET userId = ? WHERE userId = ?', [this.id, other.id]);
147
151
  await other.delete();
148
152
  }
149
153
  static async login(organizationId, email, password) {
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/User.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/models",
3
- "version": "2.94.0",
3
+ "version": "2.95.0",
4
4
  "main": "./dist/src/index.js",
5
5
  "types": "./dist/src/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -30,5 +30,5 @@
30
30
  "publishConfig": {
31
31
  "access": "public"
32
32
  },
33
- "gitHead": "7a1a0be03249d69ad0664ee85d446c7b596768f0"
33
+ "gitHead": "baed3abb7d0814204ae52004bfec7287e397d28e"
34
34
  }
@@ -1,5 +1,5 @@
1
1
  import { Email, EmailAddress, EmailBuilder, EmailInterfaceRecipient } from '@stamhoofd/email';
2
- import { BalanceItem as BalanceItemStruct, EmailTemplateType, OrganizationEmail, Platform as PlatformStruct, ReceivableBalanceType, Recipient, replaceEmailHtml, replaceEmailText, Replacement } from '@stamhoofd/structures';
2
+ import { BalanceItem as BalanceItemStruct, EmailRecipient, EmailTemplateType, OrganizationEmail, Platform as PlatformStruct, ReceivableBalanceType, Recipient, replaceEmailHtml, replaceEmailText, Replacement } from '@stamhoofd/structures';
3
3
  import { Formatter } from '@stamhoofd/utility';
4
4
 
5
5
  import { SimpleError } from '@simonbackx/simple-errors';
@@ -379,58 +379,306 @@ export async function getEmailBuilder(organization: Organization | null, email:
379
379
  return builder;
380
380
  }
381
381
 
382
+ export function mergeReplacement(replacementA: Replacement, replacementB: Replacement): Replacement | false {
383
+ if (replacementA.token !== replacementB.token) {
384
+ return false;
385
+ }
386
+
387
+ if (replacementA.token === 'greeting') {
388
+ // Just take the first one
389
+ return replacementA;
390
+ }
391
+
392
+ if (replacementA.token === 'unsubscribeUrl') {
393
+ return replacementA;
394
+ }
395
+
396
+ if (replacementA.token === 'signInUrl') {
397
+ return replacementA;
398
+ }
399
+
400
+ if (replacementA.token === 'loginDetails') {
401
+ // loginDetails are always the same for the same user.
402
+ return replacementA;
403
+ }
404
+
405
+ return false;
406
+ }
407
+
408
+ /**
409
+ * Remove duplicates
410
+ */
411
+ export function cleanReplacements(replacements: Replacement[]) {
412
+ const foundIds: Set<string> = new Set();
413
+ const cleaned: Replacement[] = [];
414
+ for (const r of replacements) {
415
+ if (foundIds.has(r.token)) {
416
+ continue;
417
+ }
418
+ foundIds.add(r.token);
419
+ cleaned.push(r);
420
+ }
421
+ return cleaned;
422
+ }
423
+
424
+ export function removeUnusedReplacements(html: string, replacements: Replacement[]) {
425
+ const cleaned: Replacement[] = [];
426
+ for (const r of replacements) {
427
+ if (html.includes(`{{${r.token}}}`)) {
428
+ cleaned.push(r);
429
+ }
430
+ }
431
+ return cleaned;
432
+ }
433
+
434
+ export function mergeReplacementsIfEqual(replacementsA: Replacement[], replacementsB: Replacement[]): Replacement[] | false {
435
+ replacementsA = cleanReplacements(replacementsA);
436
+ replacementsB = cleanReplacements(replacementsB);
437
+
438
+ if (replacementsA.length !== replacementsB.length) {
439
+ return false;
440
+ }
441
+
442
+ const merged: Replacement[] = [];
443
+ for (const rA of replacementsA) {
444
+ const rB = replacementsB.find(r => r.token === rA.token);
445
+ if (!rB) {
446
+ return false;
447
+ }
448
+
449
+ if (rA.html === rB.html && rA.value === rB.value) {
450
+ merged.push(rA);
451
+ continue;
452
+ }
453
+
454
+ const m = mergeReplacement(rA, rB);
455
+ if (!m) {
456
+ return false;
457
+ }
458
+ merged.push(m);
459
+ }
460
+
461
+ return merged;
462
+ }
463
+
464
+ /**
465
+ * Filter replacements for display in the backend.
466
+ * @param options.forPreview if true, it will hide sensitive information in the preview that could leak information to admin users
467
+ */
468
+ export function stripSensitiveRecipientReplacements(recipient: Recipient | EmailRecipient, options: {
469
+ organization: Organization | null;
470
+ willFill?: boolean;
471
+ }) {
472
+ const { organization } = options;
473
+ // Remove unsubscribeUrl and signInUrl if present
474
+ recipient.replacements = recipient.replacements.filter(r => r.token !== 'unsubscribeUrl' && r.token !== 'signInUrl');
475
+
476
+ if (options.willFill) {
477
+ // Also strip loginDetails, balanceTable and outstandingBalance
478
+ recipient.replacements = recipient.replacements.filter(r => r.token !== 'balanceTable' && r.token !== 'outstandingBalance' && r.token !== 'loginDetails');
479
+ return;
480
+ }
481
+
482
+ // Add dummy unsubscribeUrl
483
+ const dummyUnsubscribeUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/unsubscribe?token=example';
484
+ recipient.replacements.push(Replacement.create({
485
+ token: 'unsubscribeUrl',
486
+ value: dummyUnsubscribeUrl,
487
+ }));
488
+
489
+ // dummy signInUrl
490
+ const dummySignInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login';
491
+ recipient.replacements.push(Replacement.create({
492
+ token: 'signInUrl',
493
+ value: dummySignInUrl,
494
+ }));
495
+
496
+ // Strip security codes (because we list ALL security codes, also from members a viewer might not have access to)
497
+ recipient.replacements = recipient.replacements.map((r) => {
498
+ if (r.token !== 'loginDetails') {
499
+ return r;
500
+ }
501
+ return Replacement.create({
502
+ ...r,
503
+ // Strip <span class="style-inline-code">(.*)</span> and replace content with XXXX-XXXX-XXXX-XXXX
504
+ html: r.html ? r.html.replace(/<span class="style-inline-code">.*?<\/span>/g, '<span class="style-inline-code">••••</span>') : r.html,
505
+ });
506
+ });
507
+ }
508
+
509
+ /**
510
+ * Fill and hide replacements that don't make sense for web display to the user
511
+ */
512
+ export function stripRecipientReplacementsForWebDisplay(recipient: Recipient | EmailRecipient, options: {
513
+ organization: Organization | null;
514
+ }) {
515
+ const { organization } = options;
516
+ // Remove unsubscribeUrl if present
517
+ recipient.replacements = recipient.replacements.filter(r => r.token !== 'unsubscribeUrl' && r.token !== 'loginDetails' && r.token !== 'greeting');
518
+
519
+ // Add dummy unsubscribeUrl
520
+ const dummyUnsubscribeUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard);
521
+ recipient.replacements.push(Replacement.create({
522
+ token: 'unsubscribeUrl',
523
+ value: dummyUnsubscribeUrl,
524
+ }));
525
+
526
+ recipient.replacements.push(Replacement.create({
527
+ token: 'loginDetails',
528
+ value: '',
529
+ }));
530
+
531
+ recipient.replacements.push(Replacement.create({
532
+ token: 'greeting',
533
+ value: $t('Beste,'),
534
+ }));
535
+ }
536
+
537
+ /**
538
+ * @param options.forPreview if true, it will hide sensitive information in the preview that could leak information to admin users
539
+ */
382
540
  export async function fillRecipientReplacements(recipient: Recipient, options: {
383
541
  organization: Organization | null;
384
542
  platform?: PlatformStruct;
385
543
  from: EmailInterfaceRecipient | null;
386
544
  replyTo: EmailInterfaceRecipient | null;
545
+ forPreview?: boolean;
546
+ forceRefresh?: boolean;
387
547
  }) {
388
548
  if (!options.platform) {
389
549
  options.platform = await Platform.getSharedPrivateStruct();
390
550
  }
391
551
  const { organization, platform, from, replyTo } = options;
552
+ let recipientUser: User | null | undefined = null;
392
553
  recipient.replacements = recipient.replacements.slice();
554
+ if (options.forPreview) {
555
+ stripSensitiveRecipientReplacements(recipient, options);
556
+ }
393
557
 
394
- // Default signInUrl
395
- let signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login?email=' + encodeURIComponent(recipient.email);
558
+ if (!recipient.email && !recipient.userId) {
559
+ const signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login';
560
+ recipient.replacements.push(Replacement.create({
561
+ token: 'signInUrl',
562
+ value: signInUrl,
563
+ }));
396
564
 
397
- const recipientUser = await User.getForAuthentication(organization?.id ?? null, recipient.email, { allowWithoutAccount: true });
398
- if (!recipientUser || !recipientUser.hasAccount()) {
399
- // We can create a special token
400
- signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/account-aanmaken?email=' + encodeURIComponent(recipient.email);
565
+ if (!recipient.replacements.find(r => r.token === 'loginDetails')) {
566
+ recipient.replacements.push(Replacement.create({
567
+ token: 'loginDetails',
568
+ value: '',
569
+ }));
570
+ }
401
571
  }
572
+ else {
573
+ // Default signInUrl
574
+ let signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/login?email=' + encodeURIComponent(recipient.email);
575
+
576
+ recipientUser = recipient.userId ? await User.select().where('id', recipient.userId).first(false) : await User.getForAuthentication(organization?.id ?? null, recipient.email, { allowWithoutAccount: true });
577
+ if (STAMHOOFD.userMode !== 'platform' && recipientUser && recipientUser.organizationId && recipientUser.organizationId !== (organization?.id ?? null)) {
578
+ console.warn('User organization does not match current organization, ignoring userId', recipient.userId, recipientUser.organizationId, organization?.id ?? null);
579
+ recipientUser = null;
580
+ }
402
581
 
403
- recipient.replacements.push(Replacement.create({
404
- token: 'signInUrl',
405
- value: signInUrl,
406
- }));
582
+ if (!recipientUser || !recipientUser.hasAccount()) {
583
+ // We can create a special token
584
+ signInUrl = 'https://' + (organization && STAMHOOFD.userMode === 'organization' ? organization.getHost() : STAMHOOFD.domains.dashboard) + '/account-aanmaken?email=' + encodeURIComponent(recipient.email);
585
+ }
586
+
587
+ recipient.replacements.push(Replacement.create({
588
+ token: 'signInUrl',
589
+ value: signInUrl,
590
+ }));
591
+ }
592
+
593
+ if (options.forceRefresh) {
594
+ // Remove loginDetails to force refresh
595
+ recipient.replacements = recipient.replacements.filter(r => r.token !== 'loginDetails');
596
+ }
597
+
598
+ if (!recipient.replacements.find(r => r.token === 'loginDetails')) {
599
+ const emailEscaped = `<strong>${Formatter.escapeHtml(recipient.email)}</strong>`;
600
+
601
+ if (recipientUser) {
602
+ const suffixes: string[] = [];
603
+ if (STAMHOOFD.userMode === 'platform') {
604
+ const { Member } = await import('../models/Member');
605
+ const memberIds = await Member.getMemberIdsForUser(recipientUser);
606
+ const members = await Member.getByIDs(...memberIds);
607
+ if (members.length > 0) {
608
+ for (const member of members) {
609
+ suffixes.push(
610
+ $t('De beveiligingscode voor {firstName} is {securityCode}.', {
611
+ firstName: Formatter.escapeHtml(member.firstName),
612
+ securityCode: `<span class="style-inline-code">${Formatter.escapeHtml(options.forPreview ? '••••' : Formatter.spaceString(member.details.securityCode ?? '', 4, '-'))}</span>`,
613
+ }),
614
+ );
615
+ }
616
+ }
617
+ else {
618
+ console.log('No member found for user', recipientUser.id);
619
+ }
620
+ }
621
+ const suffix = suffixes.length > 0 ? (' ' + suffixes.join(' ')) : '';
622
+ recipient.replacements.push(
623
+ Replacement.create({
624
+ token: 'loginDetails',
625
+ value: '',
626
+ html: recipientUser.hasAccount()
627
+ ? `<p class="description"><em>${$t('Je kan op het ledenportaal inloggen op {email}.', { email: emailEscaped })}${suffix}</em></p>`
628
+ : `<p class="description"><em>${$t('Je kan op het ledenportaal een nieuw account aanmaken op het e-mailadres {email}.', { email: emailEscaped })}${suffix}</em></p>`,
629
+ }),
630
+ );
631
+ }
632
+ else {
633
+ console.log('No user found for email', recipient.email);
634
+ recipient.replacements.push(
635
+ Replacement.create({
636
+ token: 'loginDetails',
637
+ value: '',
638
+ html: `<p class="description"><em>${$t('Je kan op het ledenportaal een nieuw account aanmaken op het e-mailadres {email}', { email: emailEscaped })}</em></p>`,
639
+ }),
640
+ );
641
+ }
642
+ }
407
643
 
408
- recipient.replacements.push(
409
- Replacement.create({
410
- token: 'loginDetails',
411
- value: '',
412
- html: recipientUser && recipientUser.hasAccount() ? `<p class="description"><em>${$t('2fa762f2-c061-4c40-83cb-6ddc3e5f0f7a')} <strong>${Formatter.escapeHtml(recipientUser.email)}</strong></em></p>` : `<p class="description"><em>${$t('c2af5148-15a7-44b1-aa3e-91cfc4c66013')} <strong>${Formatter.escapeHtml(recipient.email)}</strong>${$t('f3aa8253-d88e-41c7-8c98-ed477806c533')}</em></p>`,
413
- }),
414
- );
644
+ if (options.forceRefresh) {
645
+ // Remove loginDetails to force refresh
646
+ recipient.replacements = recipient.replacements.filter(r => r.token !== 'balanceTable' && r.token !== 'outstandingBalance');
647
+ }
415
648
 
416
649
  // Load balance of this user
417
650
  // todo: only if detected it is used
418
- if (organization && recipientUser && !recipient.replacements.find(r => r.token === 'balanceTable')) {
419
- const balanceItemModels = await CachedBalance.balanceForObjects(organization.id, [recipientUser.id], ReceivableBalanceType.user, true);
420
- const balanceItems = balanceItemModels.map(i => i.getStructure());
421
-
422
- // Get members
423
- recipient.replacements.push(
424
- Replacement.create({
425
- token: 'outstandingBalance',
426
- value: Formatter.price(balanceItems.reduce((sum, i) => sum + i.priceOpen, 0)),
427
- }),
428
- Replacement.create({
429
- token: 'balanceTable',
430
- value: '',
431
- html: BalanceItemStruct.getDetailsHTMLTable(balanceItems),
432
- }),
433
- );
651
+ if (!recipient.replacements.find(r => r.token === 'balanceTable')) {
652
+ if (organization && recipientUser) {
653
+ const balanceItemModels = await CachedBalance.balanceForObjects(organization.id, [recipientUser.id], ReceivableBalanceType.user, true);
654
+ const balanceItems = balanceItemModels.map(i => i.getStructure());
655
+
656
+ // Get members
657
+ recipient.replacements.push(
658
+ Replacement.create({
659
+ token: 'outstandingBalance',
660
+ value: Formatter.price(balanceItems.reduce((sum, i) => sum + i.priceOpen, 0)),
661
+ }),
662
+ Replacement.create({
663
+ token: 'balanceTable',
664
+ value: '',
665
+ html: BalanceItemStruct.getDetailsHTMLTable(balanceItems),
666
+ }),
667
+ );
668
+ }
669
+ else {
670
+ recipient.replacements.push(
671
+ Replacement.create({
672
+ token: 'outstandingBalance',
673
+ value: Formatter.price(0),
674
+ }),
675
+ Replacement.create({
676
+ token: 'balanceTable',
677
+ value: '',
678
+ html: BalanceItemStruct.getDetailsHTMLTable([]),
679
+ }),
680
+ );
681
+ }
434
682
  }
435
683
 
436
684
  if (from || replyTo) {
@@ -0,0 +1,2 @@
1
+ ALTER TABLE `registration_periods`
2
+ ADD COLUMN `customName` varchar(200) NULL AFTER `nextPeriodId`;
@@ -0,0 +1,3 @@
1
+ ALTER TABLE `email_recipients`
2
+ ADD COLUMN `duplicateOfRecipientId` varchar(36) NULL,
3
+ ADD FOREIGN KEY (`duplicateOfRecipientId`) REFERENCES `email_recipients` (`id`) ON UPDATE CASCADE ON DELETE SET NULL;