@colijnit/transaction 256.1.31 → 256.1.32

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.
@@ -33,8 +33,8 @@
33
33
  function Version() {
34
34
  this.name = "@colijnit/transaction";
35
35
  this.description = "Colijn IT transaction package";
36
- this.symVer = "256.1.31";
37
- this.publishDate = "20-12-2024 16:22:02";
36
+ this.symVer = "256.1.32";
37
+ this.publishDate = "23-12-2024 18:24:01";
38
38
  }
39
39
  return Version;
40
40
  }());
@@ -27097,6 +27097,7 @@
27097
27097
  this._subscriptions.push(this.transactionEventService.selectAllSalesOrderLinesForInvoice.subscribe(function (value) {
27098
27098
  if (_this.lineQuantityToInvoice !== 0) {
27099
27099
  _this.transactionLine.selected = value;
27100
+ _this.transactionLine.amountSelected = _this.localAmountSelected;
27100
27101
  _this.transactionEventService.lineSelectedForInvoice.next({ lineUuid: _this.transactionLine.uuid, selected: _this.transactionLine.selected });
27101
27102
  }
27102
27103
  _this.detectChanges();
@@ -28424,6 +28425,8 @@
28424
28425
  request.transactionRelationId = this.transactionInfo.relation.relationId;
28425
28426
  request.handledByRelationId = this.transactionInfo.handledBy;
28426
28427
  this.creatingSalesOrder = true;
28428
+ //copy over the default branch as the creation service extends the transaction service but is a new instance.
28429
+ this._transactionCreationService.currentBranch = this.transactionService.currentBranch;
28427
28430
  return [4 /*yield*/, this._transactionCreationService.createSalesOrderThroughQuotation(request)];
28428
28431
  case 1:
28429
28432
  salesOrderCreated = _b.sent();
@@ -46955,6 +46958,7 @@
46955
46958
  _this.showOnlyActive = true;
46956
46959
  _this.type = addressType_enum.AddressType.DeliveryAddress;
46957
46960
  _this.selectedNawNr = 0;
46961
+ _this.noSaveOnAddAddress = false;
46958
46962
  _this.selectedNawNrChange = new i0.EventEmitter();
46959
46963
  _this.showEditAddressDialog = false;
46960
46964
  _this._boFactory = new businessObjectFactory.BusinessObjectFactory();
@@ -46975,30 +46979,44 @@
46975
46979
  };
46976
46980
  RelationAddressesComponent.prototype.saveAddress = function (address) {
46977
46981
  return __awaiter(this, void 0, void 0, function () {
46978
- var savedAddress, savedAddress, idx;
46982
+ var savedAddress, savedAddress, idx, idx;
46979
46983
  return __generator(this, function (_a) {
46980
46984
  switch (_a.label) {
46981
46985
  case 0:
46982
46986
  address.relationId = this.relation.relationId;
46983
46987
  address.addressType = this.type;
46984
- if (!!address.nawNr) return [3 /*break*/, 2];
46988
+ if (!!address.nawNr) return [3 /*break*/, 4];
46985
46989
  address.startDate = new Date();
46986
46990
  address.sequence = this.relation.getNextAddressSequence();
46991
+ if (!!this.noSaveOnAddAddress) return [3 /*break*/, 2];
46987
46992
  return [4 /*yield*/, this.relationService.insertAddress(address)];
46988
46993
  case 1:
46989
46994
  savedAddress = _a.sent();
46990
46995
  this.relation.addresses.push(savedAddress);
46991
46996
  this.changeAddress(savedAddress);
46992
- return [3 /*break*/, 4];
46993
- case 2: return [4 /*yield*/, this.relationService.updateAddress(address)];
46994
- case 3:
46997
+ return [3 /*break*/, 3];
46998
+ case 2:
46999
+ this.relation.addresses.push(address);
47000
+ this.changeAddress(address);
47001
+ _a.label = 3;
47002
+ case 3: return [3 /*break*/, 7];
47003
+ case 4:
47004
+ if (!!this.noSaveOnAddAddress) return [3 /*break*/, 6];
47005
+ return [4 /*yield*/, this.relationService.updateAddress(address)];
47006
+ case 5:
46995
47007
  savedAddress = _a.sent();
46996
47008
  idx = this.relation.addresses.findIndex(function (a) { return a.nawNr === address.nawNr; });
46997
47009
  if (idx > -1) {
46998
47010
  this.relation.addresses[idx] = savedAddress;
46999
47011
  }
47000
- _a.label = 4;
47001
- case 4:
47012
+ return [3 /*break*/, 7];
47013
+ case 6:
47014
+ idx = this.relation.addresses.findIndex(function (a) { return a.nawNr === address.nawNr; });
47015
+ if (idx > -1) {
47016
+ this.relation.addresses[idx] = address;
47017
+ }
47018
+ _a.label = 7;
47019
+ case 7:
47002
47020
  this.relationChange.next(this.relation);
47003
47021
  this.showEditAddressDialog = false;
47004
47022
  return [2 /*return*/];
@@ -47046,6 +47064,7 @@
47046
47064
  showOnlyActive: [{ type: i0.Input }],
47047
47065
  type: [{ type: i0.Input }],
47048
47066
  selectedNawNr: [{ type: i0.Input }],
47067
+ noSaveOnAddAddress: [{ type: i0.Input }],
47049
47068
  selectedNawNrChange: [{ type: i0.Output }],
47050
47069
  showClass: [{ type: i0.HostBinding, args: ["class.co-relation-addresses",] }]
47051
47070
  };
@@ -49174,12 +49193,15 @@
49174
49193
  this.screenConfigService.getObjectConfigurationFor(this.cfgNames.DepositAmount).immediatelyVisible();
49175
49194
  }
49176
49195
  };
49196
+ TransactionHeaderPopupPaymentComponent.prototype.selectContent = function (inputElement) {
49197
+ inputElement.select();
49198
+ };
49177
49199
  return TransactionHeaderPopupPaymentComponent;
49178
49200
  }(TransactionHeaderPopupBaseComponent));
49179
49201
  TransactionHeaderPopupPaymentComponent.decorators = [
49180
49202
  { type: i0.Component, args: [{
49181
49203
  selector: 'co-transaction-header-popup-payment',
49182
- template: "\n <div class=\"transaction-header-popup-category-wrapper co-small-scrollbar\">\n <co-form>\n <div class=\"transaction-header-popup-section\">\n <div\n class=\"transaction-header-popup-section-label\"\n *ngIf=\"showPayDownLabel\"\n [textContent]=\"'TO_PAY_DOWN' | localize\">\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\">\n <co-transaction-header-deposit-percentage\n [screenConfigurationObject]=\"cfgNames.DepositPercentage\"\n [lockAndSave]=\"true\"\n (depositUpdated)=\"showOutstandingAmounts()\">\n </co-transaction-header-deposit-percentage>\n <co-transaction-header-deposit-amount\n [screenConfigurationObject]=\"cfgNames.DepositAmount\"\n [lockAndSave]=\"true\"\n (businessRuleApplied)=\"showBusinessRuleInfo = $event\">\n </co-transaction-header-deposit-amount>\n </div>\n\n <div class=\"transaction-header-popup-three-column-grid\">\n <co-transaction-header-use-deposit-rule\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.UseDepositRule\"\n [lockAndSave]=\"false\">\n </co-transaction-header-use-deposit-rule>\n <co-transaction-header-auto-recalculate-deposit\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.AutoRecalculateDeposit\"\n [lockAndSave]=\"false\">\n </co-transaction-header-auto-recalculate-deposit>\n <co-transaction-header-divide-evenly\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.DivideEvenly\"\n [lockAndSave]=\"false\">\n </co-transaction-header-divide-evenly>\n <div class=\"transaction-header-popup-business-rule-applied\" *ngIf=\"showBusinessRuleInfo\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.CircleExclamationRegular)\"></co-icon>\n <span [textContent]=\"'DEPOSIT_BUSINESS_RULE_APPLIED' | localize\"></span>\n </div>\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\">\n <co-transaction-header-amount-to-settle\n [screenConfigurationObject]=\"cfgNames.AmountToSettle\"\n [lockAndSave]=\"false\">\n </co-transaction-header-amount-to-settle>\n <div class=\"transaction-header-popup-already-paid\">\n <co-input-text\n [screenConfigurationObject]=\"cfgNames.TotalPaidDown\"\n [placeholder]=\"'TOTAL_PAID_DOWN' | localize\" [forceReadonly]=\"true\"\n [model]=\"paidDown | coCurrency\">\n </co-input-text>\n <co-input-text\n [screenConfigurationObject]=\"cfgNames.SettledSoFar\"\n [placeholder]=\"'SETTLED_SO_FAR' | localize\" [forceReadonly]=\"true\"\n [model]=\"settled | coCurrency\">\n </co-input-text>\n </div>\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\" *ngIf=\"showCashOnDelivery\">\n <div class=\"cash-on-delivery-row\">\n <co-input-text\n [placeholder]=\"'CASH_ON_DELIVERY' | localize\"\n [forceReadonly]=\"true\"\n [model]=\"cashOnDelivery | coCurrency\">\n </co-input-text>\n <co-button\n class=\"save-button\"\n [iconData]=\"iconCacheService.getIcon(icons.TruckMovingRegular)\"\n (click)=\"cashOnDeliveryModalVisible = true\">\n </co-button>\n </div>\n <div></div>\n </div>\n\n <div\n class=\"transaction-header-popup-two-column-grid\"\n [screenConfigurationObject]=\"cfgNames.PaymentBtn\"\n screenConfigNativeElement>\n <co-transaction-header-payment-button\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [label]=\"('DELIVERY_TOTAL' | localize) | append:' / ' | append:('TO_SETTLE' | localize:false)\"\n [lockAndSave]=\"false\">\n </co-transaction-header-payment-button>\n </div>\n </div>\n\n <ng-container *ngIf=\"outstandingCustomerAmount.length > 0\">\n <div class=\"transaction-header-popup-section\">\n <div class=\"transaction-header-popup-section-label\" [textContent]=\"'TO_INVOICE' | localize\"></div>\n <div class=\"still-top-pay-stats\">\n <div class=\"payment-item\">\n <label [textContent]=\"'TO_BE_INVOICED' | localize\"></label>\n <div class=\"amount\">{{ paymentAnalysis?.totalToInvoice | coCurrency:true }}</div>\n </div>\n <div class=\"payment-item\">\n <label [textContent]=\"'ALREADY_INVOICED' | localize\"></label>\n <div class=\"amount\">{{ paymentAnalysis?.totalDepositInvoice | coCurrency:true }}</div>\n </div>\n <div class=\"payment-item\">\n <label [textContent]=\"'STILL_TO_PAY' | localize\"></label>\n <div class=\"amount\" [class.outstanding]=\"paymentAnalysis?.totalToPay > 0\">\n <strong>{{ paymentAnalysis?.totalToPay | coCurrency }}</strong>\n </div>\n </div>\n </div>\n </div>\n <div class=\"payment-information\">\n <div class=\"payment-categories\">\n <div\n class=\"payment-category\"\n [class.selected]=\"activeCategory.index === category.index\"\n *ngFor=\"let category of paymentCategories\"\n (click)=\"handleCategoryClick(category)\">\n <div class=\"title\" [textContent]=\"category.title | localize\"></div>\n </div>\n </div>\n\n <table *ngIf=\"activeCategory.index === 0\">\n <thead>\n <tr>\n <th [textContent]=\"'DESCRIPTION' | localize\"></th>\n <th [textContent]=\"'AMOUNT2' | localize\"></th>\n <th [textContent]=\"'PAID' | localize\"></th>\n <th [textContent]=\"'SETTLED' | localize\"></th>\n <th [textContent]=\"'OUTSTANDING' | localize\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let paymentInfo of outstandingCustomerAmount\">\n <td>\n <span *ngIf=\"paymentInfo.downPayment\" [textContent]=\"'DEPOSIT' | localize\"></span>\n <span *ngIf=\"!paymentInfo.downPayment\">\n <span [textContent]=\"'INVOICE' | localize\"></span>\n <span> {{ paymentInfo.invoiceNumber }}</span>\n </span>\n </td>\n <td><strong>{{ paymentInfo.invoiceAmount | coCurrency }}</strong></td>\n <td [class.paid]=\"paymentInfo.paidAmount > 0\">\n <strong>{{ paymentInfo.paidAmount | coCurrency:true }}</strong>\n </td>\n <td>{{ paymentInfo.reservedOutstandingAmount | coCurrency:true }}</td>\n <td [class.outstanding]=\"paymentInfo.outstandingAmount > 0\">\n <strong>{{ paymentInfo.outstandingAmount | coCurrency }}</strong>\n </td>\n </tr>\n </tbody>\n </table>\n\n <co-deposit-payment\n *ngIf=\"activeCategory.index === 1\"\n [branch]=\"transactionInfo.branch?.relationNr\"\n [transactionUuid]=\"transactionInfo.uuid\"\n [showTitle]=\"false\"\n [transactionKind]=\"transKind.SalesOrder\"\n ></co-deposit-payment>\n </div>\n </ng-container>\n </co-form>\n\n <co-cash-on-delivery-modal\n *ngIf=\"cashOnDeliveryModalVisible\"\n [transactionInfoUuid]=\"transactionInfo.uuid\"\n (cashAmount)=\"getCashAmount($event)\"\n (showCashOnDeliveryModal)=\"showCashOnDeliveryModal($event)\">\n </co-cash-on-delivery-modal>\n </div>\n ",
49204
+ template: "\n <div class=\"transaction-header-popup-category-wrapper co-small-scrollbar\">\n <co-form>\n <div class=\"transaction-header-popup-section\">\n <div\n class=\"transaction-header-popup-section-label\"\n *ngIf=\"showPayDownLabel\"\n [textContent]=\"'TO_PAY_DOWN' | localize\">\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\">\n <co-transaction-header-deposit-percentage\n [screenConfigurationObject]=\"cfgNames.DepositPercentage\"\n [lockAndSave]=\"true\"\n (depositUpdated)=\"showOutstandingAmounts()\">\n </co-transaction-header-deposit-percentage>\n <co-transaction-header-deposit-amount class=\"transaction-line-totals-price price\"\n [screenConfigurationObject]=\"cfgNames.DepositAmount\"\n [lockAndSave]=\"true\"\n (businessRuleApplied)=\"showBusinessRuleInfo = $event\"\n (click)=\"$event.target.select()\">\n </co-transaction-header-deposit-amount>\n </div>\n\n <div class=\"transaction-header-popup-three-column-grid\">\n <co-transaction-header-use-deposit-rule\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.UseDepositRule\"\n [lockAndSave]=\"false\">\n </co-transaction-header-use-deposit-rule>\n <co-transaction-header-auto-recalculate-deposit\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.AutoRecalculateDeposit\"\n [lockAndSave]=\"false\">\n </co-transaction-header-auto-recalculate-deposit>\n <co-transaction-header-divide-evenly\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [screenConfigurationObject]=\"cfgNames.DivideEvenly\"\n [lockAndSave]=\"false\">\n </co-transaction-header-divide-evenly>\n <div class=\"transaction-header-popup-business-rule-applied\" *ngIf=\"showBusinessRuleInfo\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.CircleExclamationRegular)\"></co-icon>\n <span [textContent]=\"'DEPOSIT_BUSINESS_RULE_APPLIED' | localize\"></span>\n </div>\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\">\n <co-transaction-header-amount-to-settle\n [screenConfigurationObject]=\"cfgNames.AmountToSettle\"\n [lockAndSave]=\"false\">\n </co-transaction-header-amount-to-settle>\n <div class=\"transaction-header-popup-already-paid\">\n <co-input-text\n [screenConfigurationObject]=\"cfgNames.TotalPaidDown\"\n [placeholder]=\"'TOTAL_PAID_DOWN' | localize\" [forceReadonly]=\"true\"\n [model]=\"paidDown | coCurrency\">\n </co-input-text>\n <co-input-text\n [screenConfigurationObject]=\"cfgNames.SettledSoFar\"\n [placeholder]=\"'SETTLED_SO_FAR' | localize\" [forceReadonly]=\"true\"\n [model]=\"settled | coCurrency\">\n </co-input-text>\n </div>\n </div>\n\n <div class=\"transaction-header-popup-two-column-grid\" *ngIf=\"showCashOnDelivery\">\n <div class=\"cash-on-delivery-row\">\n <co-input-text\n [placeholder]=\"'CASH_ON_DELIVERY' | localize\"\n [forceReadonly]=\"true\"\n [model]=\"cashOnDelivery | coCurrency\">\n </co-input-text>\n <co-button\n class=\"save-button\"\n [iconData]=\"iconCacheService.getIcon(icons.TruckMovingRegular)\"\n (click)=\"cashOnDeliveryModalVisible = true\">\n </co-button>\n </div>\n <div></div>\n </div>\n\n <div\n class=\"transaction-header-popup-two-column-grid\"\n [screenConfigurationObject]=\"cfgNames.PaymentBtn\"\n screenConfigNativeElement>\n <co-transaction-header-payment-button\n *ngIf=\"transactionInfo.transactionKind !== transKind.PurchaseOrder\"\n [label]=\"('DELIVERY_TOTAL' | localize) | append:' / ' | append:('TO_SETTLE' | localize:false)\"\n [lockAndSave]=\"false\">\n </co-transaction-header-payment-button>\n </div>\n </div>\n\n <ng-container *ngIf=\"outstandingCustomerAmount.length > 0\">\n <div class=\"transaction-header-popup-section\">\n <div class=\"transaction-header-popup-section-label\" [textContent]=\"'TO_INVOICE' | localize\"></div>\n <div class=\"still-top-pay-stats\">\n <div class=\"payment-item\">\n <label [textContent]=\"'TO_BE_INVOICED' | localize\"></label>\n <div class=\"amount\">{{ paymentAnalysis?.totalToInvoice | coCurrency:true }}</div>\n </div>\n <div class=\"payment-item\">\n <label [textContent]=\"'ALREADY_INVOICED' | localize\"></label>\n <div class=\"amount\">{{ paymentAnalysis?.totalDepositInvoice | coCurrency:true }}</div>\n </div>\n <div class=\"payment-item\">\n <label [textContent]=\"'STILL_TO_PAY' | localize\"></label>\n <div class=\"amount\" [class.outstanding]=\"paymentAnalysis?.totalToPay > 0\">\n <strong>{{ paymentAnalysis?.totalToPay | coCurrency }}</strong>\n </div>\n </div>\n </div>\n </div>\n <div class=\"payment-information\">\n <div class=\"payment-categories\">\n <div\n class=\"payment-category\"\n [class.selected]=\"activeCategory.index === category.index\"\n *ngFor=\"let category of paymentCategories\"\n (click)=\"handleCategoryClick(category)\">\n <div class=\"title\" [textContent]=\"category.title | localize\"></div>\n </div>\n </div>\n\n <table *ngIf=\"activeCategory.index === 0\">\n <thead>\n <tr>\n <th [textContent]=\"'DESCRIPTION' | localize\"></th>\n <th [textContent]=\"'AMOUNT2' | localize\"></th>\n <th [textContent]=\"'PAID' | localize\"></th>\n <th [textContent]=\"'SETTLED' | localize\"></th>\n <th [textContent]=\"'OUTSTANDING' | localize\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let paymentInfo of outstandingCustomerAmount\">\n <td>\n <span *ngIf=\"paymentInfo.downPayment\" [textContent]=\"'DEPOSIT' | localize\"></span>\n <span *ngIf=\"!paymentInfo.downPayment\">\n <span [textContent]=\"'INVOICE' | localize\"></span>\n <span> {{ paymentInfo.invoiceNumber }}</span>\n </span>\n </td>\n <td><strong>{{ paymentInfo.invoiceAmount | coCurrency }}</strong></td>\n <td [class.paid]=\"paymentInfo.paidAmount > 0\">\n <strong>{{ paymentInfo.paidAmount | coCurrency:true }}</strong>\n </td>\n <td>{{ paymentInfo.reservedOutstandingAmount | coCurrency:true }}</td>\n <td [class.outstanding]=\"paymentInfo.outstandingAmount > 0\">\n <strong>{{ paymentInfo.outstandingAmount | coCurrency }}</strong>\n </td>\n </tr>\n </tbody>\n </table>\n\n <co-deposit-payment\n *ngIf=\"activeCategory.index === 1\"\n [branch]=\"transactionInfo.branch?.relationNr\"\n [transactionUuid]=\"transactionInfo.uuid\"\n [showTitle]=\"false\"\n [transactionKind]=\"transKind.SalesOrder\"\n ></co-deposit-payment>\n </div>\n </ng-container>\n </co-form>\n\n <co-cash-on-delivery-modal\n *ngIf=\"cashOnDeliveryModalVisible\"\n [transactionInfoUuid]=\"transactionInfo.uuid\"\n (cashAmount)=\"getCashAmount($event)\"\n (showCashOnDeliveryModal)=\"showCashOnDeliveryModal($event)\">\n </co-cash-on-delivery-modal>\n </div>\n ",
49183
49205
  encapsulation: i0.ViewEncapsulation.None
49184
49206
  },] }
49185
49207
  ];
@@ -59242,10 +59264,11 @@
59242
59264
  ];
59243
59265
 
59244
59266
  var TransactionCreateWizardComponent = /** @class */ (function () {
59245
- function TransactionCreateWizardComponent(createService, relationService, transactionScreenConfigurationService, _headerService) {
59267
+ function TransactionCreateWizardComponent(createService, relationService, transactionScreenConfigurationService, _dialogService, _headerService) {
59246
59268
  this.createService = createService;
59247
59269
  this.relationService = relationService;
59248
59270
  this.transactionScreenConfigurationService = transactionScreenConfigurationService;
59271
+ this._dialogService = _dialogService;
59249
59272
  this._headerService = _headerService;
59250
59273
  this.transKind = transactionKind_enum.TransactionKind;
59251
59274
  this.Icon = Icon;
@@ -59283,6 +59306,13 @@
59283
59306
  enumerable: false,
59284
59307
  configurable: true
59285
59308
  });
59309
+ Object.defineProperty(TransactionCreateWizardComponent.prototype, "branch", {
59310
+ set: function (branch) {
59311
+ this._branch = branch;
59312
+ },
59313
+ enumerable: false,
59314
+ configurable: true
59315
+ });
59286
59316
  TransactionCreateWizardComponent.prototype.showClass = function () {
59287
59317
  return true;
59288
59318
  };
@@ -59300,15 +59330,13 @@
59300
59330
  return [4 /*yield*/, this.createService.prepareAfterSalesSystemParam()];
59301
59331
  case 1:
59302
59332
  _a.sent();
59303
- if (this.createService.afterSalesSystemParam) {
59304
- this.skipWizard();
59305
- }
59306
59333
  return [4 /*yield*/, this.transactionScreenConfigurationService.loadConfig(['S'])];
59307
59334
  case 2:
59308
59335
  _a.sent();
59309
59336
  this.createService.transactionKind = this.transactionType;
59310
59337
  this.createService.createNewRelation();
59311
59338
  this.createService.initializeRelation();
59339
+ this.createService.currentBranch = this._branch;
59312
59340
  this._processExternalSettings();
59313
59341
  this.isReady = true;
59314
59342
  return [2 /*return*/];
@@ -59330,14 +59358,23 @@
59330
59358
  return __generator(this, function (_b) {
59331
59359
  switch (_b.label) {
59332
59360
  case 0:
59361
+ valid = false;
59362
+ if (!(!this.relationSection.relation || !this.relationSection.relation.addresses || this.relationSection.relation.addresses.length < 1)) return [3 /*break*/, 2];
59363
+ return [4 /*yield*/, this._dialogService.showError('PLEASE_ADD_AT_LEAST_ONE_ADDRESS', true)];
59364
+ case 1:
59365
+ _b.sent();
59366
+ return [3 /*break*/, 3];
59367
+ case 2:
59333
59368
  valid = this.relationSection.submit();
59334
- if (!valid) return [3 /*break*/, 2];
59369
+ _b.label = 3;
59370
+ case 3:
59371
+ if (!valid) return [3 /*break*/, 5];
59335
59372
  _a = this.stepRelationSection;
59336
59373
  return [4 /*yield*/, this.createService.saveRelation(true, false)];
59337
- case 1:
59374
+ case 4:
59338
59375
  _a.completed = _b.sent();
59339
- _b.label = 2;
59340
- case 2: return [2 /*return*/, valid];
59376
+ _b.label = 5;
59377
+ case 5: return [2 /*return*/, valid];
59341
59378
  }
59342
59379
  });
59343
59380
  });
@@ -59388,7 +59425,12 @@
59388
59425
  valid = true;
59389
59426
  this.stepTransactionSection.completed = true;
59390
59427
  _e.label = 12;
59391
- case 12: return [2 /*return*/, valid];
59428
+ case 12:
59429
+ //If we are indeed valid and moving on check if we need to display the wizard or skip the next step.
59430
+ if (valid && this.createService.afterSalesSystemParam) {
59431
+ this.skipWizard();
59432
+ }
59433
+ return [2 /*return*/, valid];
59392
59434
  }
59393
59435
  });
