taxtank-core 0.33.6 → 0.33.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. package/esm2022/src/lib/collections/bank-account.collection.mjs +5 -41
  2. package/esm2022/src/lib/collections/depreciation.collection.mjs +6 -18
  3. package/esm2022/src/lib/collections/property/property.collection.mjs +8 -4
  4. package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +3 -15
  5. package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +2 -2
  6. package/esm2022/src/lib/db/Models/bank/bank-account.mjs +1 -1
  7. package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +6 -40
  8. package/esm2022/src/lib/forms/property/property-share.form.mjs +2 -2
  9. package/esm2022/src/lib/models/bank/bank-account.mjs +6 -3
  10. package/esm2022/src/lib/models/bank/type-loan.const.mjs +2 -5
  11. package/esm2022/src/lib/models/depreciation/depreciation.mjs +8 -22
  12. package/esm2022/src/lib/models/property/property.mjs +1 -4
  13. package/esm2022/src/lib/models/report/reports.const.mjs +17 -17
  14. package/esm2022/src/lib/models/transaction/transaction.mjs +1 -19
  15. package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +1 -18
  16. package/fesm2022/taxtank-core.mjs +53 -195
  17. package/fesm2022/taxtank-core.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/src/lib/collections/bank-account.collection.d.ts +1 -21
  20. package/src/lib/collections/depreciation.collection.d.ts +1 -1
  21. package/src/lib/collections/property/property.collection.d.ts +1 -1
  22. package/src/lib/db/Enums/bank/bank-account-type.enum.d.ts +1 -0
  23. package/src/lib/db/Models/bank/bank-account.d.ts +0 -1
  24. package/src/lib/db/Models/transaction/transaction-base.d.ts +0 -9
  25. package/src/lib/models/bank/bank-account.d.ts +1 -0
  26. package/src/lib/models/bank/type-loan.const.d.ts +0 -3
  27. package/src/lib/models/depreciation/depreciation.d.ts +3 -11
  28. package/src/lib/models/property/property.d.ts +0 -1
  29. package/src/lib/models/transaction/transaction.d.ts +1 -6
  30. package/src/lib/services/http/transaction/transaction.service.d.ts +0 -6
@@ -25,7 +25,6 @@ import round from 'lodash/round';
25
25
  import range from 'lodash/range';
26
26
  import { Validators, FormGroup, FormArray, UntypedFormControl, UntypedFormArray, UntypedFormGroup, FormControl } from '@angular/forms';
27
27
  import compact from 'lodash/compact';
28
- import concat from 'lodash/concat';
29
28
  import cloneDeep$1 from 'lodash/cloneDeep';
30
29
  import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
31
30
  import clone from 'lodash/clone';
