diff --git a/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.html b/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.html
index 56288c5..a4a5b88 100644
--- a/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.html
+++ b/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.html
@@ -1,7 +1,7 @@
diff --git a/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.ts b/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.ts
index a0ed85b..89f5112 100644
--- a/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.ts
+++ b/ogWebconsole/src/app/components/layout/sidebar/sidebar.component.ts
@@ -12,17 +12,18 @@ import { ChangePasswordModalComponent } from '../../pages/admin/users/users/chan
export class SidebarComponent {
@Input() isVisible: boolean = false;
isSuperAdmin: boolean = false;
- username: string = localStorage.getItem('username') ?? '';
-
+ username: string = "";
+ decodedToken: any = "";
constructor(public dialog: MatDialog) {}
ngOnInit(): void {
const token = localStorage.getItem('loginToken');
if (token) {
try {
- const decodedToken: any = jwtDecode(token);
- console.log('Decoded JWT:', decodedToken);
- this.isSuperAdmin = decodedToken.roles.includes('ROLE_SUPER_ADMIN');
+ this.decodedToken = jwtDecode(token);
+ console.log('Decoded token:', this.decodedToken);
+ this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
+ this.username = this.decodedToken.username;
} catch (error) {
console.error('Error decoding JWT:', error);
}
@@ -32,10 +33,10 @@ export class SidebarComponent {
editUser(user: any) {
// Implementar la lógica de edición
const dialogRef = this.dialog.open(ChangePasswordModalComponent, {
- data: { user: user }
+ data: { user: this.decodedToken.username, uuid: this.decodedToken.uuid },
});
- dialogRef.componentInstance.userEdited.subscribe(() => {
+ /* dialogRef.componentInstance.userEdited.subscribe(() => {
console.log("User edited successfully!")
- });
+ }); */
}
}
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.css b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.css
index 6916e95..dbd8ba9 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.css
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.css
@@ -1,10 +1,15 @@
.user-form .form-field {
display: block;
- margin-bottom: 10px; /* Puedes ajustar el valor para cambiar la separación */
+ margin-bottom: 10px;
}
.checkbox-group label {
display: block;
- margin-bottom: 8px; /* Ajusta este valor según necesites */
+ margin-bottom: 8px;
}
-
\ No newline at end of file
+
+ .error-message {
+ color: red;
+ margin-top: 10px;
+ }
+
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.html b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.html
index 8819559..5873379 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.html
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.html
@@ -6,13 +6,21 @@
- Contraseña
+ Nueva contraseña
Repite la contraseña
+
+ @if (passwordMismatch) {
+ Las contraseñas no coinciden
+ }
+
+ @if (updateError) {
+ Error, inténtelo de nuevo
+ }
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.ts b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.ts
index 5910929..ce88d4c 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.ts
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/change-password-modal/change-password-modal.component.ts
@@ -1,6 +1,7 @@
-import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';
+import { Component, EventEmitter, Inject, Output } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import { EditUserModalComponent } from '../edit-user-modal/edit-user-modal.component';
import { UserService } from '../users.service';
@Component({
@@ -8,25 +9,28 @@ import { UserService } from '../users.service';
templateUrl: './change-password-modal.component.html',
styleUrl: './change-password-modal.component.css'
})
-
-export class ChangePasswordModalComponent implements OnInit {
+export class ChangePasswordModalComponent {
@Output() userEdited = new EventEmitter();
userForm: FormGroup;
+ passwordMismatch: boolean = false;
+ updateError: boolean = false;
constructor(
- public dialogRef: MatDialogRef,
+ public dialogRef: MatDialogRef,
@Inject(MAT_DIALOG_DATA) public data: any,
private fb: FormBuilder,
private userService: UserService
) {
this.userForm = this.fb.group({
username: [this.data.user, Validators.required],
- password: [''],
- confirmPassword: ['']
+ password: ['', Validators.required],
+ confirmPassword: ['', Validators.required]
}, { validators: this.passwordMatchValidator });
}
- ngOnInit(): void {}
+ ngOnInit(): void {
+ console.log('Data:', this.data);
+ }
onNoClick(): void {
this.dialogRef.close();
@@ -34,15 +38,18 @@ export class ChangePasswordModalComponent implements OnInit {
onSubmit(): void {
if (this.userForm.valid) {
+ this.passwordMismatch = false;
+ this.updateError = false;
+
const userPayload = {
username: this.userForm.value.username,
- allowedOrganizationalUnits: this.data.user.allowedOrganizationalUnits,
+ allowedOrganizationalUnits: [],
password: this.userForm.value.password,
enabled: true,
- userGroups: this.data.user.userGroups
+ userGroups: []
};
-
- this.userService.updateUser(this.data.user.uuid, userPayload).subscribe(
+ console.log("THIS IS THE USER PAYLOAD: ", userPayload);
+ this.userService.updateUser(this.data.uuid, userPayload).subscribe(
response => {
console.log('User updated successfully:', response);
this.userEdited.emit();
@@ -50,16 +57,17 @@ export class ChangePasswordModalComponent implements OnInit {
},
error => {
console.error('Error updating user:', error);
- // Agregar alguna lógica para manejar el error en la interfaz de usuario
+ this.updateError = true;
}
);
} else {
console.error('Form is invalid');
- // Agregar alguna lógica para manejar el error en la interfaz de usuario
+ this.passwordMismatch = this.userForm.hasError('mismatch');
+ this.updateError = true;
}
}
private passwordMatchValidator(form: FormGroup): { [key: string]: boolean } | null {
return form.get('password')?.value === form.get('confirmPassword')?.value ? null : { mismatch: true };
}
-}
\ No newline at end of file
+}