-
-
-
{{'noUserDetailsFound' | translate}}
-
+
+
{{ "noUserDetailsFound" | translate }}
+
\ No newline at end of file
diff --git a/src/app/user-management/setup-user/setup-user.component.ts b/src/app/user-management/setup-user/setup-user.component.ts
index 1820add..9164ea5 100644
--- a/src/app/user-management/setup-user/setup-user.component.ts
+++ b/src/app/user-management/setup-user/setup-user.component.ts
@@ -5,7 +5,7 @@ import { NgSelectModule } from '@ng-select/ng-select';
import { TranslateModule } from '@ngx-translate/core';
import { pageSizeOptions } from '../../utils/app.constants';
import { SetupUser } from '../../models/user';
-import { FormBuilder, Validators, FormGroup } from '@angular/forms';
+import { FormBuilder, Validators, FormGroup, AbstractControl } from '@angular/forms';
import { ButtonManagementService } from '../../services/button-management.service';
import { StorageService } from '../../shared/services/storage.service';
import { TableFilterPipe } from '../../shared/pipes/table-filter.pipe';
@@ -13,50 +13,53 @@ import { URIKey } from '../../utils/uri-enums';
import { HttpErrorResponse, HttpParams } from '@angular/common/http';
import { HttpURIService } from '../../app.http.uri.service';
import { I18NService } from '../../services/i18n.service';
-import { SuccessMessages } from '../../utils/enums';
+import { SuccessMessages, ErrorMessages } from '../../utils/enums';
import { ResetPasswordModalComponent } from '../reset-password-modal/reset-password-modal.component';
-
@Component({
selector: 'app-setup-user',
standalone: true,
- imports: [TranslateModule, ReactiveFormsModule, FormsModule, CommonModule, NgSelectModule, TableFilterPipe, ResetPasswordModalComponent ],
+ imports: [TranslateModule, ReactiveFormsModule, FormsModule, CommonModule, NgSelectModule, TableFilterPipe, ResetPasswordModalComponent],
templateUrl: './setup-user.component.html',
styleUrl: './setup-user.component.scss'
})
export class SetupUserComponent implements OnInit {
userForm!: FormGroup;
+ selectedUserIdForEdit: string | null = null; // For edit form
+ selectedUserIdForReset: string | null = null; // For reset password modal
showForm = false;
- selectedUserId!: any;
showDeleteModal = false;
userIdToDelete: any = null;
allItems: SetupUser[] = [];
currentPage: number = 1;
- pageSizeOptions = pageSizeOptions
+ pageSizeOptions = pageSizeOptions;
itemsPerPage: number = 10;
pagedItems: any[] = [];
searchText: any = '';
renewalDataExpanded: boolean = true;
totalCount: number = 0;
- mode: 'edit' | 'view' = 'view';
+ mode: 'create' | 'edit' = 'create';
- userSetupDataExpanded: boolean = true
+ userSetupDataExpanded: boolean = true;
buttonPermissions: any;
- isLoading: boolean = false;
- setupUserList: SetupUser[] = [];
+ isLoading: boolean = false;
+ setupUserList: SetupUser[] = [];
+
+ // Store original user data for comparison
+ originalUserData: SetupUser | null = null;
+
roleOptions = [
{ label: 'Admin', value: 'ADMIN' },
{ label: 'User', value: 'USER' },
];
-
constructor(
private fb: FormBuilder,
private buttonManagementService: ButtonManagementService,
private storageService: StorageService,
private httpService: HttpURIService,
private i18nService: I18NService
- ){}
+ ) {}
onSearch(value: string): void {
this.searchText = value;
@@ -82,95 +85,202 @@ export class SetupUserComponent implements OnInit {
this.currentPage = 1;
this.updatePagedItems();
}
+
+ // Submit for creating new user
onSubmit() {
if (this.userForm.invalid) {
this.userForm.markAllAsTouched();
return;
}
- const newUser : SetupUser = {
- userId: this.userForm.value.userId,
- userFullname: this.userForm.value.userFullname,
- email: this.userForm.value.email,
+ const newUser: SetupUser = {
+ userId: this.userForm.value.userId.trim(),
+ userFullname: this.userForm.value.userFullname.trim(),
+ email: this.userForm.value.email.trim(),
role: this.userForm.value.userRole,
porOrgacode: this.storageService.getItem('POR_ORGACODE'),
password: this.userForm.value.defaultPassword
- }
+ };
- this.httpService.requestPOST
(URIKey.CREATE_USER, newUser).subscribe({
+ this.isLoading = true;
+ this.httpService.requestPOST(URIKey.CREATE_USER, newUser).subscribe({
next: (response) => {
if (!(response instanceof HttpErrorResponse)) {
this.i18nService.success(SuccessMessages.USER_CREATED_SUCCESS, []);
- this.userForm.reset();
- this.mode = 'edit';
- this.loadUsersDirect()
+ this.resetForm();
+ this.loadUsersDirect();
}
+ this.isLoading = false;
+ },
+ error: (error) => {
+ console.error('Error creating user:', error);
+ this.isLoading = false;
+ }
+ });
+ }
+
+ // Update existing user
+ onUpdate() {
+ if (this.userForm.invalid) {
+ this.userForm.markAllAsTouched();
+ return;
}
+
+ const updatedUser: any = {
+ userId: this.selectedUserIdForEdit,
+ userFullname: this.userForm.value.userFullname.trim(),
+ email: this.userForm.value.email.trim(),
+ role: this.userForm.value.userRole,
+ porOrgacode: this.storageService.getItem('POR_ORGACODE')
+ };
+
+ // Only include password if it was provided
+ if (this.userForm.value.defaultPassword && this.userForm.value.defaultPassword.trim()) {
+ updatedUser.password = this.userForm.value.defaultPassword;
+ }
+
+ let params = new HttpParams().set('userId', this.selectedUserIdForEdit!);
+
+ this.isLoading = true;
+ this.httpService.requestPUT(URIKey.UPDATE_USER, updatedUser, undefined, params).subscribe({
+ next: (response) => {
+ if (!(response instanceof HttpErrorResponse)) {
+ this.i18nService.success(SuccessMessages.USER_UPDATED_SUCCESS, []);
+ this.resetForm();
+ this.loadUsersDirect();
+ }
+ this.isLoading = false;
+ },
+ error: (error) => {
+ console.error('Error updating user:', error);
+ this.isLoading = false;
+ }
});
+ }
+ // Cancel edit mode
+ cancelEdit() {
+ this.resetForm();
+ }
+ // Reset form to create mode
+ resetForm() {
+ this.userForm.reset();
+ this.userForm.enable();
+ this.mode = 'create';
+ this.selectedUserIdForEdit = null;
+ this.originalUserData = null;
+ // Reset form validation state
+ Object.keys(this.userForm.controls).forEach(key => {
+ const control = this.userForm.get(key);
+ control?.markAsPristine();
+ control?.markAsUntouched();
+ });
}
+
+ // Check if form has been modified
+ isFormDirty(): boolean {
+ if (!this.originalUserData || this.mode !== 'edit') {
+ return true;
+ }
+
+ const currentValues = this.userForm.value;
+
+ // Check if any field has changed (excluding password)
+ return (
+ currentValues.userFullname !== this.originalUserData.userFullname ||
+ currentValues.email !== this.originalUserData.email ||
+ currentValues.userRole !== this.originalUserData.role ||
+ (currentValues.defaultPassword && currentValues.defaultPassword.trim() !== '')
+ );
+ }
+
+ // Get role label for display
+ getRoleLabel(roleValue: string): string {
+ const role = this.roleOptions.find(r => r.value === roleValue);
+ return role ? role.label : roleValue;
+ }
+
updatePagedItems(): void {
- const startIndex = (this.currentPage - 1) * this.itemsPerPage;
- const endIndex = startIndex + this.itemsPerPage;
- this.pagedItems = this.allItems.slice(startIndex, endIndex);
-}
+ const startIndex = (this.currentPage - 1) * this.itemsPerPage;
+ const endIndex = startIndex + this.itemsPerPage;
+ this.pagedItems = this.allItems.slice(startIndex, endIndex);
+ }
- getButtonPermissions(){
+ getButtonPermissions() {
this.buttonPermissions = this.buttonManagementService.buttonPermissions["setupUser"];
}
toggleTableCard(): void {
- this.userSetupDataExpanded = !this.userSetupDataExpanded;
-}
+ this.userSetupDataExpanded = !this.userSetupDataExpanded;
+ }
-confirmDelete(userId: string) {
- const confirmed = window.confirm('Are you sure you want to delete this user?');
- if (confirmed) {
- this.onDelete(userId);
+ confirmDelete(userId: string) {
+ const confirmed = window.confirm('Are you sure you want to delete this user?');
+ if (confirmed) {
+ this.onDelete(userId);
+ }
}
-}
-
-ngOnInit(): void {
- this.getButtonPermissions();
+ ngOnInit(): void {
+ this.getButtonPermissions();
+ this.initializeForm();
+ this.loadUsersDirect();
+ }
- this.userForm = this.fb.group({
+ initializeForm(): void {
+ this.userForm = this.fb.group({
userId: ['', [
Validators.required,
Validators.minLength(5),
- Validators.pattern(/^\S+$/)
- ]
- ],
+ Validators.pattern('^[a-z0-9]*$')
+ ]],
userFullname: ['', [
Validators.required,
- Validators.minLength(5)
- ]
- ],
+ Validators.minLength(5),
+ Validators.maxLength(500)
+ ]],
defaultPassword: ['', [
- Validators.required,
+ // Make password optional for edit mode, required for create
+ (control: AbstractControl) => {
+ if (this.mode === 'create' && !control.value) {
+ return { required: true };
+ }
+ return null;
+ },
Validators.pattern(
- /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,20}$/
- )
- ]
- ],
+ /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,20}$/
+ )
+ ]],
email: ['', [Validators.required, Validators.email]],
userRole: [null, Validators.required]
- });
- this.loadUsersDirect();
+ });
+
+ // Update password validation when mode changes
+ this.userForm.get('defaultPassword')?.valueChanges.subscribe(() => {
+ const passwordControl = this.userForm.get('defaultPassword');
+ if (passwordControl) {
+ passwordControl.updateValueAndValidity();
+ }
+ });
}
loadUsersDirect(): void {
- this.isLoading = false;
- let params = new HttpParams()
- .set('page', this.currentPage.toString())
- .set('size', this.itemsPerPage.toString());
-
- this.httpService.requestGET(URIKey.GET_ALL_USER_URI, params).subscribe({
+ this.isLoading = true;
+ let params = new HttpParams()
+ .set('page', (this.currentPage - 1).toString())
+ .set('size', this.itemsPerPage.toString());
+
+ this.httpService.requestGET(URIKey.GET_ALL_USER_URI, params).subscribe({
next: (response) => {
- this.setupUserList = response
- this.allItems = [...this.setupUserList];
+ if (response && response.content) {
+ this.setupUserList = response.content;
+ this.totalCount = response.totalElements || response.content.length;
+ } else {
+ this.setupUserList = response;
+ }
+ this.allItems = [...this.setupUserList];
this.updatePagedItems();
this.isLoading = false;
},
@@ -182,55 +292,144 @@ ngOnInit(): void {
});
}
- onView(userId: any): void{
+ onView(userId: string): void {
let params = new HttpParams().set('userId', userId);
+ this.isLoading = true;
+
this.httpService.requestGET(URIKey.GET_USER_BY_ID, params).subscribe({
next: (response: SetupUser) => {
+ // Store original data
+ this.originalUserData = { ...response };
+
+ // Patch form values
this.userForm.patchValue({
- userId: response.userId,
- userFullname: response.userFullname,
- email: response.email,
- userRole: response.role,
- defaultPassword: ''
- });
- this.userForm.disable();
- this.selectedUserId = userId;
- this.isLoading = false;
+ userId: response.userId,
+ userFullname: response.userFullname,
+ email: response.email,
+ userRole: response.role,
+ defaultPassword: '' // Clear password field for security
+ });
+
+ // Enable form for editing
+ this.userForm.enable();
+
+ // Disable userId field (it shouldn't be changed)
+ this.userForm.get('userId')?.disable();
+
+ // Set the edit userId
+ this.selectedUserIdForEdit = userId;
+ this.mode = 'edit'; // Set mode to edit
+ this.isLoading = false;
+
+ // Scroll to form
+ this.scrollToForm();
},
error: (err) => {
- console.error('Error fetching users:', err);
- this.allItems = [];
+ console.error('Error fetching user:', err)
this.isLoading = false;
}
});
}
- onDelete(userId: any){
+ onDelete(userId: string) {
let params = new HttpParams().set('userId', userId);
+ this.isLoading = true;
+
this.httpService.requestDELETE(URIKey.DELETE_USER, params).subscribe({
- next: (response) =>{
+ next: (response) => {
if (!(response instanceof HttpErrorResponse)) {
- this.i18nService.success(SuccessMessages.USER_DELETE_SUCCESS, []);
- this.loadUsersDirect();
- this.userForm.reset();
- this.selectedUserId = null;
- }
-
+ this.i18nService.success(SuccessMessages.USER_DELETE_SUCCESS, []);
+ this.loadUsersDirect();
+ this.resetForm();
+ }
+ this.isLoading = false;
+ },
+ error: (error) => {
+ console.error('Error deleting user:', error);
+ this.i18nService.error(ErrorMessages.USER_DELETE_FAILED, []);
+ this.isLoading = false;
}
- })
+ });
}
openResetPasswordModal(userId: string) {
- this.selectedUserId = userId;
+ console.log('Opening reset password modal for userId:', userId);
+ this.selectedUserIdForReset = userId;
- const modal = document.getElementById('resetPasswordModal');
- modal?.classList.add('show');
- modal!.style.display = 'block';
- document.body.classList.add('modal-open');
+ // Show the modal
+ const modal = document.getElementById('resetPasswordModal');
+ if (modal) {
+ modal.classList.add('show');
+ modal.style.display = 'block';
+ document.body.classList.add('modal-open');
- const backdrop = document.createElement('div');
- backdrop.className = 'modal-backdrop fade show';
- document.body.appendChild(backdrop);
-}
+ // Add backdrop
+ const backdrop = document.createElement('div');
+ backdrop.className = 'modal-backdrop fade show';
+ document.body.appendChild(backdrop);
+
+ // Listen for modal close event
+ const closeModal = () => {
+ this.closeResetPasswordModal();
+ };
+
+ // Add click event to backdrop
+ backdrop.addEventListener('click', closeModal);
+
+ // Add event listener for escape key
+ const handleEscape = (event: KeyboardEvent) => {
+ if (event.key === 'Escape') {
+ closeModal();
+ }
+ };
+ document.addEventListener('keydown', handleEscape);
+
+ // Store event listeners for cleanup
+ (modal as any).__backdropListener = closeModal;
+ (modal as any).__escapeListener = handleEscape;
+ }
+ }
-}
+ // Helper method to scroll to form
+ private scrollToForm(): void {
+ setTimeout(() => {
+ const formElement = document.querySelector('.card.border');
+ if (formElement) {
+ formElement.scrollIntoView({ behavior: 'smooth', block: 'start' });
+ }
+ }, 100);
+ }
+
+ closeResetPasswordModal(): void {
+ const modal = document.getElementById('resetPasswordModal');
+
+ // Remove event listeners
+ if (modal) {
+ const backdrop = document.querySelector('.modal-backdrop');
+ if (backdrop && (modal as any).__backdropListener) {
+ backdrop.removeEventListener('click', (modal as any).__backdropListener);
+ }
+
+ if ((modal as any).__escapeListener) {
+ document.removeEventListener('keydown', (modal as any).__escapeListener);
+ }
+ }
+
+ // Hide modal
+ if (modal) {
+ modal.classList.remove('show');
+ modal.style.display = 'none';
+ }
+
+ // Remove backdrop
+ const backdrop = document.querySelector('.modal-backdrop');
+ if (backdrop) {
+ backdrop.remove();
+ }
+
+ document.body.classList.remove('modal-open');
+
+ // Clear the reset userId
+ this.selectedUserIdForReset = null;
+ }
+}
\ No newline at end of file
diff --git a/src/app/utils/app.constants.ts b/src/app/utils/app.constants.ts
index b7bc250..f7e1ab5 100644
--- a/src/app/utils/app.constants.ts
+++ b/src/app/utils/app.constants.ts
@@ -5,9 +5,9 @@ export const CONSTANTS = {
};
export const pageSizeOptions = [
- { value: 10, label: '10 items' },
- { value: 20, label: '20 items' },
- { value: 50, label: '50 items' },
+ { value: 10, label: '10' },
+ { value: 20, label: '20' },
+ { value: 50, label: '50' },
];
export const toDateAfterFromDateValidator: ValidatorFn = (
@@ -30,7 +30,7 @@ export const toDateAfterFromDateValidator: ValidatorFn = (
today.setHours(0, 0, 0, 0);
// Rule 1: fromDate must be < toDate
- if (fromDate >= toDate) {
+ if (fromDate > toDate) {
return { fromDateGreaterThanOrEqualToToDate: true };
}
diff --git a/src/app/utils/enums.ts b/src/app/utils/enums.ts
index ce07e5a..e0aa229 100644
--- a/src/app/utils/enums.ts
+++ b/src/app/utils/enums.ts
@@ -6,6 +6,13 @@ export enum ErrorMessages{
UNAUTHORIZED_REQUEST = "UNAUTHORIZED_REQUEST",
ALREADY_LOGGED_IN = "ALREADY_LOGGED_IN",
ACCESS_DENIED = "ACCESS_DENIED",
+ USER_CREATE_FAILED = "USER_CREATE_FAILED",
+ USER_UPDATE_FAILED = "USER_UPDATE_FAILED",
+ USER_DELETE_FAILED = "USER_DELETE_FAILED",
+ USER_FETCH_FAILED = "USER_FETCH_FAILED",
+ RESET_PASSWORD_FAILED = "RESET_PASSWORD_FAILED",
+ CHANGE_PASSWORD_FAILED = "ERR_SEC_0007"
+
}
export enum supportedLanguages{
@@ -60,7 +67,10 @@ RECORD_DELETED_SUCCESSFULY = "RECORD_DELETED_SUCCESSFULY",
ACCOUNT_CLOSED_SUCCESSFULLY = "ACCOUNT_CLOSED_SUCCESSFULLY",
SUCCESS_MESSAGE = "SUCCESS_MESSAGE",
USER_CREATED_SUCCESS = "USER_CREATED_SUCCESS",
+USER_UPDATE_SUCCESS = "USER_UPDATE_SUCCESS",
+USER_UPDATED_SUCCESS = "USER_UPDATED_SUCCESS",
USER_DELETE_SUCCESS = "USER_DELETE_SUCCESS"
+
}
export enum MESSAGEKEY {
diff --git a/src/app/utils/uri-enums.ts b/src/app/utils/uri-enums.ts
index 7b2bde9..9842569 100644
--- a/src/app/utils/uri-enums.ts
+++ b/src/app/utils/uri-enums.ts
@@ -14,5 +14,6 @@ export enum URIKey {
FIRST_LOGIN_URI = "FIRST_LOGIN_URI",
THIRD_PARTY_REGISTER_URI = "THIRD_PARTY_REGISTER_URI",
TRANSACTION_LOGS = "TRANSACTION_LOGS",
- LOGGER_MANAGER_URI = "LOGGER_MANAGER_URI"
+ LOGGER_MANAGER_URI = "LOGGER_MANAGER_URI",
+ UPDATE_USER = 'UPDATE_USER'
}
\ No newline at end of file
diff --git a/src/assets/data/app.uri.json b/src/assets/data/app.uri.json
index 57b8c13..4a0ad4e 100644
--- a/src/assets/data/app.uri.json
+++ b/src/assets/data/app.uri.json
@@ -27,6 +27,11 @@
"URI": "/user/createUser",
"UUID": "CREATE_USER"
},
+ {
+ "Id": "ENTITY_UPDATE_USER",
+ "URI": "/user/updateUser",
+ "UUID": "UPDATE_USER"
+ },
{
"Id": "ENTITY_GET_ALL_USERS",
"URI": "/user/getAllUsers",
diff --git a/src/assets/i18n/Arabic.json b/src/assets/i18n/Arabic.json
index 46fdddb..0853fee 100644
--- a/src/assets/i18n/Arabic.json
+++ b/src/assets/i18n/Arabic.json
@@ -1,273 +1,299 @@
{
- "logintoAccount":"تسجيل الدخول إلى حسابك",
- "userName":"اسم المستخدم",
- "userNamePlaceHolder":"ادخل اسم المستخدم",
- "password":"كلمة المرور",
- "passwordPlaceHolder":"أدخل كلمة المرور",
- "defaultPassword": "كلمة المرور الافتراضية",
- "rememberMe":"تذكرنى",
- "forgotPassword":"هل نسيت كلمة السر؟",
- "passwordTooShort": "كلمة المرور قصيرة جدًا.",
- "passwordsDoNotMatch": "كلمتا المرور غير متطابقتين.",
- "login":"تسجيل الدخول",
- "dashboardTitle":"لوحة القيادة",
- "passwordChangeRequired": "تغيير كلمة المرور مطلوب",
- "monthlyReqTitle":"الطلبات الشهرية",
- "monthlySmsTitle":"الرسائل القصيرة الشهرية",
- "Dashboard":"لوحة القيادة",
- "UserManagement":"إدارةالمستخدم",
- "thirdPartyRegistration":"تسجيل الطرف الثالث",
- "setupUser":"مستخدم الإعداد",
- "resetPassword":"إعادة تعيين كلمة مرور المستخدم",
- "changePassword":"غير كلمة السر",
- "Logging":"تسجيل",
- "loggerManager":"مدير المسجل",
- "SMSBanking":"خدمة الرسائل المصرفية",
- "smsLogger":"مسجل الرسائل",
- "smsLoggerDetails": "تفاصيل سجل الرسائل القصيرة",
- "smsGateway":"بوابة الرسائل",
- "ibUnblockUser":"إلغاء حظر مستخدم IB",
- "ibSupport":"دعم IB",
- "Permissions":"أذونات",
- "permissions":"مدير الأذونات",
- "TodayTotalRequests":"إجمالي الطلبات اليوم",
- "TodayTotalSms":"مجموع الرسائل القصيرة اليوم",
- "DescriptionUserPermission":"وصف",
- "PermissionsUserPermission":"أذونات",
- "SaveUserPermission":"يحفظ",
- "UpdateUserPermission":"تحديث",
- "DeleteUserPermission":"حذف",
- "ViewUserPermission":"رأي",
- "SelectUser":"اختر المستخدم",
- "SelectAUser":"حدد مستخدمًا",
- "loggingTitle":"تسجيل",
- "IBChildTitle":"إلغاء حظر عن مستخدم",
- "IBTitle":"تسجيل",
- "loggingChildTitle":"مدير المسجل",
- "fromDate":"من التاريخ",
- "custId": "قيمة هوية العميل",
- "toDate":"حتي اليوم",
- "findLogs":"البحث عن السجلات",
- "unBlockCustomer":"إلغاء حظر العميل",
- "unblockUserDetails": "إلغاء حظر تفاصيل المستخدم",
- "loggerManagerDetails": "تفاصيل مدير السجلات",
- "fetchCustomer": "ابحث عن العملاء",
- "loggingID":"معرف",
- "firstName":"الاسم الأول",
- "lastName": "اسم العائلة",
- "cmpCuststatus":"حالة العميل",
- "cmpCustlastlogin": "آخر تسجيل دخول للعميل",
- "accountNonLocked":"الحساب مغلق",
- "lockTime":"وقت القفل",
- "accountno":"رقم الحساب",
- "phoneno":"رقم الهاتف",
- "loggingRequestUri":"طلب Uri",
- "loggingResponseCode":"رمز الاستجابة",
- "loggingRemoteIP":"بعيد IP",
- "enterIdentityValue": "أدخل قيمة الهوية",
- "loggingTimeTaken":"الوقت المستغرق",
- "loggingDate":"تاريخ",
- "loggingDateTime": "التاريخ والوقت",
- "loggingMethod":"طريقة",
- "DataAnalysis":"تحليل البيانات",
- "Analysis":"التحليلات",
- "smsBankingTitle":"خدمة الرسائل المصرفية",
- "smsBankingChildTitle":"مسجل الرسائل",
- "smsTrackingID":"معرف تتبع",
- "smsMessage":"رسالة",
- "smsNo":"رقم الهاتف",
- "smsOrgaCode":"كود المنظمة",
- "smsDate":"تاريخ",
- "smsStatus":"حالة",
- "viewThirdPartyAccounts":"عرض الحسابات",
- "ThirdPartyID":"معرف الحفلة الثالثة",
- "name":"اسم",
- "EnterThirdPartyName":"أدخل اسم الطرف الثالث",
- "Email":"البريد الإلكتروني",
- "invalidEmail": "أدخل بريدًا إلكترونيًا صالحًا يحتوي على @",
- "Address":"تبوك",
- "phoneNumber":"رقم الهاتف",
- "PhoneNumberPlaceHolder":"أدخل رقم الهاتف",
- "regPhoneNo": "يجب أن يتكون رقم الهاتف من 10 أرقام",
- "NewNoOfAccounts":"عدد جديد من الحسابات",
- "EnterNewNumberOfAccounts":"أدخل عددًا جديدًا من الحسابات",
- "TotalNoOfAccounts":"العدد الإجمالي للحسابات",
- "gridSearch":"يبحث:",
- "gridShow":"يعرض",
- "gridEntries":"إدخالات",
- "gridFilter":"منقي",
- "gridNum10":"عشرة",
- "gridNum25":"خمسة وعشرون",
- "gridNum50":"خمسون",
- "gridNum100":"مائة",
- "userID":"معرف المستخدم",
- "userId":"معرف المستخدم",
- "userContactNumber":"أدخل رقم اتصال المستخدم",
- "SelectHomeBranch":"حدد الفرع الرئيسي",
- "SelectRole":"حدد الدور",
- "HomeBranch":"فرع المنزل",
- "Role":"دور",
- "ResetPassword":"إعادة تعيين كلمة المرور",
- "enterNewPassword":"أدخل كلمة مرور جديدة",
- "oldPassword":"كلمة المرور القديمة",
- "newPasswordStatic":"كلمة السر الجديدة",
- "savePassword":"يحفظ",
- "passwordPattern":"يجب أن تكون كلمة المرور أكثر من 8 أحرف وتتضمن حرفًا كبيرًا وحرفًا صغيرًا ورقمًا وحرفًا خاصًا",
- "SMSGatewaySelect":"اختر صنف",
- "selectIdentValueType": "حدد نوع قيمة الهوية",
- "selectIdentityValue" : "رقم الهوية مطلوب",
- "IdTypeSelect":"حدد تحديد النوع",
- "SMSGatewaySyriatel":"سيريتل",
- "SMSGatewayTwillio":"تويليو",
- "SMSGatewayJazz":"جاز",
- "syriatelCredentials":"أوراق اعتماد سيريتل",
- "twilioCredentials":"أوراق اعتماد تويليو",
- "jazzCredentials":"أوراق اعتماد جاز",
- "accountSID":"الحساب SID",
- "authToken":"رمز المصادقة",
- "fromNumber":"من الرقم",
- "senderName":"اسم المرسل",
- "senderNamePlaceHolder":"أدخل اسم المرسل",
- "message": "رسالة",
- "template": "قالب",
- "language":"اللغة",
- "notificationType": "نوع الإشعار",
- "sinceLastDay":"منذ اليوم الماضي",
- "TodayTotalErrorRequest":"طلب إجمالي الخطأ اليوم",
- "TodayTotalPendingSms":"مجموع الرسائل القصيرة المعلقة اليوم",
- "selectTheDates":"الرجاء تحديد التواريخ",
- "selectIdentValue":"الرجاء تحديد نوع الهوية",
- "noLogsFound":"لم يتم العثور على سجلات بين هذه التواريخ",
- "loginSuccess":"تم تسجيل الدخول بنجاح",
- "passwordNotMatched":"كلمة السر غير متطابقة",
- "passwordPatternNotMatched":"نمط كلمة المرور غير مطابق",
- "successDeleted":"تم الحذف بنجاح",
- "passwordNotSame":"لا يمكن أن تكون كلمة المرور هي نفسها كلمة المرور القديمة",
- "SuccessSave":"تم الحفظ بنجاح",
- "SuccessFind":"تجده بنجاح",
- "customerAlreadyUnblocked": "العميل تم فتح حسابه مسبقًا",
- "SuccessUpdate":"تم التحديث بنجاح",
- "UpdateFailed":"غير قادر على التحديث",
- "formInvalid":"النموذج غير صالح",
- "ServerError":"خطأ في الخادم",
- "fieldsMissing":"الحقول المطلوبة مفقودة أو غير صالحة",
- "selectAll":" اختر الكل " ,
- "logoutSuccess":"تم تسجيل الخروج بنجاح",
- "smsGateWayChanged":"تم تغيير بوابة الرسائل القصيرة بنجاح",
- "cnic_scnic": "CNIC / SCNIC",
- "poc": "POC",
- "nicop": "S / NICOP",
- "passport": "جواز السفر",
- "Next": "التالي",
- "ERR_APP_B_0001": "خطأ خادم داخلي",
- "ERR_APP_B_0002": "خطأ اتصال محتمل مع الوحدة النمطية {{value1}}",
- "ERR_APP_B_0003": "طلب غير صالح على وحدة {{value1}}",
- "ERR_APP_B_0004": "انتهت الجلسة",
- "ERR_APP_B_0005": "غير مصرح به: {{قيمة 1}}.",
- "ERR_MDL_B_0001": "رمز الغرض موجود بالفعل",
+ "logintoAccount": "تسجيل الدخول إلى حسابك",
+ "userName": "اسم المستخدم",
+ "userNamePlaceHolder": "ادخل اسم المستخدم",
+ "password": "كلمة المرور",
+ "passwordPlaceHolder": "أدخل كلمة المرور",
+ "defaultPassword": "كلمة المرور الافتراضية",
+ "rememberMe": "تذكرنى",
+ "forgotPassword": "هل نسيت كلمة السر؟",
+ "passwordTooShort": "كلمة المرور قصيرة جدًا.",
+ "passwordsDoNotMatch": "كلمتا المرور غير متطابقتين.",
+ "login": "تسجيل الدخول",
+ "dashboardTitle": "لوحة القيادة",
+ "passwordChangeRequired": "تغيير كلمة المرور مطلوب",
+ "monthlyReqTitle": "الطلبات الشهرية",
+ "monthlySmsTitle": "الرسائل القصيرة الشهرية",
+ "Dashboard": "لوحة القيادة",
+ "UserManagement": "إدارةالمستخدم",
+ "thirdPartyRegistration": "تسجيل الطرف الثالث",
+ "setupUser": "مستخدم الإعداد",
+ "resetPassword": "إعادة تعيين كلمة مرور المستخدم",
+ "changePassword": "غير كلمة السر",
+ "Logging": "تسجيل",
+ "loggerManager": "مدير المسجل",
+ "SMSBanking": "خدمة الرسائل المصرفية",
+ "smsLogger": "مسجل الرسائل",
+ "smsLoggerDetails": "تفاصيل سجل الرسائل القصيرة",
+ "smsGateway": "بوابة الرسائل",
+ "ibUnblockUser": "إلغاء حظر مستخدم IB",
+ "ibSupport": "دعم IB",
+ "Permissions": "أذونات",
+ "permissions": "مدير الأذونات",
+ "TodayTotalRequests": "إجمالي الطلبات اليوم",
+ "TodayTotalSms": "مجموع الرسائل القصيرة اليوم",
+ "DescriptionUserPermission": "وصف",
+ "PermissionsUserPermission": "أذونات",
+ "SaveUserPermission": "يحفظ",
+ "UpdateUserPermission": "تحديث",
+ "DeleteUserPermission": "حذف",
+ "ViewUserPermission": "رأي",
+ "SelectUser": "اختر المستخدم",
+ "SelectAUser": "حدد مستخدمًا",
+ "loggingTitle": "تسجيل",
+ "IBChildTitle": "إلغاء حظر عن مستخدم",
+ "IBTitle": "تسجيل",
+ "loggingChildTitle": "مدير المسجل",
+ "fromDate": "من التاريخ",
+ "custId": "قيمة هوية العميل",
+ "toDate": "حتي اليوم",
+ "findLogs": "البحث عن السجلات",
+ "unBlockCustomer": "إلغاء حظر العميل",
+ "unblockUserDetails": "إلغاء حظر تفاصيل المستخدم",
+ "loggerManagerDetails": "تفاصيل مدير السجلات",
+ "fetchCustomer": "ابحث عن العملاء",
+ "loggingID": "معرف",
+ "firstName": "الاسم الأول",
+ "lastName": "اسم العائلة",
+ "cmpCuststatus": "حالة العميل",
+ "cmpCustlastlogin": "آخر تسجيل دخول للعميل",
+ "accountNonLocked": "الحساب مغلق",
+ "lockTime": "وقت القفل",
+ "accountno": "رقم الحساب",
+ "phoneno": "رقم الهاتف",
+ "loggingRequestUri": "طلب Uri",
+ "loggingResponseCode": "رمز الاستجابة",
+ "loggingRemoteIP": "بعيد IP",
+ "enterIdentityValue": "أدخل قيمة الهوية",
+ "loggingTimeTaken": "الوقت المستغرق",
+ "loggingDate": "تاريخ",
+ "loggingDateTime": "التاريخ والوقت",
+ "loggingMethod": "طريقة",
+ "DataAnalysis": "تحليل البيانات",
+ "Analysis": "التحليلات",
+ "smsBankingTitle": "خدمة الرسائل المصرفية",
+ "smsBankingChildTitle": "مسجل الرسائل",
+ "smsTrackingID": "معرف تتبع",
+ "smsMessage": "رسالة",
+ "smsNo": "رقم الهاتف",
+ "smsOrgaCode": "كود المنظمة",
+ "smsDate": "تاريخ",
+ "smsStatus": "حالة",
+ "viewThirdPartyAccounts": "عرض الحسابات",
+ "ThirdPartyID": "معرف الحفلة الثالثة",
+ "name": "اسم",
+ "EnterThirdPartyName": "أدخل اسم الطرف الثالث",
+ "email": "البريد الإلكتروني",
+ "invalidEmail": "أدخل بريدًا إلكترونيًا صالحًا يحتوي على @",
+ "Address": "تبوك",
+ "phoneNumber": "رقم الهاتف",
+ "PhoneNumberPlaceHolder": "أدخل رقم الهاتف",
+ "regPhoneNo": "يجب أن يتكون رقم الهاتف من 10 أرقام",
+ "NewNoOfAccounts": "عدد جديد من الحسابات",
+ "EnterNewNumberOfAccounts": "أدخل عددًا جديدًا من الحسابات",
+ "TotalNoOfAccounts": "العدد الإجمالي للحسابات",
+ "gridSearch": "يبحث:",
+ "gridShow": "يعرض",
+ "gridEntries": "إدخالات",
+ "gridFilter": "منقي",
+ "gridNum10": "عشرة",
+ "gridNum25": "خمسة وعشرون",
+ "gridNum50": "خمسون",
+ "gridNum100": "مائة",
+ "userID": "معرف المستخدم",
+ "userId": "معرف المستخدم",
+ "userContactNumber": "أدخل رقم اتصال المستخدم",
+ "SelectHomeBranch": "حدد الفرع الرئيسي",
+ "SelectRole": "حدد الدور",
+ "HomeBranch": "فرع المنزل",
+ "Role": "دور",
+ "ResetPassword": "إعادة تعيين كلمة المرور",
+ "enterNewPassword": "أدخل كلمة مرور جديدة",
+ "oldPassword": "كلمة المرور القديمة",
+ "newPasswordStatic": "كلمة السر الجديدة",
+ "savePassword": "يحفظ",
+ "passwordPattern": "يجب أن تكون كلمة المرور أكثر من 8 أحرف وتتضمن حرفًا كبيرًا وحرفًا صغيرًا ورقمًا وحرفًا خاصًا",
+ "SMSGatewaySelect": "اختر صنف",
+ "selectIdentValueType": "حدد نوع قيمة الهوية",
+ "selectIdentityValue": "رقم الهوية مطلوب",
+ "IdTypeSelect": "حدد تحديد النوع",
+ "SMSGatewaySyriatel": "سيريتل",
+ "SMSGatewayTwillio": "تويليو",
+ "SMSGatewayJazz": "جاز",
+ "syriatelCredentials": "أوراق اعتماد سيريتل",
+ "twilioCredentials": "أوراق اعتماد تويليو",
+ "jazzCredentials": "أوراق اعتماد جاز",
+ "accountSID": "الحساب SID",
+ "authToken": "رمز المصادقة",
+ "fromNumber": "من الرقم",
+ "senderName": "اسم المرسل",
+ "senderNamePlaceHolder": "أدخل اسم المرسل",
+ "message": "رسالة",
+ "template": "قالب",
+ "language": "اللغة",
+ "notificationType": "نوع الإشعار",
+ "sinceLastDay": "منذ اليوم الماضي",
+ "TodayTotalErrorRequest": "طلب إجمالي الخطأ اليوم",
+ "TodayTotalPendingSms": "مجموع الرسائل القصيرة المعلقة اليوم",
+ "selectTheDates": "الرجاء تحديد التواريخ",
+ "selectIdentValue": "الرجاء تحديد نوع الهوية",
+ "noLogsFound": "لم يتم العثور على سجلات بين هذه التواريخ",
+ "loginSuccess": "تم تسجيل الدخول بنجاح",
+ "passwordNotMatched": "كلمة السر غير متطابقة",
+ "passwordPatternNotMatched": "نمط كلمة المرور غير مطابق",
+ "successDeleted": "تم الحذف بنجاح",
+ "passwordNotSame": "لا يمكن أن تكون كلمة المرور هي نفسها كلمة المرور القديمة",
+ "SuccessSave": "تم الحفظ بنجاح",
+ "SuccessFind": "تجده بنجاح",
+ "customerAlreadyUnblocked": "العميل تم فتح حسابه مسبقًا",
+ "SuccessUpdate": "تم التحديث بنجاح",
+ "UpdateFailed": "غير قادر على التحديث",
+ "formInvalid": "النموذج غير صالح",
+ "ServerError": "خطأ في الخادم",
+ "fieldsMissing": "الحقول المطلوبة مفقودة أو غير صالحة",
+ "selectAll": " اختر الكل ",
+ "logoutSuccess": "تم تسجيل الخروج بنجاح",
+ "smsGateWayChanged": "تم تغيير بوابة الرسائل القصيرة بنجاح",
+ "cnic_scnic": "CNIC / SCNIC",
+ "poc": "POC",
+ "nicop": "S / NICOP",
+ "passport": "جواز السفر",
+ "Next": "التالي",
+ "ERR_APP_B_0001": "خطأ خادم داخلي",
+ "ERR_APP_B_0002": "خطأ اتصال محتمل مع الوحدة النمطية {{value1}}",
+ "ERR_APP_B_0003": "طلب غير صالح على وحدة {{value1}}",
+ "ERR_APP_B_0004": "انتهت الجلسة",
+ "ERR_APP_B_0005": "غير مصرح به: {{قيمة 1}}.",
+ "ERR_MDL_B_0001": "رمز الغرض موجود بالفعل",
- "feedbackSetup": "ردود الفعل الإعداد",
- "credentials": "أوراق اعتماد",
- "credentialsTitle": "أوراق اعتماد ردود الفعل",
- "confirmPassword": "تأكيد كلمة المرور",
- "passwordPlaceholder": "أدخل كلمة المرور",
- "confirmPasswordPlaceholder": "أدخل تأكيد كلمة المرور",
- "newPasswordPlaceholder": "أدخل كلمة مرور جديدة",
- "fieldRequired": "الخانة مطلوبة",
- "emailLabel": "البريد الإلكتروني",
- "emailRequiredError": "البريد الإلكتروني مطلوب.",
- "invalidEmailFormatError": "تنسيق البريد الإلكتروني غير صالح.",
- "passNotMatch": "كلمة السر غير متطابقة",
+ "feedbackSetup": "ردود الفعل الإعداد",
+ "credentials": "أوراق اعتماد",
+ "credentialsTitle": "أوراق اعتماد ردود الفعل",
+ "confirmPassword": "تأكيد كلمة المرور",
+ "passwordPlaceholder": "أدخل كلمة المرور",
+ "confirmPasswordPlaceholder": "أدخل تأكيد كلمة المرور",
+ "newPasswordPlaceholder": "أدخل كلمة مرور جديدة",
+ "fieldRequired": "الخانة مطلوبة",
+ "emailLabel": "البريد الإلكتروني",
+ "emailRequiredError": "البريد الإلكتروني مطلوب.",
+ "invalidEmailFormatError": "تنسيق البريد الإلكتروني غير صالح.",
+ "passNotMatch": "كلمة السر غير متطابقة",
-
- "POR_ORGACODE": "المصرف",
- "purposeSetup": "أضف غرض المعاملة",
- "purpcodeLabel": "كود الغرض",
- "purpdescLabel": "وصف الغرض",
- "purpcodePlaceholder": "أدخل رمز الغرض",
- "purpdescPlaceholder": "أدخل وصف الغرض",
- "transactionDetails": "تفاصيل المعاملة",
- "lengthExceed":" الطول تجاوز ",
- "transactionLogs": "سجلات المعاملات",
- "loadingTransactionLogs": "جاري تحميل سجلات المعاملات...",
- "noTransactionLogsFound": "لم يتم العثور على سجلات معاملات.",
- "noThirdPartyRegFound":"لم يتم العثور على تفاصيل تسجيل الطرف الثالث",
- "logID": "معرف السجل",
- "organization": "المنظمة",
- "transactionID": "معرف المعاملة",
- "drAccount": "حساب المدين",
- "crAccount": "حساب الدائن",
- "paymentMode": "وسيلة الدفع",
- "channel": "القناة",
- "createdAt": "تم الإنشاء في",
- "refresh": "تحديث",
- "loading": "جاري التحميل",
- "invalidField": "ادخال غير صحيح",
- "action": "اجراء",
- "confirmDelete":"هل أنت متأكد أنك تريد حذف؟",
- "confirmSave":"هل أنت متأكد أنك تريد الحفظ؟",
- "2-stepAppPassword": "أدخل التحقق بخطوتين الذي تم إنشاؤه - كلمة مرور التطبيق",
- "english": "إنجليزي",
- "arabic": "عربي",
- "userNameRequired" : "اسم المستخدم مطلوب",
- "userNamePattterenError": "يُسمح فقط بالأحرف الصغيرة والأرقام",
- "PasswordRequired": "كلمة المرور مطلوبة",
- "copyRightsReserved": "جميع الحقوق محفوظة © {{currentYearLong}} لشركة MFSYS Technologies.",
- "versionAndBuildNumber": "الإصدار {{versionNumber}} البناء {{buildNumber}}",
- "versionBuildDate": "+ تاريخ البناء {{date}}",
- "dashboard":"لوحة القيادة",
- "date" : "تاريخ",
- "logout": "تسجيل الخروج",
- "save": "يحفظ",
- "update": "تحديث",
- "cancel": "يلغي",
- "thirdPartyRegistrationDetails": "تفاصيل تسجيل الطرف الثالث",
- "SetupUserDetails": "إعداد تفاصيل المستخدم",
- "search": "يبحث",
- "thirdPartyNamePlaceholder": "أدخل اسم الطرف الثالث",
- "phoneNumberPlaceholder": "أدخل رقم الهاتف",
- "newNoOfAccountsPlaceholder": "أدخل عدد الحسابات الجديد",
- "page": "صفحة",
- "of": "ل",
- "totalItems": "السجلات",
- "record": "سِجِلّ",
- "previous": "سابق",
- "next": "التالي",
- "LOGIN_SUCCESSFULLY":"تم تسجيل الدخول بنجاح",
- "RESET_PASSWORD_SUCCESS": "تمت إعادة تعيين كلمة المرور بنجاح",
- "CHANGE_PASSWORD_SUCCESS": "تم تغيير كلمة المرور بنجاح",
- "ALREADY_LOGGED_IN": "المستخدم مسجل دخوله بالفعل",
- "ACCESS_DENIED" : "تم الرفض",
- "INTERNAL_SERVER_ERROR": "خطأ في الخادم الداخلي",
- "CONNECTION_ERROR": "خطأ في الاتصال",
- "BAD_REQUEST": "اقتراح غير جيد",
- "FORBIDDEN_REQUEST": "طلب ممنوع",
- "UNAUTHORIZED_REQUEST": "طلب غير مصرح به",
- "edit": "يحرر",
- "delete": "يمسح",
- "deleteUser": "حذف حساب المستخدم",
- "permissionManagement": "إدارة الأذونات",
- "userCode": "مستخدم",
- "choose" : "يختار",
- "allow": "يسمح",
- "toDateInvalidError": "يجب أن يكون تاريخ اليوم أكبر من أو يساوي تاريخ البداية",
- "noLoggingDetailsFound": "لم يتم العثور على تفاصيل التسجيل",
- "noUserDetailsFound": "لم يتم العثور على تفاصيل المستخدم",
- "ERR_SEC_0001": "البريد الإلكتروني موجود بالفعل",
- "ERR_SEC_0002": "اسم المستخدم موجود بالفعل",
- "ERR_SEC_0003": "كلمة المرور القديمة غير صحيحة",
- "ERR_SEC_0004": "اسم المستخدم أو كلمة المرور غير صحيحة",
- "ERR_SEC_0005": "المستخدم غير موجود",
- "ERR_SEC_0006": "كلمة المرور التي تم إدخالها غير صحيحة",
- "toDateGreaterThanToday": "يجب أن يكون التاريخ الحالي أقل من التاريخ الحالي",
- "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي",
- "userIdMinLength": "يجب أن يكون معرف المستخدم مكوّنًا من 5 أحرف على الأقل",
- "nameMinLength": "يجب أن يكون الاسم مكوّنًا من 5 أحرف على الأقل",
- "emptySpaceRestriction": "المسافات الفارغة غير مسموح بها",
- "USER_CREATED_SUCCESS": "تم إنشاء المستخدم",
- "USER_DELETE_SUCCESS": "تم حذف المستخدم",
- "SAVED_SUCCESSFULLY": "تم الحفظ بنجاح",
- "activityLogs": "سجلات النشاط",
- "activityLogDetails": "تفاصيل سجل النشاط",
- "resetPasswordButton": "إعادة تعيين كلمة المرور"
-}
\ No newline at end of file
+ "POR_ORGACODE": "المصرف",
+ "purposeSetup": "أضف غرض المعاملة",
+ "purpcodeLabel": "كود الغرض",
+ "purpdescLabel": "وصف الغرض",
+ "purpcodePlaceholder": "أدخل رمز الغرض",
+ "purpdescPlaceholder": "أدخل وصف الغرض",
+ "transactionDetails": "تفاصيل المعاملة",
+ "lengthExceed": " الطول تجاوز ",
+ "transactionLogs": "سجلات المعاملات",
+ "loadingTransactionLogs": "جاري تحميل سجلات المعاملات...",
+ "noTransactionLogsFound": "لم يتم العثور على سجلات معاملات.",
+ "noThirdPartyRegFound": "لم يتم العثور على تفاصيل تسجيل الطرف الثالث",
+ "logID": "معرف السجل",
+ "organization": "المنظمة",
+ "transactionID": "معرف المعاملة",
+ "drAccount": "حساب المدين",
+ "crAccount": "حساب الدائن",
+ "paymentMode": "وسيلة الدفع",
+ "channel": "القناة",
+ "createdAt": "تم الإنشاء في",
+ "refresh": "تحديث",
+ "loading": "جاري التحميل",
+ "invalidField": "ادخال غير صحيح",
+ "action": "اجراء",
+ "confirmDelete": "هل أنت متأكد أنك تريد حذف؟",
+ "confirmSave": "هل أنت متأكد أنك تريد الحفظ؟",
+ "2-stepAppPassword": "أدخل التحقق بخطوتين الذي تم إنشاؤه - كلمة مرور التطبيق",
+ "english": "إنجليزي",
+ "arabic": "عربي",
+ "userNameRequired": "اسم المستخدم مطلوب",
+ "userNamePattterenError": "يُسمح فقط بالأحرف الصغيرة والأرقام",
+ "PasswordRequired": "كلمة المرور مطلوبة",
+ "copyRightsReserved": "جميع الحقوق محفوظة © {{currentYearLong}} لشركة MFSYS Technologies.",
+ "versionAndBuildNumber": "الإصدار {{versionNumber}} البناء {{buildNumber}}",
+ "versionBuildDate": "+ تاريخ البناء {{date}}",
+ "dashboard": "لوحة القيادة",
+ "date": "تاريخ",
+ "logout": "تسجيل الخروج",
+ "save": "يحفظ",
+ "update": "تحديث",
+ "cancel": "يلغي",
+ "thirdPartyRegistrationDetails": "تفاصيل تسجيل الطرف الثالث",
+ "SetupUserDetails": "إعداد تفاصيل المستخدم",
+ "search": "يبحث",
+ "thirdPartyNamePlaceholder": "أدخل اسم الطرف الثالث",
+ "phoneNumberPlaceholder": "أدخل رقم الهاتف",
+ "newNoOfAccountsPlaceholder": "أدخل عدد الحسابات الجديد",
+ "page": "صفحة",
+ "of": "ل",
+ "totalItems": "السجلات",
+ "record": "سِجِلّ",
+ "previous": "سابق",
+ "next": "التالي",
+ "LOGIN_SUCCESSFULLY": "تم تسجيل الدخول بنجاح",
+ "RESET_PASSWORD_SUCCESS": "تمت إعادة تعيين كلمة المرور بنجاح",
+ "CHANGE_PASSWORD_SUCCESS": "تم تغيير كلمة المرور بنجاح",
+ "ALREADY_LOGGED_IN": "المستخدم مسجل دخوله بالفعل",
+ "ACCESS_DENIED": "تم الرفض",
+ "INTERNAL_SERVER_ERROR": "خطأ في الخادم الداخلي",
+ "CONNECTION_ERROR": "خطأ في الاتصال",
+ "BAD_REQUEST": "اقتراح غير جيد",
+ "FORBIDDEN_REQUEST": "طلب ممنوع",
+ "UNAUTHORIZED_REQUEST": "طلب غير مصرح به",
+ "edit": "يحرر",
+ "delete": "يمسح",
+ "deleteUser": "حذف حساب المستخدم",
+ "permissionManagement": "إدارة الأذونات",
+ "userCode": "مستخدم",
+ "choose": "يختار",
+ "allow": "يسمح",
+ "toDateInvalidError": "يجب أن يكون تاريخ اليوم أكبر من أو يساوي تاريخ البداية",
+ "noLoggingDetailsFound": "لم يتم العثور على تفاصيل التسجيل",
+ "noUserDetailsFound": "لم يتم العثور على تفاصيل المستخدم",
+ "ERR_SEC_0001": "البريد الإلكتروني موجود بالفعل",
+ "ERR_SEC_0002": "اسم المستخدم موجود بالفعل",
+ "ERR_SEC_0003": "كلمة المرور القديمة غير صحيحة",
+ "ERR_SEC_0004": "اسم المستخدم أو كلمة المرور غير صحيحة",
+ "ERR_SEC_0005": "المستخدم غير موجود",
+ "ERR_SEC_0006": "كلمة المرور التي تم إدخالها غير صحيحة",
+ "toDateGreaterThanToday": "يجب أن يكون التاريخ الحالي أقل من التاريخ الحالي",
+ "fromDateGreaterThanToday": "يجب أن يكون تاريخ البدء أقل من التاريخ الحالي",
+ "userIdMinLength": "يجب أن يكون معرف المستخدم مكوّنًا من 5 أحرف على الأقل",
+ "nameMinLength": "يجب أن يكون الاسم مكوّنًا من 5 أحرف على الأقل",
+ "emptySpaceRestriction": "المسافات الفارغة غير مسموح بها",
+ "USER_CREATED_SUCCESS": "تم إنشاء المستخدم",
+ "USER_DELETE_SUCCESS": "تم حذف المستخدم",
+ "SAVED_SUCCESSFULLY": "تم الحفظ بنجاح",
+ "activityLogs": "سجلات النشاط",
+ "activityLogDetails": "تفاصيل سجل النشاط",
+ "resetPasswordButton": "إعادة تعيين كلمة المرور",
+ "dateTime": "التاريخ والوقت",
+ "responseCode": "رمز الاستجابة",
+ "remoteIp": "IP البعيد",
+ "requestBody": "هيئة الطلب",
+ "requestUri": "طلب URI",
+ "method": "طريقة",
+ "id": "بطاقة تعريف",
+ "logId": "معرف السجل",
+ "porOrgacode": "رمز المنظمة",
+ "drMbmbkmsnumber": "رقم الحساب المدين",
+ "crMbmbkmsnumber": "رقم حساب الائتمان",
+ "ppmPymdcode": "رمز الدفع",
+ "sgtGntrdate": "تاريخ المعاملة",
+ "sgtGntrcreateat": "تاريخ الإنشاء",
+ "updatedAt": "تم التحديث في",
+ "crPcaglacode": "حساب CR GL",
+ "drPcaGlacode": "حساب DR GL",
+ "transactionUri": "معرّف المعاملة",
+ "transactionCode": "رمز المعاملة",
+ "channelCode": "رمز القناة",
+ "userFullname": "الاسم الكامل",
+ "show": "عرض",
+ "tableCollapsed": "الجدول مطوي",
+ "showTable": "عرض الجدول",
+ "collapse": "يطوي",
+ "expand": "توسيع",
+ "entries": "إدخالات"
+}
diff --git a/src/assets/i18n/English.json b/src/assets/i18n/English.json
index f615253..7965341 100644
--- a/src/assets/i18n/English.json
+++ b/src/assets/i18n/English.json
@@ -83,7 +83,6 @@
"ThirdPartyID":"Third Party ID",
"name":"Name",
"EnterThirdPartyName":"Enter Third Party Name",
- "Email":"Email",
"email":"Email",
"Address":"Address",
"phoneNumber":"Phone Number",
@@ -166,7 +165,6 @@
"ERR_APP_B_0004":"Session timed out",
"ERR_APP_B_0005":"Unauthorized: {{value1}}.",
"ERR_MDL_B_0001": "Purpose Code already exists",
-
"feedbackSetup": "Feedback Setup",
"credentials": "Credentials",
"credentialsTitle": "Feedback Credentials Setup",
@@ -256,7 +254,8 @@
"noUserDetailsFound":"No User Details found",
"noThirdPartyRegFound":"No Third Party Registration Details Found",
"ERR_SEC_0001": "Email already exists",
- "ERR_SEC_0002": "Username already exists",
+ "ERR_SEC_0007": "New password cannot be same as old password",
+ "ERR_SEC_0002": "User ID already exists",
"ERR_SEC_0003": "Old Password is not correct",
"ERR_SEC_0004":"Invalid credentials",
"ERR_SEC_0005": "User not found",
@@ -265,8 +264,9 @@
"fromDateGreaterThanToday": "From Date must be less than Current Date",
"userIdMinLength" : "User ID must be at least 5 characters",
"nameMinLength" : "Name must be at least 5 characters",
- "emptySpaceRestriction" : "Empty spaces are not allowed",
+ "emptySpaceRestriction" : "Empty spaces & capital letters are not allowed",
"USER_CREATED_SUCCESS": "User Created",
+ "USER_UPDATE_SUCCESS": "User Updated",
"USER_DELETE_SUCCESS": "User Deleted",
"SAVED_SUCCESSFULLY" :"Saved Successfully",
"oldAndNewPass":"Old password and new password cannot be the same",
@@ -274,5 +274,28 @@
"activityLogDetails": "Activity Log Details",
"transactionCode": "Transaction Code",
"transactionUri": "Transaction URI",
- "resetPasswordButton": "Reset Password"
+ "resetPasswordButton": "Reset Password",
+ "dateTime": "Date Time",
+ "responseCode": "Response Code",
+ "remoteIp": "Remote IP",
+ "requestBody": "Request Body",
+ "requestUri": "Request URI",
+ "method": "Method",
+ "id": "Id",
+ "logId": "Log ID",
+ "porOrgacode": "Organization Code",
+ "drMbmbkmsnumber": "Debit Account Number",
+ "crMbmbkmsnumber": "Credit Account Number",
+ "ppmPymdcode": "Payment Code",
+ "sgtGntrdate": "Transaction Date",
+ "sgtGntrcreateat": "Creation Date",
+ "updatedAt": "Updated At",
+ "channelCode": "Channel Code",
+ "userFullname" : "Full Name",
+ "show": "Show",
+ "entries": "entries",
+ "tableCollapsed": "Table collapsed",
+ "showTable": "Show Table",
+ "collapse": "Collapse",
+ "expand": "Expand"
}
\ No newline at end of file