@mj-biz-apps/orders-entities 5.22.0 → 5.23.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 (43) hide show
  1. package/dist/OrderHeaderEntity.d.ts +74 -4
  2. package/dist/OrderHeaderEntity.d.ts.map +1 -1
  3. package/dist/OrderHeaderEntity.js +146 -20
  4. package/dist/OrderHeaderEntity.js.map +1 -1
  5. package/dist/OrderLineEntity.d.ts +0 -2
  6. package/dist/OrderLineEntity.d.ts.map +1 -1
  7. package/dist/OrderLineEntity.js +4 -54
  8. package/dist/OrderLineEntity.js.map +1 -1
  9. package/dist/SubscriptionTermEntity.d.ts +29 -0
  10. package/dist/SubscriptionTermEntity.d.ts.map +1 -0
  11. package/dist/SubscriptionTermEntity.js +56 -0
  12. package/dist/SubscriptionTermEntity.js.map +1 -0
  13. package/dist/checkout-choices.d.ts +82 -0
  14. package/dist/checkout-choices.d.ts.map +1 -0
  15. package/dist/checkout-choices.js +143 -0
  16. package/dist/checkout-choices.js.map +1 -0
  17. package/dist/configuration-types.d.ts +9 -0
  18. package/dist/configuration-types.d.ts.map +1 -1
  19. package/dist/generated/entities/__mj_BizAppsOrders.d.ts +414 -6
  20. package/dist/generated/entities/__mj_BizAppsOrders.d.ts.map +1 -1
  21. package/dist/generated/entities/__mj_BizAppsOrders.js +625 -3
  22. package/dist/generated/entities/__mj_BizAppsOrders.js.map +1 -1
  23. package/dist/generated/remote_operations.d.ts +115 -0
  24. package/dist/generated/remote_operations.d.ts.map +1 -1
  25. package/dist/generated/remote_operations.js +36 -0
  26. package/dist/generated/remote_operations.js.map +1 -1
  27. package/dist/index.d.ts +4 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/pricing/ConcessionBehavior.d.ts +102 -0
  32. package/dist/pricing/ConcessionBehavior.d.ts.map +1 -0
  33. package/dist/pricing/ConcessionBehavior.js +181 -0
  34. package/dist/pricing/ConcessionBehavior.js.map +1 -0
  35. package/dist/pricing/PromotionEngine.d.ts +2 -0
  36. package/dist/pricing/PromotionEngine.d.ts.map +1 -1
  37. package/dist/pricing/PromotionEngine.js +15 -13
  38. package/dist/pricing/PromotionEngine.js.map +1 -1
  39. package/dist/pricing/linePriceContext.d.ts +37 -0
  40. package/dist/pricing/linePriceContext.d.ts.map +1 -0
  41. package/dist/pricing/linePriceContext.js +87 -0
  42. package/dist/pricing/linePriceContext.js.map +1 -0
  43. package/package.json +3 -3
@@ -144,6 +144,20 @@ export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity
144
144
  * The booking save itself still has to write the figures it just computed.
145
145
  */
146
146
  private refuseBookedMoneyEdits;
147
+ /**
148
+ * True only for the server's own write of an approved `Terms` concession. The server subclass overrides
149
+ * it; here, where any caller could set a flag, nothing is sanctioned.
150
+ */
151
+ protected PaymentTermsChangeSanctioned(): boolean;
152
+ /**
153
+ * Refuse a change to a confirmed order's payment terms (#309).
154
+ *
155
+ * Terms are a commercial concession: they move when the cash arrives without changing the price. On a
156
+ * confirmed order they change only through an approved `Terms` concession, which the server applies.
157
+ * `trg_OrderHeader_ImmutableAfterConfirm` (51018) holds the same rule at the database. `DueDate`
158
+ * stays correctable, and MJ record-change tracking records every change to it.
159
+ */
160
+ private refuseBookedPaymentTermsEdit;
147
161
  /**
148
162
  * Set by the server subclass while it writes the address snapshots itself, so the rule below can
149
163
  * tell its own write from a caller's. Cleared once the save returns.
@@ -256,15 +270,71 @@ export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity
256
270
  */
257
271
  LoadWithLines(orderHeaderID: string): Promise<boolean>;