@@ -465,57 +464,23 @@ class TransactionBase extends ObservableModel {
465
464
  /**
466
465
  * @TODO remove when AllocateForm is refactored and not merging with Transaction class which cause the issue
467
466
  */
468
- set tankType(tankType) {
469
- }
470
- /**
471
- * Check if current tank is Property
472
- */
467
+ set tankType(tankType) { }
473
468
  isPropertyTank() {
474
- // chart accounts may be empty for new instances
475
- if (this.chartAccounts) {
476
- return CHART_ACCOUNTS_CATEGORIES.property.includes(this.chartAccounts.category);
477
- }
478
- return !!this.property;
469
+ return CHART_ACCOUNTS_CATEGORIES.property.includes(this.chartAccounts?.category);
479
470
  }
480
- /**
481
- * Check if current tank is Work
482
- */
483
471
  isWorkTank() {
484
- // chart accounts may be empty for new instances
485
- if (this.chartAccounts) {
486
- return CHART_ACCOUNTS_CATEGORIES.work.includes(this.chartAccounts?.category);
487
- }
488
- return !this.isPropertyTank() && !this.isSoleTank();
472
+ return CHART_ACCOUNTS_CATEGORIES.work.includes(this.chartAccounts?.category);
489
473
  }
490
- /**
491
- * Check if current tank is Sole
492
- */
493
474
  isSoleTank() {
494
- // chart accounts may be empty for new instances
495
- if (this.chartAccounts) {
496
- return CHART_ACCOUNTS_CATEGORIES.sole.includes(this.chartAccounts?.category);
497
- }
498
- return !!this.business;
475
+ return CHART_ACCOUNTS_CATEGORIES.sole.includes(this.chartAccounts?.category);
499
476
  }
500
477
  isHoldingTank() {
501
- // chart accounts may be empty for new instances
502
- if (this.chartAccounts) {
503
- return CHART_ACCOUNTS_CATEGORIES.holding.includes(this.chartAccounts?.category);
504
- }
505
- // @TODO Alex we need another way to distinguish work/holding
506
- return !this.isPropertyTank() && !this.isSoleTank();
478
+ return CHART_ACCOUNTS_CATEGORIES.holding.includes(this.chartAccounts?.category);
507
479
  }
508
480
  isOtherTank() {
509
- // chart accounts may be empty for new instances
510
- if (!this.chartAccounts) {
511
- return false;
512
- }
513
481
  return CHART_ACCOUNTS_CATEGORIES.other.includes(this.chartAccounts?.category);
514
482
  }
515
483
  isPersonalTank() {
516
- if (!this.chartAccounts) {
517
- return false;
518
- }
519
484
  return CHART_ACCOUNTS_CATEGORIES.personal.includes(this.chartAccounts?.category);
520
485
  }
521
486
  get amountWithGst() {
@@ -974,7 +939,7 @@ var BankAccountTypeEnum;
974
939
  BankAccountTypeEnum[BankAccountTypeEnum["SAVINGS"] = 2] = "SAVINGS";
975
940
  BankAccountTypeEnum[BankAccountTypeEnum["CREDIT_CARD"] = 3] = "CREDIT_CARD";
976
941
  // @TODO Alex: should be removed by backend (TT-2107)
977
- // MORTGAGE = 4,
942
+ BankAccountTypeEnum[BankAccountTypeEnum["MORTGAGE"] = 4] = "MORTGAGE";
978
943
  BankAccountTypeEnum[BankAccountTypeEnum["LOAN"] = 5] = "LOAN";
979
944
  BankAccountTypeEnum[BankAccountTypeEnum["INVESTMENT"] = 6] = "INVESTMENT";
980
945
  BankAccountTypeEnum[BankAccountTypeEnum["TERM_DEPOSIT"] = 7] = "TERM_DEPOSIT";
@@ -2337,10 +2302,14 @@ class PropertyCollection extends Collection {
2337
2302
  return this.sumBy('growthPercent');
2338
2303
  }
2339
2304
  get marketValue() {
2340
- return this.sumBy('marketValue');
2305
+ return this.sumBy('valuation.marketValue');
2341
2306
  }
2342
- get marketValueGrowth() {
2343
- return (this.marketValue - this.purchasePrice) / this.purchasePrice;
2307
+ get sharedMarketValue() {
2308
+ let sharedMarketValue = 0;
2309
+ this.items.forEach(property => {
2310
+ sharedMarketValue += property.shareRatio * property.marketValue;
2311
+ });
2312
+ return sharedMarketValue;
2344
2313
  }
2345
2314
  /**
2346
2315
  * Get list of unique property categories from collection
@@ -5831,9 +5800,6 @@ class Property extends Property$1 {
5831
5800
  get forecastedCashPosition() {
5832
5801
  return this.currentYearForecast?.cashPosition || 0;
5833
5802
  }
5834
- get marketValueGrowth() {
5835
- return (this.marketValue - this.purchasePrice) / this.marketValue;
5836
- }
5837
5803
  get myShare() {
5838
5804
  return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
5839
5805
  }
@@ -6462,24 +6428,6 @@ class Transaction extends Transaction$1 {
6462
6428
  isInterest() {
6463
6429
  return this.chartAccounts.id === ChartAccountsListEnum.INTEREST_ON_LOAN;
6464
6430
  }
6465
- get chartAccountsCategories() {
6466
- switch (true) {
6467
- case this.isPersonal():
6468
- return CHART_ACCOUNTS_CATEGORIES.personal;
6469
- case this.isPropertyTank():
6470
- return CHART_ACCOUNTS_CATEGORIES.property;
6471
- case this.isSoleTank():
6472
- return CHART_ACCOUNTS_CATEGORIES.sole;
6473
- default:
6474
- return CHART_ACCOUNTS_CATEGORIES.work;
6475
- }
6476
- }
6477
- /**
6478
- * Get transaction date
6479
- */
6480
- getDate() {
6481
- return this.date;
6482
- }
6483
6431
  /**
6484
6432
  * Check if transaction type is vehicle
6485
6433
  */
@@ -6803,14 +6751,10 @@ class Depreciation extends Depreciation$1 {
6803
6751
  super(...arguments);
6804
6752
  this.forecasts = [];
6805
6753
  this.type = DepreciationTypeEnum.PLANT_EQUIPMENT;
6806
- /**
6807
- * @TODO remove after ? signs removed from db models
6808
- */
6809
6754
  this.amount = 0;
6810
6755
  }
6811
- static { this.WRITTEN_OFF_THRESHOLD = 300; }
6812
- static { this.LOW_VALUE_POOL_THRESHOLD = 1000; }
6813
- // Type checking
6756
+ static { this.writtenOffThreshold = 300; }
6757
+ static { this.lowValuePoolThreshold = 1000; }
6814
6758
  isCapital() {
6815
6759
  return this.type === DepreciationTypeEnum.CAPITAL_WORKS;
6816
6760
  }
@@ -6820,7 +6764,6 @@ class Depreciation extends Depreciation$1 {
6820
6764
  isAsset() {
6821
6765
  return this.type === DepreciationTypeEnum.PLANT_EQUIPMENT;
6822
6766
  }
6823
- // Calculation checking
6824
6767
  isSBPCalculation() {
6825
6768
  return this.calculation === DepreciationCalculationEnum.SBP;
6826
6769
  }
@@ -6839,7 +6782,7 @@ class Depreciation extends Depreciation$1 {
6839
6782
  && !this.isSBPCalculation()
6840
6783
  && this.isDiminishing()
6841
6784
  && !this.isWrittenOff()
6842
- && this.currentYearForecast.closeBalance <= Depreciation.LOW_VALUE_POOL_THRESHOLD;
6785
+ && this.currentYearForecast.closeBalance <= Depreciation.lowValuePoolThreshold;
6843
6786
  }
6844
6787
  isSBP() {
6845
6788
  return this.isAsset() && this.isSBPCalculation() && !this.isWrittenOff();
@@ -6859,12 +6802,6 @@ class Depreciation extends Depreciation$1 {
6859
6802
  isVehicleDepreciation() {
6860
6803
  return this.chartAccounts.heading?.id === ChartAccountsHeadingVehicleListEnum.DEPRECIATION_VEHICLES;
6861
6804
  }
6862
- /**
6863
- * Get depreciation purchase date
6864
- */
6865
- getDate() {
6866
- return this.date;
6867
- }
6868
6805
  /**
6869
6806
  * @TODO Vik: Research a problem with depreciations without current year forecast
6870
6807
  */
@@ -6886,9 +6823,6 @@ class Depreciation extends Depreciation$1 {
6886
6823
  getCloseBalanceByYear(year) {
6887
6824
  return this.getForecastByYear(year)?.closeBalance || 0;
6888
6825
  }
6889
- isBuildingAtCost() {
6890
- return this.chartAccounts.id === ChartAccountsListEnum.BUILDING_AT_COST;
6891
- }
6892
6826
  /**
6893
6827
  * Create a new transaction from current depreciation
6894
6828
  */
@@ -6909,7 +6843,7 @@ class Depreciation extends Depreciation$1 {
6909
6843
  }
6910
6844
  get amountWithGst() {
6911
6845
  // gst applies only to new assets
6912
- if (this.isNew()) {
6846
+ if (this.isCurrentYearBuy()) {
6913
6847
  return super.amountWithGst;
6914
6848
  }
6915
6849
  return this.amount;
@@ -6920,7 +6854,7 @@ class Depreciation extends Depreciation$1 {
6920
6854
  /**
6921
6855
  * assets purchased in the current financial year
6922
6856
  */
6923
- isNew() {
6857
+ isCurrentYearBuy() {
6924
6858
  return new FinancialYear(this.date).year === new FinancialYear().year;
6925
6859
  }
6926
6860
  }
@@ -6954,7 +6888,7 @@ __decorate([
6954
6888
  forecast.closeBalance < 1000 &&
6955
6889
  obj.calculation === DepreciationCalculationEnum.DIMINISHING &&
6956
6890
  obj.type === DepreciationTypeEnum.PLANT_EQUIPMENT &&
6957
- !(obj.amount > Depreciation.WRITTEN_OFF_THRESHOLD && obj.amount < Depreciation.LOW_VALUE_POOL_THRESHOLD) &&
6891
+ !(obj.amount > Depreciation.writtenOffThreshold && obj.amount < Depreciation.lowValuePoolThreshold) &&
6958
6892
  !(obj.writeOffDate && new FinancialYear(new Date(obj.writeOffDate)).year === obj.financialYear);
6959
6893
  });
6960
6894
  return value;
@@ -7092,7 +7026,7 @@ class TransactionCollection extends ExportableCollection {
7092
7026
  * Get new collection of property transactions
7093
7027
  */
7094
7028
  getPropertyTransactions() {
7095
- return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
7029
+ return this.filterBy('tankType', TankTypeEnum.PROPERTY);
7096
7030
  }
7097
7031
  getDebitTransactions() {
7098
7032
  return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
@@ -7125,19 +7059,7 @@ class TransactionCollection extends ExportableCollection {
7125
7059
  * Get new transaction collection filtered by tank type
7126
7060
  */
7127
7061
  getByTankType(tankType) {
7128
- return this.create(this.items.filter((transaction) => {
7129
- switch (tankType) {
7130
- case TankTypeEnum.PROPERTY:
7131
- return transaction.isPropertyTank();
7132
- case TankTypeEnum.WORK:
7133
- return transaction.isWorkTank();
7134
- case TankTypeEnum.SOLE:
7135
- return transaction.isSoleTank();
7136
- // Transaction may be not related to any tank type (personal)
7137
- default:
7138
- return false;
7139
- }
7140
- }));
7062
+ return this.filterBy('tankType', tankType);
7141
7063
  }
7142
7064
  getExportHeader() {
7143
7065
  return ['Date', 'Description', 'Debit', 'Credit'];
@@ -7264,8 +7186,8 @@ class DepreciationCollection extends Collection {
7264
7186
  getSoleDepreciations() {
7265
7187
  return this.filter((depreciation) => depreciation.isSoleTank());
7266
7188
  }
7267
- getNew() {
7268
- return this.filter((depreciation) => depreciation.isNew());
7189
+ getCurrentYearBuy() {
7190
+ return this.filter(depreciation => depreciation.isCurrentYearBuy());
7269
7191
  }
7270
7192
  /**
7271
7193
  * Get total amount of all depreciations in the collection
@@ -7274,7 +7196,7 @@ class DepreciationCollection extends Collection {
7274
7196
  return this.items.reduce((sum, depreciation) => sum + depreciation.amount, 0);
7275
7197
  }
7276
7198
  get claimAmount() {
7277
- return this.items.reduce((sum, depreciation) => sum + depreciation.currentYearForecast.claimAmount, 0);
7199
+ return this.sumBy('currentYearForecast.claimAmount');
7278
7200
  }
7279
7201
  getClaimedAmountByYear(year = +localStorage.getItem('financialYear')) {
7280
7202
  const closeBalance = this.items.reduce((sum, depreciation) => sum + depreciation.getCloseBalanceByYear(year), 0);
@@ -7287,7 +7209,7 @@ class DepreciationCollection extends Collection {
7287
7209
  return this.items.reduce((sum, depreciation) => sum + depreciation.getCloseBalanceByYear(year), 0);
7288
7210
  }
7289
7211
  getCurrentYearForecastAmount() {
7290
- return this.items.reduce((sum, depreciation) => sum + depreciation.currentYearForecast.amount, 0);
7212
+ return this.sumBy('currentYearForecast.amount');
7291
7213
  }
7292
7214
  get closeBalance() {
7293
7215
  return this.sumBy('currentYearForecast.closeBalance');
@@ -7338,19 +7260,7 @@ class DepreciationCollection extends Collection {
7338
7260
  return this.filter((depreciation) => depreciation.isVehicleDepreciation());
7339
7261
  }
7340
7262
  getByTankType(tankType) {
7341
- return this.create(this.items.filter((depreciation) => {
7342
- switch (tankType) {
7343
- case TankTypeEnum.PROPERTY:
7344
- return depreciation.isPropertyTank();
7345
- case TankTypeEnum.WORK:
7346
- return depreciation.isWorkTank();
7347
- case TankTypeEnum.SOLE:
7348
- return depreciation.isSoleTank();
7349
- // case for other tank or some extra
7350
- default:
7351
- return false;
7352
- }
7353
- }));
7263
+ return this.filterBy('tankType', tankType);
7354
7264
  }
7355
7265
  /**
7356
7266
  * Create TransactionCollection from depreciation items
@@ -8219,19 +8129,19 @@ class VehicleExpense extends AbstractModel {
8219
8129
  }
8220
8130
 
8221
8131
  const REPORTS = new Collection([
8222
- {
8223
- title: 'Income & Expense Report',
8224
- description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories',
8225
- route: './income-expense',
8226
- roles: [UserRolesEnum.CLIENT],
8227
- },
8228
8132
  // @TODO TT-4385
8229
8133
  // {
8230
- // title: 'Transactions Report',
8231
- // description: 'Detailed report of the transactions allocated to each category. Filter by tank, property, business or your own search criteria',
8232
- // route: './transactions',
8233
- // roles: [UserRolesEnum.CLIENT]
8134
+ // title: 'Income & Expense Report',
8135
+ // description: 'Income and expense report with prior year comparison and monthly view option. Filter by Tank, property, business or personal categories',
8136
+ // route: './income-expense',
8137
+ // roles: [UserRolesEnum.CLIENT],
8234
8138
  // },
8139
+ {
8140
+ title: 'Transactions Report',
8141
+ description: 'Detailed report of the transactions allocated to each category. Filter by tank, property, business or your own search criteria',
8142
+ route: './transactions',
8143
+ roles: [UserRolesEnum.CLIENT]
8144
+ },
8235
8145
  {
8236
8146
  title: 'MyTax Report',
8237
8147
  description: 'Coded to the ATO\'s MyTax report, our interactive report enable you to self lodge faster, easier and more accurately online without the stress',
@@ -8239,12 +8149,12 @@ const REPORTS = new Collection([
8239
8149
  roles: [UserRolesEnum.CLIENT]
8240
8150
  },
8241
8151
  // @TODO TT-4386
8242
- // {
8243
- // title: 'Net Asset',
8244
- // description: 'See your current net financial position, including a breakdown of net assets and liabilities across all tanks',
8245
- // route: './assets',
8246
- // roles: [UserRolesEnum.CLIENT]
8247
- // },
8152
+ {
8153
+ title: 'Net Asset',
8154
+ description: 'See your current net financial position, including a breakdown of net assets and liabilities across all tanks',
8155
+ route: './net-assets',
8156
+ roles: [UserRolesEnum.CLIENT]
8157
+ },
8248
8158
  {
8249
8159
  title: 'Property Schedule',
8250
8160
  description: 'Compliant property schedule detailing incomes, expenses and depreciation for each property and ownership percentage',
@@ -8961,26 +8871,6 @@ class AccountSetupItemCollection extends Collection {
8961
8871
  * Collection of bank accounts.
8962
8872
  */
8963
8873
  class BankAccountCollection extends Collection {
8964
- /**
8965
- * get list of bank accounts with passed types
8966
- */
8967
- getByType(types, isExclude = false) {
8968
- // get types always as array (if only one passed)
8969
- const typesArray = concat(types);
8970
- return this.items.filter((bankAccount) => {
8971
- if (isExclude) {
8972
- return !typesArray.includes(bankAccount.type);
8973
- }
8974
- return typesArray.includes(bankAccount.type);
8975
- });
8976
- }
8977
- /**
8978
- * get amount of current loans
8979
- */
8980
- getCurrentLoanAmount() {
8981
- return this.getByType(TYPE_LOAN)
8982
- .reduce((sum, bankAccount) => sum += bankAccount.currentBalance, 0);
8983
- }
8984
8874
  /**
8985
8875
  * get collection filtered by property id
8986
8876
  */
@@ -9009,18 +8899,15 @@ class BankAccountCollection extends Collection {
9009
8899
  getActive() {
9010
8900
  return this.getOwn().filter((bankAccount) => bankAccount.isActive());
9011
8901
  }
9012
- /**
9013
- * Get collection of loan bank accounts
9014
- */
9015
8902
  getLoanAccounts() {
9016
- return new BankAccountCollection(this.getByType(TYPE_LOAN));
8903
+ return this.filterBy('type', TYPE_LOAN);
8904
+ }
8905
+ getDebitAccounts() {
8906
+ return this.filter(bankAccount => ![...TYPE_LOAN, BankAccountTypeEnum.CREDIT_CARD].includes(bankAccount.type));
9017
8907
  }
9018
8908
  get loans() {
9019
8909
  return new LoanCollection(this.filterBy('type', BankAccountTypeEnum.LOAN).map((bankAccount) => bankAccount.loan));
9020
8910
  }
9021
- getSavingsAccounts() {
9022
- return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
9023
- }
9024
8911
  getOpeningBalance() {
9025
8912
  return this.items.reduce((sum, bankAccount) => sum + bankAccount.getOpeningBalance(), 0);
9026
8913
  }
@@ -9030,18 +8917,6 @@ class BankAccountCollection extends Collection {
9030
8917
  get bankShortNames() {
9031
8918
  return uniq(this.map((bankAccount) => bankAccount.bank.shortName)).join(', ');
9032
8919
  }
9033
- /**
9034
- * Get Collection of bank accounts with property tank type
9035
- */
9036
- getPropertyBankAccounts() {
9037
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isPropertyTank()));
9038
- }
9039
- /**
9040
- * Get Collection of bank accounts with work tank type
9041
- */
9042
- getWorkBankAccounts() {
9043
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isWorkTank()));
9044
- }
9045
8920
  /**
9046
8921
  * Get Collection of bank accounts by tank type
9047
8922
  */
@@ -9957,7 +9832,7 @@ class BankAccount extends BankAccount$1 {
9957
9832
  * first import (transactions) of basiq accounts
9958
9833
  */
9959
9834
  isFirstImport() {
9960
- return !this.lastTransactionDate && !this.isManual;
9835
+ return !this.lastTransactionDate && !this.isManual();
9961
9836
  }
9962
9837
  /**
9963
9838
  * Check if passed user id is owner of bank account
@@ -9972,11 +9847,14 @@ class BankAccount extends BankAccount$1 {
9972
9847
  const shouldPayoutLoanAccount = this.isActive() && this.isLoan() && taxTankBalance === 0;
9973
9848
  // we don't check current balance for basiq accounts, because basiq doesn't provide us last transactions (can't do for closed accounts),
9974
9849
  // that's why balance won't be 0 (updated by basiq)
9975
- if (shouldPayoutLoanAccount && this.isManual) {
9850
+ if (shouldPayoutLoanAccount && this.isManual()) {
9976
9851
  return this.currentBalance === 0;
9977
9852
  }
9978
9853
  return shouldPayoutLoanAccount;
9979
9854
  }
9855
+ isManual() {
9856
+ return !this.accountId;
9857
+ }
9980
9858
  }
9981
9859
  __decorate([
9982
9860
  Type(() => BankAccountProperty)
@@ -10212,11 +10090,8 @@ var BankTransactionSummaryFieldsEnum;
10212
10090
  BankTransactionSummaryFieldsEnum["ALLOCATED_AMOUNT"] = "allocatedAmount";
10213
10091
  })(BankTransactionSummaryFieldsEnum || (BankTransactionSummaryFieldsEnum = {}));
10214
10092
 
10215
- /**
10216
- * @TODO credit card has nothing to do with loan
10217
- */
10218
10093
  const TYPE_LOAN = [
10219
- BankAccountTypeEnum.CREDIT_CARD,
10094
+ BankAccountTypeEnum.MORTGAGE,
10220
10095
  BankAccountTypeEnum.LOAN
10221
10096
  ];
10222
10097
 
@@ -15410,23 +15285,6 @@ class TransactionService extends RestService {
15410
15285
  this.transactionDeleted.emit(model);
15411
15286
  }));
15412
15287
  }
15413
- /**
15414
- * @TODO Alex wrong place for this logic, move to model
15415
- * calculate gross income amount based on transaction amount and taxes (fees)
15416
- * @param transaction Transaction instance for calculation
15417
- */
15418
- calculateGrossAmount(transaction) {
15419
- let amount = transaction.amount || 0;
15420
- // gross income amount includes amount of fees for property tank and tax for work tank
15421
- if (transaction.isPropertyTank()) {
15422
- amount += transaction.transactions.reduce((sum, item) => sum + item.amount, 0);
15423
- }
15424
- else {
15425
- // @TODO Alex: fix logic after TT-641 ready
15426
- amount += (transaction.tax || 0);
15427
- }
15428
- return amount;
15429
- }
15430
15288
  /**
15431
15289
  * Listen to EventDispatcherService event related to Depreciation changing
15432
15290
  */
@@ -22428,7 +22286,7 @@ class PropertyShareForm extends AbstractForm {
22428
22286
  constructor(share = plainToClass(PropertyShare, {})) {
22429
22287
  super({
22430
22288
  fromDate: new UntypedFormControl(share.fromDate || new Date()),
22431
- percent: new UntypedFormControl(share.percent, [Validators.required, Validators.min(0), Validators.max(100)])
22289
+ percent: new UntypedFormControl(share.percent, [Validators.required, Validators.min(1), Validators.max(100)])
22432
22290
  }, share);
22433
22291
  }
22434
22292
  }