From 150fb0f88b5b7bdc1a9bd3bf139f69cdd5a3bc67 Mon Sep 17 00:00:00 2001
From: Mazdak Gibran <141390141+mazdakgibran@users.noreply.github.com>
Date: Mon, 19 Jan 2026 14:20:50 +0500
Subject: [PATCH] add success message
add success message to change password and reset password, and fixed the routing in change password.
---
.../side-nav/side-nav.component.html | 2 +-
.../components/side-nav/side-nav.component.ts | 5 ----
.../change-password.component.ts | 23 +++++++++++--------
.../reset-password.component.ts | 16 +++++++++----
src/app/utils/enums.ts | 2 ++
src/assets/i18n/Arabic.json | 2 ++
src/assets/i18n/English.json | 2 ++
7 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/src/app/shared/components/side-nav/side-nav.component.html b/src/app/shared/components/side-nav/side-nav.component.html
index 50fb14c..2562293 100644
--- a/src/app/shared/components/side-nav/side-nav.component.html
+++ b/src/app/shared/components/side-nav/side-nav.component.html
@@ -30,7 +30,7 @@
-
+
{{ 'changePassword' | translate }}
diff --git a/src/app/shared/components/side-nav/side-nav.component.ts b/src/app/shared/components/side-nav/side-nav.component.ts
index d58dc0c..e3f7755 100644
--- a/src/app/shared/components/side-nav/side-nav.component.ts
+++ b/src/app/shared/components/side-nav/side-nav.component.ts
@@ -47,11 +47,6 @@ export class SideNavComponent {
this.closeSidebarMenu();
}
- navigateToChangePassword() {
- this.router.navigate(['/home/changePassword'], {
- state: { fromMenu: true }
- });
-}
closeSidebarMenu(): void {
if (isPlatformBrowser(this.platformId)) {
const subMenus = document.querySelectorAll('#sidebar-menu .sub-menu');
diff --git a/src/app/user-management/change-password/change-password.component.ts b/src/app/user-management/change-password/change-password.component.ts
index 2b74034..65aff72 100644
--- a/src/app/user-management/change-password/change-password.component.ts
+++ b/src/app/user-management/change-password/change-password.component.ts
@@ -6,6 +6,9 @@ import { PasswordHideShowComponent } from '../../shared/components/password-hide
import { HttpURIService } from '../../app.http.uri.service';
import { URIKey } from '../../utils/uri-enums';
import { StorageService } from '../../shared/services/storage.service';
+import { I18NService } from '../../services/i18n.service';
+import { HttpErrorResponse } from '@angular/common/http';
+import { SuccessMessages } from '../../utils/enums';
@Component({
selector: 'app-change-password',
@@ -28,7 +31,7 @@ passwordType2: string = 'password';
@ViewChild('psh') passwordHideShow?: PasswordHideShowComponent;
@ViewChild('psh1') passwordHideShow1 ?: PasswordHideShowComponent;
@ViewChild('psh2') passwordHideShow2 ?: PasswordHideShowComponent;
-constructor(private fb: FormBuilder, private httpURIService: HttpURIService, private storageService: StorageService){}
+constructor(private fb: FormBuilder, private httpURIService: HttpURIService, private storageService: StorageService, private i18nService: I18NService){}
togglePasswordType() {
this.passwordType = this.passwordHideShow?.showPassword ? 'password' : 'text';
@@ -65,13 +68,6 @@ constructor(private fb: FormBuilder, private httpURIService: HttpURIService, pri
}
checkIfFirstTimeChangePasswordOrNot(): void {
- const fromMenu = history.state?.['fromMenu'];
-
- if (fromMenu) {
- this.isFirstLogin = false;
- return;
- }
-
try {
const currentUser: any = JSON.parse(
this.storageService.getItem('user') || '{}'
@@ -120,7 +116,6 @@ constructor(private fb: FormBuilder, private httpURIService: HttpURIService, pri
return {
oldPassword: form.get('oldPassword')?.value || null,
- // confirmPassword: form.get('confirmPassword')?.value || null,
newPassword: form.get('newPassword')?.value,
userId: this.storageService.getItem('USER_ID'),
porOrgaCode: this.storageService.getItem('POR_ORGACODE')
@@ -130,7 +125,15 @@ constructor(private fb: FormBuilder, private httpURIService: HttpURIService, pri
const payload = this.getFormPayload();
this.httpURIService.requestPOST(URIKey.CHANGE_PASSWORD_URI, payload)
- .subscribe();
+ .subscribe({
+ next: (response) => {
+ if (!(response instanceof HttpErrorResponse)) {
+ this.i18nService.success(SuccessMessages.CHANGE_PASSWORD_SUCCESS, []);
+ }
+ }
+ });
+
+
}
}
diff --git a/src/app/user-management/reset-password/reset-password.component.ts b/src/app/user-management/reset-password/reset-password.component.ts
index 88eb407..c92d9f8 100644
--- a/src/app/user-management/reset-password/reset-password.component.ts
+++ b/src/app/user-management/reset-password/reset-password.component.ts
@@ -6,6 +6,9 @@ import { PasswordHideShowComponent } from '../../shared/components/password-hide
import { URIKey } from '../../utils/uri-enums';
import { HttpURIService } from '../../app.http.uri.service';
import { StorageService } from '../../shared/services/storage.service';
+import { I18NService } from '../../services/i18n.service';
+import { ErrorMessages, SuccessMessages } from '../../utils/enums';
+import { HttpErrorResponse } from '@angular/common/http';
@Component({
selector: 'app-reset-password',
@@ -21,7 +24,7 @@ export class ResetPasswordComponent implements OnInit{
@ViewChild('psh1') passwordHideShow1?: PasswordHideShowComponent;
@ViewChild('psh2') passwordHideShow2?: PasswordHideShowComponent;
- constructor(private fb: FormBuilder, private httpURIService: HttpURIService, private storageService: StorageService){}
+ constructor(private fb: FormBuilder, private httpURIService: HttpURIService, private storageService: StorageService, private i18nService: I18NService){}
ngOnInit(): void {
const userIdValue = this.storageService.getItem('USER_ID')
@@ -83,10 +86,15 @@ export class ResetPasswordComponent implements OnInit{
porOrgaCode: this.storageService.getItem('POR_ORGACODE')
};
this.httpURIService.requestPOST(URIKey.RESET_PASSWORD_URI, payload)
- .subscribe();
+ .subscribe({
+ next: (response) => {
+ if (!(response instanceof HttpErrorResponse)) {
+ this.i18nService.success(SuccessMessages.RESET_PASSWORD_SUCCESS, []);
+ }
+ }
+ });
+ }
}
-
-}
diff --git a/src/app/utils/enums.ts b/src/app/utils/enums.ts
index fe5f7df..9cc8c4d 100644
--- a/src/app/utils/enums.ts
+++ b/src/app/utils/enums.ts
@@ -53,6 +53,8 @@ export enum SuccessMessages {
SAVED_SUCESSFULLY = "SUC_APP_F_0001",
LOGIN_SUCCESSFULLY = "LOGIN_SUCCESSFULLY",
+RESET_PASSWORD_SUCCESS ="RESET_PASSWORD_SUCCESS",
+CHANGE_PASSWORD_SUCCESS ="CHANGE_PASSWORD_SUCCESS",
TRANSACTION_SUCCESSFUL = "TRANSACTION_SUCCESSFUL",
SAVED_SUCCESSFULLY = "SAVED_SUCCESSFULLY",
RECORD_DELETED_SUCCESSFULY = "RECORD_DELETED_SUCCESSFULY",
diff --git a/src/assets/i18n/Arabic.json b/src/assets/i18n/Arabic.json
index 3954493..309c84e 100644
--- a/src/assets/i18n/Arabic.json
+++ b/src/assets/i18n/Arabic.json
@@ -234,6 +234,8 @@
"previous": "سابق",
"next": "التالي",
"LOGIN_SUCCESSFULLY":"تم تسجيل الدخول بنجاح",
+ "RESET_PASSWORD_SUCCESS": "تمت إعادة تعيين كلمة المرور بنجاح",
+ "CHANGE_PASSWORD_SUCCESS": "تم تغيير كلمة المرور بنجاح",
"ALREADY_LOGGED_IN": "المستخدم مسجل دخوله بالفعل",
"ACCESS_DENIED" : "تم الرفض",
"INTERNAL_SERVER_ERROR": "خطأ في الخادم الداخلي",
diff --git a/src/assets/i18n/English.json b/src/assets/i18n/English.json
index 422273b..e08fdab 100644
--- a/src/assets/i18n/English.json
+++ b/src/assets/i18n/English.json
@@ -233,6 +233,8 @@
"previous": "Previous",
"next": "Next",
"LOGIN_SUCCESSFULLY":"Login SucessFully",
+ "RESET_PASSWORD_SUCCESS":"Password Reset Successfully",
+ "CHANGE_PASSWORD_SUCCESS":"Password Changed Successfully",
"ALREADY_LOGGED_IN": "User Already Logged In",
"ACCESS_DENIED" : "Access Denied",
"INTERNAL_SERVER_ERROR": "Internal Server Error",