258
272
  /**
259
- * Person-level party defaults after a bill-to / ship-to person is set.
273
+ * Party fields {@link ApplyPersonPartyDefaults} filled in during this edit, keyed by field
274
+ * name, with the person each fill came from. It is what lets {@link ClearPersonParty} take
275
+ * a copy away with the person it was copied from without touching a value the user chose.
276
+ * In memory only: an order loaded later has no record of what was filled in.
277
+ */
278
+ private readonly partyFills;
279
+ /**
280
+ * Party person fields {@link ClearPersonParty} emptied because they were copies of the person
281
+ * being cleared. They count as filled-in, not as emptied by the user, so a replacement person
282
+ * can bring their own copy. A field leaves the set when the user changes it directly.
283
+ */
284
+ private readonly partyCopiesCleared;
285
+ /**
286
+ * Person-level party defaults after the user sets a bill-to / ship-to person on the form.
260
287
  *
261
- * 1. Copy person bill-to ↔ ship-to when the other side's person is null.
288
+ * 1. Copy the person to the other side when that side's person is null.
262
289
  * 2. For each side that has a person and no org, stamp the longest-lasting
263
290
  * active Employee relationship's organization.
264
291
  *
265
- * Does not overwrite an org the user already chose. Skips booked/voided orders.
292
+ * Does not overwrite an org the user already chose, and does not refill a party field the
293
+ * user emptied in this save. Skips booked/voided orders. The server save runs
294
+ * {@link ApplySavePartyDefaults} instead.
295
+ */
296
+ ApplyPersonPartyDefaults(changed: 'BillTo' | 'ShipTo'): Promise<void>;
297
+ /**
298
+ * Party defaults the server save applies, for writers that do not go through the form —
299
+ * checkout, renewals, a guest claim, an API call.
300
+ *
301
+ * Works only from what changed in this save, so a party field emptied by an earlier save is
302
+ * never refilled by a later one:
303
+ *
304
+ * 1. Copy the bill-to person into an empty ship-to when the bill-to person changed in this
305
+ * save. Never the other way: an empty ship-to already means "same as bill to", while
306
+ * filling an empty bill-to would change who pays.
307
+ * 2. Stamp the employer organization only on a side whose person changed in this save.
308
+ *
309
+ * Skips booked/voided orders.
310
+ */
311
+ ApplySavePartyDefaults(): Promise<void>;
312
+ /** Copy `from`'s person into `to` when `to` has none and the user did not empty it in this save. */
313
+ private copyPersonAcross;
314
+ /**
315
+ * Undo the party defaults a person brought with them, after that person is cleared from
316
+ * one side or replaced on it.
317
+ *
318
+ * - The other side's person clears when it was copied from `clearedPersonID` in this edit.
319
+ * Clearing the bill-to also clears a ship-to that still holds the same person, since the
320
+ * ship-to follows the bill-to even on an order loaded later.
321
+ * - An organization clears when it was stamped from `clearedPersonID`'s employer in this
322
+ * edit and that side no longer holds the person.
323
+ *
324
+ * Values the user set are never touched. Skips booked/voided orders.
325
+ */
326
+ ClearPersonParty(side: 'BillTo' | 'ShipTo', clearedPersonID: string | null): void;
327
+ /** True when `field` still holds the value {@link ApplyPersonPartyDefaults} filled in from `personID`. */
328
+ private wasFilledFrom;
329
+ /** Empty a party foreign key and forget that it was filled in. */
330
+ private clearPartyField;
331
+ /**
332
+ * True when `field` had a value on disk and this save empties it — the user cleared it. A
333
+ * copy {@link ClearPersonParty} took away does not count.
266
334
  */
267
- ApplyPersonPartyDefaults(changed?: 'BillTo' | 'ShipTo' | 'Both'): Promise<void>;
335
+ private wasClearedThisSave;
336
+ /** True when this save sets `field` to a value it did not have on disk. */
337
+ private isChangedThisSave;
268
338
  /**
269
339
  * Stamp BillToOrganizationID or ShipToOrganizationID from the person's longest
270
340
  * active Employee relationship when that side's org is still empty.
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ var OrderHeaderEntity_1;
37
37
  * @module @mj-biz-apps/orders-entities
38
38
  */