59394
59436
  });
@@ -59543,6 +59585,7 @@
59543
59585
  { type: TransactionCreateService },
59544
59586
  { type: TransactionRelationService },
59545
59587
  { type: TransactionScreenConfigurationService },
59588
+ { type: DialogService },
59546
59589
  { type: TransactionHeaderService }
59547
59590
  ]; };
59548
59591
  TransactionCreateWizardComponent.propDecorators = {
@@ -59558,6 +59601,7 @@
59558
59601
  externallyProvidedTransaction: [{ type: i0.Input }],
59559
59602
  externallyProvidedLineNr: [{ type: i0.Input }],
59560
59603
  externallyProvidedCustomer: [{ type: i0.Input }],
59604
+ branch: [{ type: i0.Input }],
59561
59605
  transactionFinished: [{ type: i0.Output }],
59562
59606
  showClass: [{ type: i0.HostBinding, args: ["class.co-transaction-create-wizard",] }]
59563
59607
  };
@@ -59984,7 +60028,7 @@
59984
60028
  ServiceWizardRelationComponent.decorators = [
59985
60029
  { type: i0.Component, args: [{
59986
60030
  selector: 'co-service-wizard-relation',
59987
- template: "\n <div class=\"transaction-header-popup-category-wrapper co-small-scrollbar\">\n <co-form>\n <div class=\"header-relation-content\">\n <div class=\"transaction-header-popup-section general\">\n <div class=\"transaction-header-popup-section-label\">\n <span [textContent]=\"'01'\"></span>\n <span class=\"label-description\" [textContent]=\"'PERSONAL_DATA' | localize\"></span>\n </div>\n <div class=\"service-read-only-wrapper\" *ngIf=\"forceReadonly\">\n <div class=\"service-data-read-only\">\n <div class=\"service-data-header\">\n <span class=\"data-description\" [textContent]=\"'NAME_AND_ADDRESS' | localize\"></span>\n <span class=\"toggle-change\" [textContent]=\"'CHANGE' | localize\"\n (click)=\"requestChangeCustomer()\"></span>\n </div>\n <div class=\"service-relation-data row\">\n <div class=\"double-column\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'FIRST_NAME' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.firstName\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'PREFIX' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.prefix\"></span>\n </div>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'LAST_NAME' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.familyName\"></span>\n </div>\n </div>\n <div class=\"service-address-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'ADDRESS' | localize\"></label>\n <span class=\"value\"\n [textContent]=\"relation.primaryDisplayAddress ? (relation.primaryDisplayAddress.streetName + ' ' + relation.primaryDisplayAddress.houseNo) : ''\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'POSTAL_CODE' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.postalCode\"></span>\n </div>\n </div>\n <div class=\"service-address-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'CITY' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.city\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'COUNTRY' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.countryId\"></span>\n </div>\n </div>\n </div>\n <div class=\"service-data-read-only\">\n <div class=\"service-data-header\">\n <span class=\"data-description\" [textContent]=\"'CONTACT_OPTIONS' | localize\"></span>\n </div>\n <div class=\"service-relation-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'EMAIL' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryEmail\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'PHONE' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryPhoneNumber\"></span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"service-data-column\" *ngIf=\"!forceReadonly\">\n <co-relation-type *ngIf=\"relation.relationType === relKind.Customer\"\n [screenConfigurationObject]=\"cfgNames.RelationType\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n ></co-relation-type>\n <ng-container *ngIf=\"relation.relationType === relKind.Customer\">\n <relation-customer-groups\n [screenConfigurationObject]=\"cfgNames.RelationCustomerGroup\"\n [readonly]=\"forceReadonly\"\n [model]=\"customerGroup\"\n (modelChange)=\"handleChangeCustomGroup($event)\"\n ></relation-customer-groups>\n </ng-container>\n <co-relation-general\n [configNames]=\"relationGeneralConfigNames\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [relationType]=\"relation.type\"\n [relationKind]=\"relation.relationType\"\n (inputChangeForSuggestions)=\"handleInputChange($event)\"\n ></co-relation-general>\n <co-relation-addresses\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [addresses]=\"relation.activeAddresses\"\n [type]=\"addressType.DeliveryAddress\"\n [selectedNawNr]=\"deliveryAddressNawNr\"\n (selectedNawNrChange)=\"setIndexDeliveryAddress($event)\"\n ></co-relation-addresses>\n <co-relation-contact-details\n [configNames]=\"configNames?.contactDetails\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [relationKind]=\"relation ? relation.relationType : relKind.Customer\"\n [showInviteForAccount]=\"false\"\n (inputChangeForSuggestions)=\"inputChangeForSuggestions.emit($event)\"\n ></co-relation-contact-details>\n </div>\n </div>\n <div *ngIf=\"showInvoiceAddress\" class=\"transaction-header-popup-section\"\n [screenConfigurationObject]=\"cfgNames.RelationAddressesHeader\" screenConfigNativeElement>\n <ng-container *ngIf=\" relation.relationType === relKind.Customer\">\n <div class=\"transaction-header-popup-section-label\">\n <span [textContent]=\"'02'\"></span>\n <span class=\"label-description\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\n </div>\n <div class=\"service-data-column\">\n <co-input-checkbox [readonly]=\"forceReadonly\"\n [(model)]=\"invoiceAddressSameAsDeliveryAddress\"\n [label]=\"'SAME_AS_DELIVERY' | localize\"\n (modelChange)=\"checkSameAddress($event)\"\n ></co-input-checkbox>\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!invoiceAddressSameAsDeliveryAddress\"\n @showHideInvoiceAddress>\n <co-relation-addresses\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [addresses]=\"relation.activeAddresses\"\n [type]=\"addressType.BillingAddress\"\n [selectedNawNr]=\"invoiceAddressNawNr\"\n (selectedNawNrChange)=\"setIndexInvoiceAddress($event)\"\n ></co-relation-addresses>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"header-relation-content\" *ngIf=\"showPrivacy\">\n <div class=\"transaction-header-popup-section\">\n <div class=\"transaction-header-popup-section-label\"\n [textContent]=\"'PRIVACY_PREFERENCES' | localize\"></div>\n <co-relation-preferences [readonly]=\"forceReadonly\"\n [relation]=\"relation\"></co-relation-preferences>\n </div>\n </div>\n </co-form>\n </div>\n ",
60031
+ template: "\n <div class=\"transaction-header-popup-category-wrapper co-small-scrollbar\">\n <co-form>\n <div class=\"header-relation-content\">\n <div class=\"transaction-header-popup-section general\">\n <div class=\"transaction-header-popup-section-label\">\n <span [textContent]=\"'01'\"></span>\n <span class=\"label-description\" [textContent]=\"'PERSONAL_DATA' | localize\"></span>\n </div>\n <div class=\"service-read-only-wrapper\" *ngIf=\"forceReadonly\">\n <div class=\"service-data-read-only\">\n <div class=\"service-data-header\">\n <span class=\"data-description\" [textContent]=\"'NAME_AND_ADDRESS' | localize\"></span>\n <span class=\"toggle-change\" [textContent]=\"'CHANGE' | localize\"\n (click)=\"requestChangeCustomer()\"></span>\n </div>\n <div class=\"service-relation-data row\">\n <div class=\"double-column\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'FIRST_NAME' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.firstName\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'PREFIX' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.prefix\"></span>\n </div>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'LAST_NAME' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.familyName\"></span>\n </div>\n </div>\n <div class=\"service-address-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'ADDRESS' | localize\"></label>\n <span class=\"value\"\n [textContent]=\"relation.primaryDisplayAddress ? (relation.primaryDisplayAddress.streetName + ' ' + relation.primaryDisplayAddress.houseNo) : ''\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'POSTAL_CODE' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.postalCode\"></span>\n </div>\n </div>\n <div class=\"service-address-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'CITY' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.city\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'COUNTRY' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryDisplayAddress?.countryId\"></span>\n </div>\n </div>\n </div>\n <div class=\"service-data-read-only\">\n <div class=\"service-data-header\">\n <span class=\"data-description\" [textContent]=\"'CONTACT_OPTIONS' | localize\"></span>\n </div>\n <div class=\"service-relation-data row\">\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'EMAIL' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryEmail\"></span>\n </div>\n <div class=\"column\">\n <label class=\"label\" [textContent]=\"'PHONE' | localize\"></label>\n <span class=\"value\" [textContent]=\"relation.primaryPhoneNumber\"></span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"service-data-column\" *ngIf=\"!forceReadonly\">\n <co-relation-type *ngIf=\"relation.relationType === relKind.Customer\"\n [screenConfigurationObject]=\"cfgNames.RelationType\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n ></co-relation-type>\n <ng-container *ngIf=\"relation.relationType === relKind.Customer\">\n <relation-customer-groups\n [screenConfigurationObject]=\"cfgNames.RelationCustomerGroup\"\n [readonly]=\"forceReadonly\"\n [model]=\"customerGroup\"\n (modelChange)=\"handleChangeCustomGroup($event)\"\n ></relation-customer-groups>\n </ng-container>\n <co-relation-general\n [configNames]=\"relationGeneralConfigNames\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [relationType]=\"relation.type\"\n [relationKind]=\"relation.relationType\"\n (inputChangeForSuggestions)=\"handleInputChange($event)\"\n ></co-relation-general>\n <co-relation-addresses\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [addresses]=\"relation.activeAddresses\"\n [type]=\"addressType.DeliveryAddress\"\n [selectedNawNr]=\"deliveryAddressNawNr\"\n [noSaveOnAddAddress]=\"true\"\n (selectedNawNrChange)=\"setIndexDeliveryAddress($event)\"\n ></co-relation-addresses>\n <co-relation-contact-details\n [configNames]=\"configNames?.contactDetails\"\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [relationKind]=\"relation ? relation.relationType : relKind.Customer\"\n [showInviteForAccount]=\"false\"\n (inputChangeForSuggestions)=\"inputChangeForSuggestions.emit($event)\"\n ></co-relation-contact-details>\n </div>\n </div>\n <div *ngIf=\"showInvoiceAddress\" class=\"transaction-header-popup-section\"\n [screenConfigurationObject]=\"cfgNames.RelationAddressesHeader\" screenConfigNativeElement>\n <ng-container *ngIf=\" relation.relationType === relKind.Customer\">\n <div class=\"transaction-header-popup-section-label\">\n <span [textContent]=\"'02'\"></span>\n <span class=\"label-description\" [textContent]=\"'INVOICE_ADDRESS' | localize\"></span>\n </div>\n <div class=\"service-data-column\">\n <co-input-checkbox [readonly]=\"forceReadonly\"\n [(model)]=\"invoiceAddressSameAsDeliveryAddress\"\n [label]=\"'SAME_AS_DELIVERY' | localize\"\n (modelChange)=\"checkSameAddress($event)\"\n ></co-input-checkbox>\n <div class=\"overview-delivery-invoice-address\" *ngIf=\"!invoiceAddressSameAsDeliveryAddress\"\n @showHideInvoiceAddress>\n <co-relation-addresses\n [readonly]=\"forceReadonly\"\n [(relation)]=\"relation\"\n [addresses]=\"relation.activeAddresses\"\n [type]=\"addressType.BillingAddress\"\n [selectedNawNr]=\"invoiceAddressNawNr\"\n (selectedNawNrChange)=\"setIndexInvoiceAddress($event)\"\n ></co-relation-addresses>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"header-relation-content\" *ngIf=\"showPrivacy\">\n <div class=\"transaction-header-popup-section\">\n <div class=\"transaction-header-popup-section-label\"\n [textContent]=\"'PRIVACY_PREFERENCES' | localize\"></div>\n <co-relation-preferences [readonly]=\"forceReadonly\"\n [relation]=\"relation\"></co-relation-preferences>\n </div>\n </div>\n </co-form>\n </div>\n ",
59988
60032
  animations: [
59989
60033
  animations.trigger("showHideInvoiceAddress", [
59990
60034
  animations.state("void", animations.style({ height: 0, opacity: 0 })),