Skip to content

Commit

Permalink
Added configurable warning message
Browse files Browse the repository at this point in the history
  • Loading branch information
Dániel Gyenizse authored and adamsaghy committed Oct 30, 2023
1 parent cee57c5 commit 53bbe13
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 2 deletions.
14 changes: 14 additions & 0 deletions src/app/core/authentication/authentication.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ export class AuthenticationService {
/** User credentials. */

private credentials: Credentials;
private dialogShown = false;
/** Key to store credentials in storage. */
private credentialsStorageKey = 'mifosXCredentials';
/** Key to store oauth token details in storage. */
Expand Down Expand Up @@ -202,6 +203,7 @@ export class AuthenticationService {
}
this.authenticationInterceptor.removeAuthorization();
this.setCredentials();
this.resetDialog();
return of(true);
}

Expand Down Expand Up @@ -266,6 +268,18 @@ export class AuthenticationService {
return this.http.get('/twofactor');
}

showDialog() {
this.dialogShown = true;
}

resetDialog() {
this.dialogShown = false;
}

hasDialogBeenShown() {
return this.dialogShown;
}

/**
* Requests OTP to be sent via the given delivery method.
* @param {any} deliveryMethod Delivery method for the OTP.
Expand Down
7 changes: 6 additions & 1 deletion src/app/home/home.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { startWith, map } from 'rxjs/operators';

/** Custom Imports. */
import { activities } from './activities';
import { WarningDialogComponent } from './warning-dialog/warning-dialog.component';

/** Custom Services */
import { AuthenticationService } from '../core/authentication/authentication.service';
Expand Down Expand Up @@ -62,7 +63,7 @@ export class HomeComponent implements OnInit, AfterViewInit {
private router: Router,
private dialog: MatDialog,
private configurationWizardService: ConfigurationWizardService,
private popoverService: PopoverService) { }
private popoverService: PopoverService,) { }

/**
* Sets the username of the authenticated user.
Expand All @@ -72,6 +73,10 @@ export class HomeComponent implements OnInit, AfterViewInit {
const credentials = this.authenticationService.getCredentials();
this.username = credentials.username;
this.setFilteredActivities();
if (!this.authenticationService.hasDialogBeenShown()) {
this.dialog.open(WarningDialogComponent);
this.authenticationService.showDialog();
}
}

/**
Expand Down
6 changes: 5 additions & 1 deletion src/app/home/home.module.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/** Angular Imports */
import { NgModule } from '@angular/core';
import { MatDialogModule } from '@angular/material/dialog';

/** Custom Modules */
import { SharedModule } from '../shared/shared.module';
Expand All @@ -13,6 +14,7 @@ import { AmountCollectedPieComponent } from './dashboard/amount-collected-pie/am
import { AmountDisbursedPieComponent } from './dashboard/amount-disbursed-pie/amount-disbursed-pie.component';
import { ClientTrendsBarComponent } from './dashboard/client-trends-bar/client-trends-bar.component';
import { TranslateModule } from '@ngx-translate/core';
import { WarningDialogComponent } from './warning-dialog/warning-dialog.component'

/**
* Home Component
Expand All @@ -21,6 +23,7 @@ import { TranslateModule } from '@ngx-translate/core';
*/
@NgModule({
imports: [
MatDialogModule,
SharedModule,
PipesModule,
HomeRoutingModule,
Expand All @@ -31,7 +34,8 @@ import { TranslateModule } from '@ngx-translate/core';
DashboardComponent,
AmountCollectedPieComponent,
AmountDisbursedPieComponent,
ClientTrendsBarComponent
ClientTrendsBarComponent,
WarningDialogComponent
],
providers: [ ]
})
Expand Down
5 changes: 5 additions & 0 deletions src/app/home/warning-dialog/warning-dialog.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<h1 mat-dialog-title>{{ title }}</h1>
<mat-dialog-content>{{ content }}</mat-dialog-content>
<mat-dialog-actions>
<button mat-raised-button color="primary" mat-dialog-close>{{ buttonText }}</button>
</mat-dialog-actions>
Empty file.
Empty file.
25 changes: 25 additions & 0 deletions src/app/home/warning-dialog/warning-dialog.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Component, OnInit } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';
import { environment } from '../../../environments/environment';

@Component({
selector: 'mifos-warning-dialog',
templateUrl: './warning-dialog.component.html',
styleUrls: ['./warning-dialog.component.scss']
})
export class WarningDialogComponent implements OnInit {

title: string;
content: string;
buttonText: string;

constructor(public dialogRef: MatDialogRef<WarningDialogComponent>) {
this.title = environment.warningDialog.title;
this.content = environment.warningDialog.content;
this.buttonText = environment.warningDialog.buttonText;
}

ngOnInit() {
}

}
5 changes: 5 additions & 0 deletions src/environments/environment.prod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ export const environment = {
enabled: false, // For connecting to Mifos X using OAuth2 Authentication change the value to true
serverUrl: ''
},
warningDialog: {
title: 'Warning',
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut id efficitur tortor. Pellentesque vel augue dolor. Quisque bibendum, lacus quis iaculis interdum, mi quam hendrerit tortor, sed ornare erat mi quis sapien. Maecenas maximus placerat arcu, a faucibus metus venenatis a. Maecenas at nibh in enim posuere ullamcorper.',
buttonText: 'Close'
},
defaultLanguage: window['env']['defaultLanguage'] || 'en-US',
supportedLanguages: window['env']['supportedLanguages'] || 'cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT,sw-SW',
preloadClients: window['env']['preloadClients'] || true,
Expand Down
5 changes: 5 additions & 0 deletions src/environments/environment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ export const environment = {
enabled: false, // For connecting to Mifos X using OAuth2 Authentication change the value to true
serverUrl: ''
},
warningDialog: {
title: 'Warning',
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut id efficitur tortor. Pellentesque vel augue dolor. Quisque bibendum, lacus quis iaculis interdum, mi quam hendrerit tortor, sed ornare erat mi quis sapien. Maecenas maximus placerat arcu, a faucibus metus venenatis a. Maecenas at nibh in enim posuere ullamcorper.',
buttonText: 'Close'
},
defaultLanguage: window['env']['defaultLanguage'] || 'en-US',
supportedLanguages: window['env']['supportedLanguages'] || 'cs-CS,de-DE,en-US,es-MX,fr-FR,it-IT,ko-KO,lt-LT,lv-LV,ne-NE,pt-PT,sw-SW',
preloadClients: window['env']['preloadClients'] || true,
Expand Down

0 comments on commit 53bbe13

Please sign in to comment.