39
39
  import { BaseEntity, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
40
- import { RegisterClass } from '@memberjunction/global';
40
+ import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
41
41
  import { mjBizAppsOrdersOrderHeaderEntity } from './generated/entity_subclasses.js';
42
42
  import { CanOfferConfirm, CanTransition, IsBooked } from './OrderStatusBehavior.js';
43
43
  import { ResolveActiveEmployerOrganization } from './PartyAffiliationBehavior.js';
@@ -91,6 +91,19 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
91
91
  * tell its own write from a caller's. Cleared once the save returns.
92
92
  */
93
93
  this.addressSnapshotsStamped = false;
94
+ /**
95
+ * Party fields {@link ApplyPersonPartyDefaults} filled in during this edit, keyed by field
96
+ * name, with the person each fill came from. It is what lets {@link ClearPersonParty} take
97
+ * a copy away with the person it was copied from without touching a value the user chose.
98
+ * In memory only: an order loaded later has no record of what was filled in.
99
+ */
100
+ this.partyFills = new Map();
101
+ /**
102
+ * Party person fields {@link ClearPersonParty} emptied because they were copies of the person
103
+ * being cleared. They count as filled-in, not as emptied by the user, so a replacement person
104
+ * can bring their own copy. A field leaves the set when the user changes it directly.
105
+ */
106
+ this.partyCopiesCleared = new Set();
94
107
  }
95
108
  /**
96
109
  * True when any of the named fields has unsaved changes. See {@link anyFieldIsDirty}.
@@ -228,6 +241,7 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
228
241
  this.dropSavePopulatedFieldErrors(result);
229
242
  this.refuseBookedMoneyEdits(result);
230
243
  this.refuseBookedAddressEdits(result);
244
+ this.refuseBookedPaymentTermsEdit(result);
231
245
  const verdict = this.statusTransitionVerdict();
232
246
  if (!verdict.Allowed) {
233
247
  result.Success = false;
@@ -346,6 +360,29 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
346
360
  result.Success = false;
347
361
  result.Errors.push(new ValidationErrorInfo('Status', message, this.Status, ValidationErrorType.Failure));
348
362
  }
363
+ /**
364
+ * True only for the server's own write of an approved `Terms` concession. The server subclass overrides
365
+ * it; here, where any caller could set a flag, nothing is sanctioned.
366
+ */
367
+ PaymentTermsChangeSanctioned() {
368
+ return false;
369
+ }
370
+ /**
371
+ * Refuse a change to a confirmed order's payment terms (#309).
372
+ *
373
+ * Terms are a commercial concession: they move when the cash arrives without changing the price. On a
374
+ * confirmed order they change only through an approved `Terms` concession, which the server applies.
375
+ * `trg_OrderHeader_ImmutableAfterConfirm` (51018) holds the same rule at the database. `DueDate`
376
+ * stays correctable, and MJ record-change tracking records every change to it.
377
+ */
378
+ refuseBookedPaymentTermsEdit(result) {
379
+ if (!this.MoneyLocked || !this.FieldIsDirty('PaymentTermsTypeID') || this.PaymentTermsChangeSanctioned())
380
+ return;
381
+ const order = `Order ${this.OrderNumber ?? ''}`.trim();
382
+ result.Success = false;
383
+ result.Errors.push(new ValidationErrorInfo('PaymentTermsTypeID', `${order} is confirmed, so its payment terms cannot be edited directly. ` +
384
+ `Amend them with Orders.AmendArrangement; the change takes effect when its Terms concession is approved.`, this.PaymentTermsTypeID, ValidationErrorType.Failure));
385
+ }
349
386
  /**
350
387
  * Refuse a change to where a confirmed order was sold (golive #263).
351
388
  *
@@ -566,29 +603,118 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
566
603
  return true;
567
604
  }
568
605
  /**
569
- * Person-level party defaults after a bill-to / ship-to person is set.
606
+ * Person-level party defaults after the user sets a bill-to / ship-to person on the form.
570
607
  *
571
- * 1. Copy person bill-to ↔ ship-to when the other side's person is null.
608
+ * 1. Copy the person to the other side when that side's person is null.
572
609
  * 2. For each side that has a person and no org, stamp the longest-lasting
573
610
  * active Employee relationship's organization.
574
611
  *
575
- * Does not overwrite an org the user already chose. Skips booked/voided orders.
612
+ * Does not overwrite an org the user already chose, and does not refill a party field the
613
+ * user emptied in this save. Skips booked/voided orders. The server save runs
614
+ * {@link ApplySavePartyDefaults} instead.
576
615
  */
