taxtank-core 0.30.142 → 0.30.143
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.
- package/esm2020/lib/db/Enums/user-roles.enum.mjs +2 -2
- package/esm2020/lib/forms/property/borrowing-report.form.mjs +12 -7
- package/esm2020/lib/models/property/borrowing-report.mjs +4 -8
- package/fesm2015/taxtank-core.mjs +15 -14
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +13 -14
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/db/Enums/user-roles.enum.d.ts +1 -1
- package/lib/forms/property/borrowing-report.form.d.ts +5 -2
- package/package.json +1 -1
|
@@ -12,6 +12,6 @@ export var UserRolesEnum;
|
|
|
12
12
|
UserRolesEnum["PROPERTY_TANK"] = "ROLE_USER_PROPERTY";
|
|
13
13
|
UserRolesEnum["SOLE_TANK"] = "ROLE_USER_SOLE";
|
|
14
14
|
UserRolesEnum["HOLDING_TANK"] = "ROLE_USER_HOLDING";
|
|
15
|
-
UserRolesEnum["SWITCH_USER"] = "
|
|
15
|
+
UserRolesEnum["SWITCH_USER"] = "IS_IMPERSONATOR";
|
|
16
16
|
})(UserRolesEnum || (UserRolesEnum = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQWNYO0FBZEQsV0FBWSxhQUFhO0lBQ3ZCLCtDQUE4QixDQUFBO0lBQzlCLG1EQUFrQyxDQUFBO0lBQ2xDLHVDQUFzQixDQUFBO0lBQ3RCLDJDQUEwQixDQUFBO0lBQzFCLCtDQUE4QixDQUFBO0lBQzlCLHlDQUF3QixDQUFBO0lBQ3hCLG1DQUFrQixDQUFBO0lBQ2xCLHdEQUF1QyxDQUFBO0lBQ3ZDLDZDQUE0QixDQUFBO0lBQzVCLHFEQUFvQyxDQUFBO0lBQ3BDLDZDQUE0QixDQUFBO0lBQzVCLG1EQUFrQyxDQUFBO0lBQ2xDLGdEQUErQixDQUFBO0FBQ2pDLENBQUMsRUFkVyxhQUFhLEtBQWIsYUFBYSxRQWN4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFVzZXJSb2xlc0VudW0ge1xuICBGSVJNX09XTkVSID0gJ1JPTEVfRklSTV9PV05FUicsXG4gIEZJUk1fTUFOQUdFUiA9ICdST0xFX0ZJUk1fTUFOQUdFUicsXG4gIENMSUVOVCA9ICdST0xFX0NMSUVOVCcsXG4gIEVNUExPWUVFID0gJ1JPTEVfRU1QTE9ZRUUnLFxuICBBQ0NPVU5UQU5UID0gJ1JPTEVfQUNDT1VOVEFOVCcsXG4gIEFEVklTT1IgPSAnUk9MRV9BRFZJU09SJyxcbiAgVVNFUiA9ICdST0xFX1VTRVInLFxuICBTVUJTQ1JJUFRJT04gPSAnUk9MRV9VU0VSX1NVQlNDUklQVElPTicsXG4gIFdPUktfVEFOSyA9ICdST0xFX1VTRVJfV09SSycsXG4gIFBST1BFUlRZX1RBTksgPSAnUk9MRV9VU0VSX1BST1BFUlRZJyxcbiAgU09MRV9UQU5LID0gJ1JPTEVfVVNFUl9TT0xFJyxcbiAgSE9MRElOR19UQU5LID0gJ1JPTEVfVVNFUl9IT0xESU5HJyxcbiAgU1dJVENIX1VTRVIgPSAnSVNfSU1QRVJTT05BVE9SJyxcbn1cbiJdfQ==
|
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
import { AbstractForm } from '../abstract.form';
|
|
2
|
+
import { BorrowingReport } from '../../models';
|
|
2
3
|
import { FormControl, Validators } from '@angular/forms';
|
|
4
|
+
import { plainToClass } from 'class-transformer';
|
|
3
5
|
/**
|
|
4
6
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4717608961/Borrowing+Power+Report+-+Property+Tank
|
|
5
7
|
*/
|
|
6
8
|
export class BorrowingReportForm extends AbstractForm {
|
|
7
|
-
|
|
9
|
+
/**
|
|
10
|
+
* extra params are auto-calculated numbers used if user didn't specify manual numbers
|
|
11
|
+
*/
|
|
12
|
+
constructor(report = plainToClass(BorrowingReport, {}), netSalary, spouseNetSalary) {
|
|
8
13
|
super({
|
|
9
14
|
netRentIncome: new FormControl(report.netRentIncome, Validators.required),
|
|
10
15
|
loanRepaymentAmount: new FormControl(report.loanRepaymentAmount, Validators.required),
|
|
11
|
-
netSalary: new FormControl(report.netSalary),
|
|
12
|
-
spouseNetSalary: new FormControl(report.spouseNetSalary),
|
|
16
|
+
netSalary: new FormControl(report.netSalary ?? netSalary),
|
|
17
|
+
spouseNetSalary: new FormControl(report.spouseNetSalary ?? spouseNetSalary),
|
|
13
18
|
otherLiabilities: new FormControl(report.otherLiabilities, Validators.required),
|
|
14
19
|
livingExpenses: new FormControl(report.livingExpenses, Validators.required),
|
|
15
20
|
}, report);
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
18
|
-
* some fields are auto-calculated, shouldn't be updated until
|
|
23
|
+
* some fields are auto-calculated, shouldn't be updated until changed by user
|
|
19
24
|
*/
|
|
20
25
|
submit(data = {}, includeDisabledFields = false) {
|
|
21
26
|
return super.submit({
|
|
22
|
-
netSalary: this.fieldChanged('netSalary') ? this.get('netSalary').value : null,
|
|
23
|
-
spouseNetSalary: this.fieldChanged('spouseNetSalary') ? this.get('spouseNetSalary').value : null,
|
|
27
|
+
netSalary: (this.model.netSalary || this.fieldChanged('netSalary')) ? this.get('netSalary').value : null,
|
|
28
|
+
spouseNetSalary: (this.model.netSalary || this.fieldChanged('spouseNetSalary')) ? this.get('spouseNetSalary').value : null,
|
|
24
29
|
}, includeDisabledFields);
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9ycm93aW5nLXJlcG9ydC5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3Byb3BlcnR5L2JvcnJvd2luZy1yZXBvcnQuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUE2QjtJQUNwRTs7T0FFRztJQUNILFlBQVksU0FBMEIsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFrQixFQUFFLGVBQXdCO1FBQ25ILEtBQUssQ0FBQztZQUNKLGFBQWEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDekUsbUJBQW1CLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsU0FBUyxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1lBQ3pELGVBQWUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvRSxjQUFjLEVBQUUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBZSxFQUFFLEVBQUUsd0JBQWlDLEtBQUs7UUFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2xCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDeEcsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDM0gsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgQm9ycm93aW5nUmVwb3J0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG4vKipcbiAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDcxNzYwODk2MS9Cb3Jyb3dpbmcrUG93ZXIrUmVwb3J0Ky0rUHJvcGVydHkrVGFua1xuICovXG5leHBvcnQgY2xhc3MgQm9ycm93aW5nUmVwb3J0Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxCb3Jyb3dpbmdSZXBvcnQ+IHtcbiAgLyoqXG4gICAqIGV4dHJhIHBhcmFtcyBhcmUgYXV0by1jYWxjdWxhdGVkIG51bWJlcnMgdXNlZCBpZiB1c2VyIGRpZG4ndCBzcGVjaWZ5IG1hbnVhbCBudW1iZXJzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihyZXBvcnQ6IEJvcnJvd2luZ1JlcG9ydCA9IHBsYWluVG9DbGFzcyhCb3Jyb3dpbmdSZXBvcnQsIHt9KSwgbmV0U2FsYXJ5PzogbnVtYmVyLCBzcG91c2VOZXRTYWxhcnk/OiBudW1iZXIpIHtcbiAgICBzdXBlcih7XG4gICAgICBuZXRSZW50SW5jb21lOiBuZXcgRm9ybUNvbnRyb2wocmVwb3J0Lm5ldFJlbnRJbmNvbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgbG9hblJlcGF5bWVudEFtb3VudDogbmV3IEZvcm1Db250cm9sKHJlcG9ydC5sb2FuUmVwYXltZW50QW1vdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5ldFNhbGFyeTogbmV3IEZvcm1Db250cm9sKHJlcG9ydC5uZXRTYWxhcnkgPz8gbmV0U2FsYXJ5KSxcbiAgICAgIHNwb3VzZU5ldFNhbGFyeTogbmV3IEZvcm1Db250cm9sKHJlcG9ydC5zcG91c2VOZXRTYWxhcnkgPz8gc3BvdXNlTmV0U2FsYXJ5KSxcbiAgICAgIG90aGVyTGlhYmlsaXRpZXM6IG5ldyBGb3JtQ29udHJvbChyZXBvcnQub3RoZXJMaWFiaWxpdGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBsaXZpbmdFeHBlbnNlczogbmV3IEZvcm1Db250cm9sKHJlcG9ydC5saXZpbmdFeHBlbnNlcywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSwgcmVwb3J0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzb21lIGZpZWxkcyBhcmUgYXV0by1jYWxjdWxhdGVkLCBzaG91bGRuJ3QgYmUgdXBkYXRlZCB1bnRpbCBjaGFuZ2VkIGJ5IHVzZXJcbiAgICovXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSwgaW5jbHVkZURpc2FibGVkRmllbGRzOiBib29sZWFuID0gZmFsc2UpOiBCb3Jyb3dpbmdSZXBvcnQge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoe1xuICAgICAgbmV0U2FsYXJ5OiAodGhpcy5tb2RlbC5uZXRTYWxhcnkgfHwgdGhpcy5maWVsZENoYW5nZWQoJ25ldFNhbGFyeScpKSA/IHRoaXMuZ2V0KCduZXRTYWxhcnknKS52YWx1ZSA6IG51bGwsXG4gICAgICBzcG91c2VOZXRTYWxhcnk6ICh0aGlzLm1vZGVsLm5ldFNhbGFyeSB8fCB0aGlzLmZpZWxkQ2hhbmdlZCgnc3BvdXNlTmV0U2FsYXJ5JykpID8gdGhpcy5nZXQoJ3Nwb3VzZU5ldFNhbGFyeScpLnZhbHVlIDogbnVsbCxcbiAgICB9LCBpbmNsdWRlRGlzYWJsZWRGaWVsZHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -21,13 +21,9 @@ export class BorrowingReport extends BorrowingReportBase {
|
|
|
21
21
|
* some fields calculated automatically until user filled them manually
|
|
22
22
|
*/
|
|
23
23
|
static calculate(salaryForecasts, incomeSourceForecasts, clientDetails = plainToClass(AnnualClientDetails, {}), report = plainToClass(BorrowingReport, {})) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
if (!report.spouseNetSalary) {
|
|
29
|
-
report.spouseNetSalary = clientDetails.spouseMonthlyIncome;
|
|
30
|
-
}
|
|
24
|
+
report.netSalary = report.netSalary ?? new Collection(salaryForecasts).sumBy('monthlyAmount')
|
|
25
|
+
+ new IncomeSourceForecastCollection(incomeSourceForecasts).bonuses.sumBy('monthlyAmount');
|
|
26
|
+
report.spouseNetSalary = report.spouseNetSalary ?? clientDetails.spouseMonthlyIncome;
|
|
31
27
|
return report;
|
|
32
28
|
}
|
|
33
29
|
/**
|
|
@@ -51,4 +47,4 @@ export class BorrowingReport extends BorrowingReportBase {
|
|
|
51
47
|
__decorate([
|
|
52
48
|
Type(() => User)
|
|
53
49
|
], BorrowingReport.prototype, "user", void 0);
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9ycm93aW5nLXJlcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvYm9ycm93aW5nLXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2hEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUF4RDs7UUFJRSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQix3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBQzdCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO0lBcUM3QixDQUFDO0lBbkNDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FDZCxlQUFpQyxFQUNqQyxxQkFBNkMsRUFDN0MsZ0JBQXFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDMUUsU0FBMEIsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFFM0QsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7Y0FDekYsSUFBSSw4QkFBOEIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0YsTUFBTSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztRQUVyRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsZUFBdUI7UUFDekQsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZTtjQUN4RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsTUFBYyxFQUFFLGVBQXVCO1FBQ3hELElBQUksQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDekUsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztjQUM5RixDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsQ0FBQztDQUNGO0FBMUNDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs2Q0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvcnJvd2luZ1JlcG9ydCBhcyBCb3Jyb3dpbmdSZXBvcnRCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L2JvcnJvd2luZy1yZXBvcnQnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIEluY29tZVNvdXJjZUZvcmVjYXN0Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEFubnVhbENsaWVudERldGFpbHMgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlRm9yZWNhc3QsIFNhbGFyeUZvcmVjYXN0IH0gZnJvbSAnLi4vaW5jb21lLXNvdXJjZSc7XG5cbi8qKlxuICogQm9ycm93aW5nIHBvd2VyIHJlcG9ydCwgc2hvd3MgaWYgdSBjYW4gYWZmb3JkIG5ldyBwcm9wZXJ0eSBsb2FuXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ3MTc2MDg5NjEvQm9ycm93aW5nK1Bvd2VyK1JlcG9ydCstK1Byb3BlcnR5K1RhbmtcbiAqL1xuZXhwb3J0IGNsYXNzIEJvcnJvd2luZ1JlcG9ydCBleHRlbmRzIEJvcnJvd2luZ1JlcG9ydEJhc2Uge1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIG5ldFJlbnRJbmNvbWU6IG51bWJlciA9IDA7XG4gIGxvYW5SZXBheW1lbnRBbW91bnQ6IG51bWJlciA9IDA7XG4gIG90aGVyTGlhYmlsaXRpZXM6IG51bWJlciA9IDA7XG4gIGxpdmluZ0V4cGVuc2VzOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBzb21lIGZpZWxkcyBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkgdW50aWwgdXNlciBmaWxsZWQgdGhlbSBtYW51YWxseVxuICAgKi9cbiAgc3RhdGljIGNhbGN1bGF0ZShcbiAgICBzYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10sXG4gICAgaW5jb21lU291cmNlRm9yZWNhc3RzOiBJbmNvbWVTb3VyY2VGb3JlY2FzdFtdLFxuICAgIGNsaWVudERldGFpbHM6IEFubnVhbENsaWVudERldGFpbHMgPSBwbGFpblRvQ2xhc3MoQW5udWFsQ2xpZW50RGV0YWlscywge30pLFxuICAgIHJlcG9ydDogQm9ycm93aW5nUmVwb3J0ID0gcGxhaW5Ub0NsYXNzKEJvcnJvd2luZ1JlcG9ydCwge30pXG4gICk6IEJvcnJvd2luZ1JlcG9ydCB7XG4gICAgcmVwb3J0Lm5ldFNhbGFyeSA9IHJlcG9ydC5uZXRTYWxhcnkgPz8gbmV3IENvbGxlY3Rpb24oc2FsYXJ5Rm9yZWNhc3RzKS5zdW1CeSgnbW9udGhseUFtb3VudCcpXG4gICAgICArIG5ldyBJbmNvbWVTb3VyY2VGb3JlY2FzdENvbGxlY3Rpb24oaW5jb21lU291cmNlRm9yZWNhc3RzKS5ib251c2VzLnN1bUJ5KCdtb250aGx5QW1vdW50Jyk7XG4gICAgcmVwb3J0LnNwb3VzZU5ldFNhbGFyeSA9IHJlcG9ydC5zcG91c2VOZXRTYWxhcnkgPz8gY2xpZW50RGV0YWlscy5zcG91c2VNb250aGx5SW5jb21lO1xuXG4gICAgcmV0dXJuIHJlcG9ydDtcbiAgfVxuXG4gIC8qKlxuICAgKiBmcmVlIG1vbmV5IGFmdGVyIGV4cGVuc2VzXG4gICAqL1xuICBnZXROZXRJbmNvbWVTdXJwbHVzKHByb2ZpdDogbnVtYmVyLCByZXBheW1lbnRBbW91bnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHByb2ZpdCArIHRoaXMubmV0UmVudEluY29tZSArIHRoaXMubmV0U2FsYXJ5ICsgdGhpcy5zcG91c2VOZXRTYWxhcnkgLSByZXBheW1lbnRBbW91bnRcbiAgICAgIC0gdGhpcy5sb2FuUmVwYXltZW50QW1vdW50IC0gdGhpcy5vdGhlckxpYWJpbGl0aWVzIC0gdGhpcy5saXZpbmdFeHBlbnNlc1xuICB9XG5cbiAgLyoqXG4gICAqIHN1cnBsdXMgaW5jb21lIHRvIGNvdmVyIHlvdXIgZGVidCBvYmxpZ2F0aW9uc1xuICAgKi9cbiAgZ2V0TmV0U3VycGx1c1JhdGlvKHByb2ZpdDogbnVtYmVyLCByZXBheW1lbnRBbW91bnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCEocmVwYXltZW50QW1vdW50ICsgdGhpcy5sb2FuUmVwYXltZW50QW1vdW50ICsgdGhpcy5vdGhlckxpYWJpbGl0aWVzKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIChwcm9maXQgKyB0aGlzLm5ldFJlbnRJbmNvbWUgKyB0aGlzLm5ldFNhbGFyeSArIHRoaXMuc3BvdXNlTmV0U2FsYXJ5IC0gdGhpcy5saXZpbmdFeHBlbnNlcylcbiAgICAgIC8gKHJlcGF5bWVudEFtb3VudCArIHRoaXMubG9hblJlcGF5bWVudEFtb3VudCArIHRoaXMub3RoZXJMaWFiaWxpdGllcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3826,7 +3826,7 @@ var UserRolesEnum;
|
|
|
3826
3826
|
UserRolesEnum["PROPERTY_TANK"] = "ROLE_USER_PROPERTY";
|
|
3827
3827
|
UserRolesEnum["SOLE_TANK"] = "ROLE_USER_SOLE";
|
|
3828
3828
|
UserRolesEnum["HOLDING_TANK"] = "ROLE_USER_HOLDING";
|
|
3829
|
-
UserRolesEnum["SWITCH_USER"] = "
|
|
3829
|
+
UserRolesEnum["SWITCH_USER"] = "IS_IMPERSONATOR";
|
|
3830
3830
|
})(UserRolesEnum || (UserRolesEnum = {}));
|
|
3831
3831
|
|
|
3832
3832
|
const USER_WORK_POSITION = {
|
|
@@ -6043,13 +6043,10 @@ class BorrowingReport extends BorrowingReport$1 {
|
|
|
6043
6043
|
* some fields calculated automatically until user filled them manually
|
|
6044
6044
|
*/
|
|
6045
6045
|
static calculate(salaryForecasts, incomeSourceForecasts, clientDetails = plainToClass(AnnualClientDetails, {}), report = plainToClass(BorrowingReport, {})) {
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
if (!report.spouseNetSalary) {
|
|
6051
|
-
report.spouseNetSalary = clientDetails.spouseMonthlyIncome;
|
|
6052
|
-
}
|
|
6046
|
+
var _a, _b;
|
|
6047
|
+
report.netSalary = (_a = report.netSalary) !== null && _a !== void 0 ? _a : new Collection(salaryForecasts).sumBy('monthlyAmount')
|
|
6048
|
+
+ new IncomeSourceForecastCollection(incomeSourceForecasts).bonuses.sumBy('monthlyAmount');
|
|
6049
|
+
report.spouseNetSalary = (_b = report.spouseNetSalary) !== null && _b !== void 0 ? _b : clientDetails.spouseMonthlyIncome;
|
|
6053
6050
|
return report;
|
|
6054
6051
|
}
|
|
6055
6052
|
/**
|
|
@@ -21993,23 +21990,27 @@ class PropertySaleExemptionsForm extends AbstractForm {
|
|
|
21993
21990
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4717608961/Borrowing+Power+Report+-+Property+Tank
|
|
21994
21991
|
*/
|
|
21995
21992
|
class BorrowingReportForm extends AbstractForm {
|
|
21996
|
-
|
|
21993
|
+
/**
|
|
21994
|
+
* extra params are auto-calculated numbers used if user didn't specify manual numbers
|
|
21995
|
+
*/
|
|
21996
|
+
constructor(report = plainToClass(BorrowingReport, {}), netSalary, spouseNetSalary) {
|
|
21997
|
+
var _a, _b;
|
|
21997
21998
|
super({
|
|
21998
21999
|
netRentIncome: new FormControl(report.netRentIncome, Validators.required),
|
|
21999
22000
|
loanRepaymentAmount: new FormControl(report.loanRepaymentAmount, Validators.required),
|
|
22000
|
-
netSalary: new FormControl(report.netSalary),
|
|
22001
|
-
spouseNetSalary: new FormControl(report.spouseNetSalary),
|
|
22001
|
+
netSalary: new FormControl((_a = report.netSalary) !== null && _a !== void 0 ? _a : netSalary),
|
|
22002
|
+
spouseNetSalary: new FormControl((_b = report.spouseNetSalary) !== null && _b !== void 0 ? _b : spouseNetSalary),
|
|
22002
22003
|
otherLiabilities: new FormControl(report.otherLiabilities, Validators.required),
|
|
22003
22004
|
livingExpenses: new FormControl(report.livingExpenses, Validators.required),
|
|
22004
22005
|
}, report);
|
|
22005
22006
|
}
|
|
22006
22007
|
/**
|
|
22007
|
-
* some fields are auto-calculated, shouldn't be updated until
|
|
22008
|
+
* some fields are auto-calculated, shouldn't be updated until changed by user
|
|
22008
22009
|
*/
|
|
22009
22010
|
submit(data = {}, includeDisabledFields = false) {
|
|
22010
22011
|
return super.submit({
|
|
22011
|
-
netSalary: this.fieldChanged('netSalary') ? this.get('netSalary').value : null,
|
|
22012
|
-
spouseNetSalary: this.fieldChanged('spouseNetSalary') ? this.get('spouseNetSalary').value : null,
|
|
22012
|
+
netSalary: (this.model.netSalary || this.fieldChanged('netSalary')) ? this.get('netSalary').value : null,
|
|
22013
|
+
spouseNetSalary: (this.model.netSalary || this.fieldChanged('spouseNetSalary')) ? this.get('spouseNetSalary').value : null,
|
|
22013
22014
|
}, includeDisabledFields);
|
|
22014
22015
|
}
|
|
22015
22016
|
}
|