Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Savings Account enhancement for accrual transactions #12

Open
wants to merge 16 commits into
base: advancly
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Run `ng generate component component-name` to generate a new component. You can

### Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--configuration production` flag for a production build.

Run `npm run build:prod` to build a production artifacts Instead.

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"license": "MPL-2.0",
"scripts": {
"ng": "ng",
"build": "node version.js && npm run env -s && ng build --prod --output-hashing=none",
"build:prod": "node version.js && node --max-old-space-size=16384 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing=none --base-href=/web-app/",
"build": "node version.js && npm run env -s && ng build --configuration production --output-hashing=none",
"build:prod": "node version.js && node --max-old-space-size=16384 ./node_modules/@angular/cli/bin/ng build --configuration production --output-hashing=none --base-href=/web-app/",
"start": "npm run env -s && ng serve --aot --proxy-config proxy.conf.js",
"serve:dev": "npm run env -s && ng serve",
"serve:sw": "npm run build -s && npx http-server ./dist -p 4200",
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,81 +9,81 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">

<mat-form-field fxFlex="48%">
<mat-label>Name</mat-label>
<mat-label>{{ "labels.inputs.name" | translate}}</mat-label>
<input matInput formControlName="name">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Applicant</mat-label>
<mat-label>{{"labels.inputs.Applicant" | translate}}</mat-label>
<input matInput formControlName="applicant">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Type</mat-label>
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<input matInput formControlName="type">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>From Account Type</mat-label>
<mat-label>{{"labels.inputs.From Account Type"| translate}}</mat-label>
<input matInput formControlName="fromAccountType">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Priority</mat-label>
<mat-label>{{ "labels.inputs.Priority"| translate}}</mat-label>
<mat-select required formControlName="priority">
<mat-option *ngFor="let priorityType of priorityTypeData" [value]="priorityType.id">
{{ priorityType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.priority.hasError('required')">
Priority is <strong>required</strong>
{{ "labels.inputs.Priority"| translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Status</mat-label>
<mat-label>{{ "labels.inputs.Status" | translate}}</mat-label>
<mat-select required formControlName="status">
<mat-option *ngFor="let statusType of statusTypeData" [value]="statusType.id">
{{ statusType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.status.hasError('required')">
Status is <strong>required</strong>
{{ "labels.inputs.Status" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>From Account</mat-label>
<mat-label>{{"labels.inputs.From Account" | translate}}</mat-label>
<input matInput formControlName="fromAccount">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Destination</mat-label>
<mat-label>{{"labels.inputs.Destination"| translate}}</mat-label>
<input matInput formControlName="destination">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>To Office</mat-label>
<mat-label>{{"labels.inputs.To Office"| translate}}</mat-label>
<input matInput formControlName="toOffice">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Beneficiary</mat-label>
<mat-label>{{ "labels.inputs.Beneficiary"| translate}}</mat-label>
<input matInput formControlName="toClientId">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>To Account Type</mat-label>
<mat-label>{{"labels.inputs.To Account Type" | translate}}</mat-label>
<input matInput formControlName="toAccountType">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>To Account</mat-label>
<mat-label>{{"labels.inputs.To Account" | translate}}</mat-label>
<input matInput formControlName="toAccount">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Standing Instruction Type</mat-label>
<mat-label>{{ "labels.inputs.Standing Instruction Type" | translate}}</mat-label>
<mat-select formControlName="instructionType">
<mat-option *ngFor="let instructionsType of instructionTypeData"
[value]="instructionsType.id">
Expand All @@ -93,51 +93,51 @@
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Amount</mat-label>
<mat-label>{{"labels.inputs.Amount" | translate}}</mat-label>
<input matInput formControlName="amount">
</mat-form-field>

<mat-form-field fxFlex="48%" (click)="validFromDatePicker.open()">
<mat-label>Validity From</mat-label>
<mat-label>{{"labels.inputs.Validity from" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validFromDatePicker" required
formControlName="validFrom">
<mat-datepicker-toggle matSuffix [for]="validFromDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validFromDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validFrom.hasError('required')">
Valid From Date is <strong>required</strong>
{{"labels.inputs.Valid From Date" | translate }} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>

<mat-form-field fxFlex="48%" (click)="validTillDatePicker.open()">
<mat-label>Validity To</mat-label>
<mat-label>{{"labels.inputs.Validity To" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="validTillDatePicker" required
formControlName="validTill">
<mat-datepicker-toggle matSuffix [for]="validTillDatePicker"></mat-datepicker-toggle>
<mat-datepicker #validTillDatePicker></mat-datepicker>
<mat-error *ngIf="editStandingInstructionsForm.controls.validTill.hasError('required')">
Valid Till Date is <strong>required</strong>
{{ "labels.inputs.Valid Till Date" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Recurrence Type</mat-label>
<mat-label>{{"labels.inputs.Recurrence Type" | translate}}</mat-label>
<mat-select required formControlName="recurrenceType">
<mat-option *ngFor="let recurrenceType of recurrenceTypeData" [value]="recurrenceType.id">
{{ recurrenceType.value }}
</mat-option>
</mat-select>
<mat-error *ngIf="editStandingInstructionsForm.controls.recurrenceType.hasError('required')">
Recurrence Type is <strong>required</strong>
{{"labels.inputs.Recurrence Type" | translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Interval</mat-label>
<mat-label>{{"labels.inputs.Interval" | translate}}</mat-label>
<input matInput formControlName="recurrenceInterval">
</mat-form-field>

<mat-form-field fxFlex="48%">
<mat-label>Recurrence Frequency</mat-label>
<mat-label>{{"labels.inputs.Recurrence Frequency" | translate}}</mat-label>
<mat-select formControlName="recurrenceFrequency">
<mat-option *ngFor="let recurrenceFrequencyType of recurrenceFrequencyTypeData"
[value]="recurrenceFrequencyType.id">
Expand All @@ -147,7 +147,7 @@
</mat-form-field>

<mat-form-field fxFlex="48%" (click)="recurrenceOnMonthDayDatePicker.open()">
<mat-label>On Month Day</mat-label>
<mat-label>{{"labels.inputs.On Month Day" | translate}}</mat-label>
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="recurrenceOnMonthDayDatePicker"
formControlName="recurrenceOnMonthDay">
<mat-datepicker-toggle matSuffix [for]="recurrenceOnMonthDayDatePicker"></mat-datepicker-toggle>
Expand All @@ -159,9 +159,9 @@
</mat-card-content>

<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../view']">Cancel</button>
<button type="button" mat-raised-button [routerLink]="['../view']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!editStandingInstructionsForm.valid"
(click)="submit()" *mifosxHasPermission="'UPDATE_STANDINGINSTRUCTION'">Submit</button>
(click)="submit()" *mifosxHasPermission="'UPDATE_STANDINGINSTRUCTION'">{{"labels.buttons.Submit | translate}}</button>
</mat-card-actions>

</form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<div fxFlexFill *ngIf="isFromClient">
<span fxFlex="40%">
<h3 class="mat-h3">Client Name</h3>
<h3 class="mat-h3">{{ "labels.heading.Client Type" | translate}}</h3>
</span>
<span fxFlex="60%">
<h3 class="mat-h3">{{ clientName }}</h3>
Expand All @@ -23,7 +23,7 @@ <h3 class="mat-h3">{{ clientName }}</h3>
<mat-divider [inset]="true"></mat-divider>

<mat-form-field fxFlex="30%">
<mat-label>Type</mat-label>
<mat-label>{{ "labels.inputs.Type" | translate}}</mat-label>
<mat-select [formControl]="transferType">
<mat-option *ngFor="let transferTypeData of transferTypeDatas" [value]="transferTypeData.id">
{{ transferTypeData.value }}
Expand All @@ -36,49 +36,49 @@ <h3 class="mat-h3">{{ clientName }}</h3>
</mat-form-field>

<button mat-raised-button color="primary" *mifosxHasPermission="'READ_STANDINGINSTRUCTION'" (click)="filterStandingInstructions()" class="filter-button">
&nbsp;&nbsp;Filter
&nbsp;&nbsp;{{ "labels.buttons.filter" | translate}}
</button>
</div>


<table mat-table #instructionsTable [dataSource]="dataSource">

<ng-container matColumnDef="client">
<th mat-header-cell *matHeaderCellDef> Client </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Client" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromClient.displayName}}-{{instruction.fromClient.id}}
</td>
</ng-container>

<ng-container matColumnDef="fromAccount">
<th mat-header-cell *matHeaderCellDef> From Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.From Account" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.fromAccount.accountNo}}
({{instruction.fromAccountType.value}})</td>
</ng-container>

<ng-container matColumnDef="beneficiary">
<th mat-header-cell *matHeaderCellDef> Beneficiary </th>
<th mat-header-cell *matHeaderCellDef>{{ "labels.inputs.Beneficiary"| translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toClient.displayName}}</td>
</ng-container>

<ng-container matColumnDef="toAccount">
<th mat-header-cell *matHeaderCellDef> To Account </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.To Account" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.toAccount.accountNo}}
({{instruction.toAccountType.value}})</td>
</ng-container>

<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Amount </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.instructionType.value}}/{{instruction.amount}}</td>
</ng-container>

<ng-container matColumnDef="validity">
<th mat-header-cell *matHeaderCellDef> Validity </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Validity" | translate}} </th>
<td mat-cell *matCellDef="let instruction">{{instruction.validFrom | dateFormat}} to {{instruction.validTill | dateFormat}}
</td>
</ng-container>

<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef> Actions </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Actions" | translate}} </th>
<td mat-cell *matCellDef="let instruction">
<span *ngIf="instruction.status.value!=='Deleted'">
<button class="account-action-button" mat-raised-button color="primary" matTooltip="Edit Standing Instruction"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@
<div fxLayout="row wrap" class="content">

<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
From Account
{{"labels.inputs.From Account" | translate}}
</div>

<div fxFlex="25%" fxFlex.lt-md="50%">
{{ listTransactionData.fromAccount.accountNo }}({{ listTransactionData.fromAccountType.value }})
</div>

<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
To Account
{{"labels.inputs.To Account" | translate}}
</div>

<div fxFlex="25%" fxFlex.lt-md="50%">
{{ listTransactionData.toAccount.accountNo }}({{ listTransactionData.toAccountType.value }})
</div>

<div fxFlex="25%" fxFlex.lt-md="50%" class="header">
Destination
{{"labels.inputs.Destination"| translate}}
</div>

<div fxFlex="25%" fxFlex.lt-md="50%">
Expand All @@ -43,23 +43,23 @@
<table mat-table [dataSource]="dataSource">

<ng-container matColumnDef="transactionDate">
<th mat-header-cell *matHeaderCellDef> Transaction Date </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Transaction Date | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDate | dateFormat }} </td>
</ng-container>

<ng-container matColumnDef="amount">
<th mat-header-cell *matHeaderCellDef> Amount </th>
<th mat-header-cell *matHeaderCellDef> {{"labels.inputs.Amount" | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferAmount }} </td>
</ng-container>

<ng-container matColumnDef="notes">
<th mat-header-cell *matHeaderCellDef> Notes </th>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Notes | translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.transferDescription }} </td>
</ng-container>

<ng-container matColumnDef="reversed">
<th mat-header-cell *matHeaderCellDef> Reversed </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.reversed ? 'Yes' : 'No' }} </td>
<th mat-header-cell *matHeaderCellDef> {{ "labels.inputs.Reversed"| translate}} </th>
<td mat-cell *matCellDef="let transaction"> {{ transaction.reversed ? 'Yes' : 'No'}}</td>
</ng-container>

<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
Expand Down
Loading