Added configurable warning message

This commit is contained in:
Dániel Gyenizse
2023-10-30 16:50:49 +01:00
committed by Adam Saghy
parent cee57c525e
commit 53bbe13603
9 changed files with 65 additions and 2 deletions
@@ -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. */
@@ -202,6 +203,7 @@ export class AuthenticationService {
}
this.authenticationInterceptor.removeAuthorization();
this.setCredentials();
this.resetDialog();
return of(true);
}
@@ -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.
+6 -1
View File
@@ -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';
@@ -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.
@@ -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();
}
}
/**
+5 -1
View File
@@ -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';
@@ -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
@@ -21,6 +23,7 @@ import { TranslateModule } from '@ngx-translate/core';
*/
@NgModule({
imports: [
MatDialogModule,
SharedModule,
PipesModule,
HomeRoutingModule,
@@ -31,7 +34,8 @@ import { TranslateModule } from '@ngx-translate/core';
DashboardComponent,
AmountCollectedPieComponent,
AmountDisbursedPieComponent,
ClientTrendsBarComponent
ClientTrendsBarComponent,
WarningDialogComponent
],
providers: [ ]
})
@@ -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>
@@ -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() {
}
}