577
- async ApplyPersonPartyDefaults(changed = 'Both') {
616
+ async ApplyPersonPartyDefaults(changed) {
578
617
  if (this.Status === 'Voided' || this.IsBookedOrder)
579
618
  return;
580
- if (changed === 'BillTo' || changed === 'Both') {
581
- if (this.BillToPersonID && !this.ShipToPersonID) {
582
- this.ShipToPersonID = this.BillToPersonID;
583
- }
619
+ this.copyPersonAcross(changed, changed === 'BillTo' ? 'ShipTo' : 'BillTo');
620
+ await this.AutoPopulateEmployerOrganization('BillTo');
621
+ await this.AutoPopulateEmployerOrganization('ShipTo');
622
+ }
623
+ /**
624
+ * Party defaults the server save applies, for writers that do not go through the form —
625
+ * checkout, renewals, a guest claim, an API call.
626
+ *
627
+ * Works only from what changed in this save, so a party field emptied by an earlier save is
628
+ * never refilled by a later one:
629
+ *
630
+ * 1. Copy the bill-to person into an empty ship-to when the bill-to person changed in this
631
+ * save. Never the other way: an empty ship-to already means "same as bill to", while
632
+ * filling an empty bill-to would change who pays.
633
+ * 2. Stamp the employer organization only on a side whose person changed in this save.
634
+ *
635
+ * Skips booked/voided orders.
636
+ */
637
+ async ApplySavePartyDefaults() {
638
+ if (this.Status === 'Voided' || this.IsBookedOrder)
639
+ return;
640
+ if (this.isChangedThisSave('BillToPersonID'))
641
+ this.copyPersonAcross('BillTo', 'ShipTo');
642
+ for (const side of ['BillTo', 'ShipTo']) {
643
+ if (this.isChangedThisSave(`${side}PersonID`))
644
+ await this.AutoPopulateEmployerOrganization(side);
645
+ }
646
+ }
647
+ /** Copy `from`'s person into `to` when `to` has none and the user did not empty it in this save. */
648
+ copyPersonAcross(from, to) {
649
+ const personID = this.Get(`${from}PersonID`);
650
+ const toField = `${to}PersonID`;
651
+ if (!personID || this.Get(toField) || this.wasClearedThisSave(toField))
652
+ return;
653
+ this.Set(toField, personID);
654
+ this.partyFills.set(toField, { Value: personID, FromPersonID: personID });
655
+ this.partyCopiesCleared.delete(toField);
656
+ }
657
+ /**
658
+ * Undo the party defaults a person brought with them, after that person is cleared from
659
+ * one side or replaced on it.
660
+ *
661
+ * - The other side's person clears when it was copied from `clearedPersonID` in this edit.
662
+ * Clearing the bill-to also clears a ship-to that still holds the same person, since the
663
+ * ship-to follows the bill-to even on an order loaded later.
664
+ * - An organization clears when it was stamped from `clearedPersonID`'s employer in this
665
+ * edit and that side no longer holds the person.
666
+ *
667
+ * Values the user set are never touched. Skips booked/voided orders.
668
+ */
669
+ ClearPersonParty(side, clearedPersonID) {
670
+ // The user changed this side directly, so an empty value here is now theirs.
671
+ this.partyCopiesCleared.delete(`${side}PersonID`);
672
+ if (!clearedPersonID || this.Status === 'Voided' || this.IsBookedOrder)
673
+ return;
674
+ const other = side === 'BillTo' ? 'ShipTo' : 'BillTo';
675
+ const otherPersonField = `${other}PersonID`;
676
+ // When the cleared person was itself the copy, the other side holds the original.
677
+ const clearedFill = this.partyFills.get(`${side}PersonID`);
678
+ const clearedWasCopy = !!clearedFill && UUIDsEqual(clearedFill.Value, clearedPersonID);
679
+ this.partyFills.delete(`${side}PersonID`);
680
+ const otherIsCopy = !clearedWasCopy && (this.wasFilledFrom(otherPersonField, clearedPersonID)
681
+ || (side === 'BillTo' && UUIDsEqual(this.Get(otherPersonField), clearedPersonID)));
682
+ if (otherIsCopy) {
683
+ this.clearPartyField(otherPersonField);
684
+ this.partyCopiesCleared.add(otherPersonField);
584
685
  }
585
- if (changed === 'ShipTo' || changed === 'Both') {
586
- if (this.ShipToPersonID && !this.BillToPersonID) {
587
- this.BillToPersonID = this.ShipToPersonID;
686
+ for (const s of ['BillTo', 'ShipTo']) {
687
+ const orgField = `${s}OrganizationID`;
688
+ const stillHoldsPerson = UUIDsEqual(this.Get(`${s}PersonID`), clearedPersonID);
689
+ if (!stillHoldsPerson && this.wasFilledFrom(orgField, clearedPersonID)) {
690
+ this.clearPartyField(orgField);
588
691
  }
589
692
  }
590
- await this.AutoPopulateEmployerOrganization('BillTo');
591
- await this.AutoPopulateEmployerOrganization('ShipTo');
693
+ }
694
+ /** True when `field` still holds the value {@link ApplyPersonPartyDefaults} filled in from `personID`. */
695
+ wasFilledFrom(field, personID) {
696
+ const fill = this.partyFills.get(field);
697
+ return !!fill && UUIDsEqual(fill.FromPersonID, personID) && UUIDsEqual(this.Get(field), fill.Value);
698
+ }
699
+ /** Empty a party foreign key and forget that it was filled in. */
700
+ clearPartyField(idField) {
701
+ this.Set(idField, null);
702
+ this.partyFills.delete(idField);
703
+ }
704
+ /**
705
+ * True when `field` had a value on disk and this save empties it — the user cleared it. A
706
+ * copy {@link ClearPersonParty} took away does not count.
707
+ */
708
+ wasClearedThisSave(field) {
709
+ if (this.partyCopiesCleared.has(field))
710
+ return false;
711
+ const f = this.GetFieldByName(field);
712
+ return !!f && f.Dirty && f.Value == null && f.OldValue != null;
713
+ }
714
+ /** True when this save sets `field` to a value it did not have on disk. */
715
+ isChangedThisSave(field) {
716
+ const f = this.GetFieldByName(field);
717
+ return !!f && f.Dirty && f.Value != null;
592
718
  }
593
719
  /**
594
720
  * Stamp BillToOrganizationID or ShipToOrganizationID from the person's longest
@@ -601,6 +727,8 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
601
727
  const currentOrgID = partyRole === 'ShipTo' ? this.ShipToOrganizationID : this.BillToOrganizationID;
602
728
  if (currentOrgID)
603
729
  return currentOrgID;
730
+ if (this.wasClearedThisSave(`${partyRole}OrganizationID`))
731
+ return null;
604
732
  const provider = this.ProviderToUse;
605
733
  if (!provider)
606
734
  return null;
@@ -611,12 +739,10 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
611
739
  const orgId = await ResolveActiveEmployerOrganization(provider, targetPersonID, asOf, this.ContextCurrentUser);
612
740
  if (!orgId)
613
741
  return null;
614
- if (partyRole === 'ShipTo') {
615
- if (!this.ShipToOrganizationID)
616
- this.ShipToOrganizationID = orgId;
617
- }
618
- else if (!this.BillToOrganizationID) {
619
- this.BillToOrganizationID = orgId;
742
+ const orgField = `${partyRole}OrganizationID`;
743
+ if (!this.Get(orgField)) {
744
+ this.Set(orgField, orgId);
745
+ this.partyFills.set(orgField, { Value: orgId, FromPersonID: targetPersonID });
620
746
  }
621
747
  return orgId;
622
748
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,6 @@ export declare class OrderLineEntity extends mjBizAppsOrdersOrderLineEntity {
32
32
  * authorization catalog is not synced, and when money fields did not change.
33
33
  */
34
34
  private assertPriceOverride;
35
- private loadProductForOverride;
36
- private loadHeaderForOverride;
37
35
  /**
38
36
  * A line that already carries its booking journal cannot change quantity or
39
37
  * price. New lines on a booked order are refused on the header (graph save)
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineEntity.d.ts","sourceRoot":"","sources":["../src/OrderLineEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAMH,gBAAgB,EAInB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAc5E,qBACa,eAAgB,SAAQ,8BAA8B;IAC/D;;OAEG;IACH,SAAgB,SAAS,8BAAiE;IAE1F;;OAEG;IACI,YAAY,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO;IAIrD;;OAEG;IACH,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEe,QAAQ,IAAI,gBAAgB;IAQ5C;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAed,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMhE;;;;OAIG;YACW,mBAAmB;YA0FnB,sBAAsB;YAMtB,qBAAqB;IA0CnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAejC"}
1
+ {"version":3,"file":"OrderLineEntity.d.ts","sourceRoot":"","sources":["../src/OrderLineEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAKH,gBAAgB,EAGnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAY5E,qBACa,eAAgB,SAAQ,8BAA8B;IAC/D;;OAEG;IACH,SAAgB,SAAS,8BAAiE;IAE1F;;OAEG;IACI,YAAY,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO;IAIrD;;OAEG;IACH,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEe,QAAQ,IAAI,gBAAgB;IAQ5C;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAed,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMhE;;;;OAIG;YACW,mBAAmB;IAgEjC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAejC"}
@@ -9,17 +9,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  *
10
10
  * @module @mj-biz-apps/orders-entities
11
11
  */
12
- import { BaseEntity, Metadata, RunView, ValidationErrorInfo, ValidationErrorType, } from '@memberjunction/core';
12
+ import { BaseEntity, Metadata, ValidationErrorInfo, ValidationErrorType, } from '@memberjunction/core';
13
13
  import { RegisterClass } from '@memberjunction/global';
14
14
  import { mjBizAppsOrdersOrderLineEntity } from './generated/entity_subclasses.js';
15
15
  import { OrderLineExtensionCompanion } from './OrderLineExtensionCompanion.js';
16
16
  import { ORDER_LINE_MONEY_FIELDS } from './booked-money.js';
17
17
  import { anyFieldIsDirty } from './field-dirty.js';
18
- import { loadApplicabilityContext } from './pricing/applicability.js';
19
- import { AsDateValue, TodayAsDateValue } from './date-cell.js';
18
+ import { BuildLinePriceContext } from './pricing/linePriceContext.js';
20
19
  import { isEnginePrice, isNamedListPick, priceOverrideCatalogInstalled, userPriceOverrideKind, } from './pricing/priceOverride.js';
21
20
  import { ListApplicablePrices, PriceResolutionError, ResolvePrice } from './pricing/PriceResolver.js';
22
- import { LoadOrdersEngine, OrdersEngine } from './pricing/OrdersEngine.js';
23
21
  let OrderLineEntity = class OrderLineEntity extends mjBizAppsOrdersOrderLineEntity {
24
22
  constructor() {
25
23
  super(...arguments);
@@ -85,30 +83,8 @@ let OrderLineEntity = class OrderLineEntity extends mjBizAppsOrdersOrderLineEnti
85
83
  if (!stated && !this.ProductPriceID)
86
84
  return;
87
85
  try {
88
- const product = await this.loadProductForOverride();
89
- const header = await this.loadHeaderForOverride();
90
- const ctx = {
91
- ProductID: this.ProductID,
92
- ProductCategoryID: product?.ProductCategoryID ?? null,
93
- CompanyID: product?.CompanyID ?? header?.CompanyID ?? '',
94
- Quantity: Number(this.Quantity ?? 0),
95
- // A calendar day: price applicability is bounded by `EffectiveFrom`/`EffectiveTo`,
96
- // both `date` columns, and an instant answers the UTC day (#209).
97
- AsOf: AsDateValue(header?.OrderDate) ?? TodayAsDateValue(),
98
- OrganizationID: header?.BillToOrganizationID ?? null,
99
- PersonID: header?.BillToPersonID ?? null,
100
- ApplicabilityContext: await loadApplicabilityContext({
101
- OrderHeaderID: this.OrderHeaderID,
102
- ProductID: this.ProductID,
103
- BillToPersonID: header?.BillToPersonID ?? null,
104
- BillToOrganizationID: header?.BillToOrganizationID ?? null,
105
- ShipToPersonID: header?.ShipToPersonID ?? null,
106
- ShipToOrganizationID: header?.ShipToOrganizationID ?? null,
107
- BillToAddressID: header?.BillToAddressID ?? null,
108
- ShipToAddressID: header?.ShipToAddressID ?? null,
109
- }, provider, user),
110
- };
111
- if (!ctx.CompanyID)
86
+ const ctx = await BuildLinePriceContext(this, provider, user);
87
+ if (!ctx)
112
88
  return;
113
89
  const engine = await ResolvePrice(ctx, provider, user);
114
90
  if (engine && isEnginePrice(this, engine))
@@ -139,32 +115,6 @@ let OrderLineEntity = class OrderLineEntity extends mjBizAppsOrdersOrderLineEnti
139
115
  // Unreadable provider / missing metadata: leave the line to the confirm-path resolver.
140
116
  }
141
117
  }
142
- async loadProductForOverride() {
143
- await LoadOrdersEngine(this.ProviderToUse, this.ContextCurrentUser);
144
- const p = OrdersEngine.Instance.ProductByID(this.ProductID);
145
- return p ? { ProductCategoryID: p.ProductCategoryID ?? null, CompanyID: p.CompanyID } : null;
146
- }
147
- async loadHeaderForOverride() {
148
- if (!this.OrderHeaderID)
149
- return null;
150
- const rv = new RunView(this.ProviderToUse);
151
- const res = await rv.RunView({
152
- EntityName: 'MJ_BizApps_Orders: Order Headers',
153
- ExtraFilter: `ID = '${this.OrderHeaderID}'`,
154
- Fields: [
155
- 'CompanyID',
156
- 'OrderDate',
157
- 'BillToPersonID',
158
- 'BillToOrganizationID',
159
- 'ShipToPersonID',
160
- 'ShipToOrganizationID',
161
- 'BillToAddressID',
162
- 'ShipToAddressID',
163
- ],
164
- ResultType: 'simple',
165
- }, this.ContextCurrentUser);
166
- return res?.Results?.[0] ?? null;
167
- }
168
118
  /**
169
119
  * A line that already carries its booking journal cannot change quantity or
170
120
  * price. New lines on a booked order are refused on the header (graph save)
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineEntity.js","sourceRoot":"","sources":["../src/OrderLineEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderLineEntity.js","sourceRoot":"","sources":["../src/OrderLineEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview `SubscriptionTermEntity` — shared entity subclass for Subscription Terms.
3
+ *
4
+ * A term is written once, when the order line that bought it is confirmed. Its dates and amount are
5
+ * what the journal entries and the recognition schedule were built from, and what the renewal keys
6
+ * off. Nothing guarded them, so a booked term's end date could be moved on any save — which is also
7
+ * how a term was extended at no charge with no value recorded and no approval sought.
8
+ *
9
+ * So a saved term's dates and amount are fixed. Extending one is a concession: record it as a
10
+ * Duration `OrderConcession`, which values it at the term's own rate and routes it for approval. The
11
+ * approved concession applies the extension, and that server-side write is the only one this admits
12
+ * (`BookedTermEditSanctioned`).
13
+ *
14
+ * @module @mj-biz-apps/orders-entities
15
+ */
16
+ import { type ValidationResult } from '@memberjunction/core';
17
+ import { mjBizAppsOrdersSubscriptionTermEntity } from './generated/entity_subclasses.js';
18
+ /** Term columns the booking and the recognition schedule were built from. */
19
+ export declare const SUBSCRIPTION_TERM_BOOKED_FIELDS: readonly ["StartDate", "EndDate", "Amount"];
20
+ export declare class SubscriptionTermEntity extends mjBizAppsOrdersSubscriptionTermEntity {
21
+ Validate(): ValidationResult;
22
+ /**
23
+ * True only for the server's own amendment write. The server subclass overrides it; here, where
24
+ * any caller could set a flag, nothing is sanctioned.
25
+ */
26
+ protected BookedTermEditSanctioned(): boolean;
27
+ private refuseBookedTermEdits;
28
+ }
29
+ //# sourceMappingURL=SubscriptionTermEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionTermEntity.d.ts","sourceRoot":"","sources":["../src/SubscriptionTermEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAwD,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAC;AAEtF,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,6CAA8C,CAAC;AAE3F,qBACa,sBAAuB,SAAQ,qCAAqC;IAC7D,QAAQ,IAAI,gBAAgB;IAM5C;;;OAGG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO;IAI7C,OAAO,CAAC,qBAAqB;CAgBhC"}