Alertas modificacion usuario

This commit is contained in:
Paola 2021-07-13 20:27:28 -06:00
parent 07e9d80c57
commit 48a894c455
4 changed files with 36 additions and 17 deletions

View File

@ -180,7 +180,7 @@
</div> </div>
</div> </div>
<!-- Form --> <!-- Form de info usuario -->
<form <form
autocomplete="off" autocomplete="off"
class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5" class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5"
@ -190,6 +190,14 @@
(ngSubmit)="save()" (ngSubmit)="save()"
[formGroup]="editForm" [formGroup]="editForm"
> >
<div class="alert alert-danger" *ngIf="error" jhiTranslate="global.messages.info.authenticated.updateForm" data-cy="loginError"></div>
<div *ngIf="success" class="alert alert-success alert-dismissible fade show" role="alert">
Sus datos fueron actualizados de manera exitosa
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="row mb-2"> <div class="row mb-2">
<div class="form-group w-100"> <div class="form-group w-100">
<label class="form-control-label" for="field_email">Correo electrónico</label> <label class="form-control-label" for="field_email">Correo electrónico</label>
@ -221,7 +229,7 @@
<input <input
id="field_fechaNacimiento" id="field_fechaNacimiento"
data-cy="fechaNacimiento" data-cy="fechaNacimiento"
type="datetime-local" type="date"
class="form-control" class="form-control"
name="fechaNacimiento" name="fechaNacimiento"
formControlName="fechaNacimiento" formControlName="fechaNacimiento"
@ -278,7 +286,7 @@
</div> </div>
</div> </div>
<!-- Form --> <!-- Form de password-->
<form <form
autocomplete="off" autocomplete="off"
class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5" class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5"

View File

@ -1,5 +1,5 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { HttpResponse } from '@angular/common/http'; import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { FormBuilder, Validators } from '@angular/forms'; import { FormBuilder, Validators } from '@angular/forms';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
@ -15,6 +15,7 @@ import { IUsuarioExtra, UsuarioExtra } from 'app/entities/usuario-extra/usuario-
import { UsuarioExtraService } from 'app/entities/usuario-extra/service/usuario-extra.service'; import { UsuarioExtraService } from 'app/entities/usuario-extra/service/usuario-extra.service';
import { AccountService } from 'app/core/auth/account.service'; import { AccountService } from 'app/core/auth/account.service';
import { LocalStorageService } from 'ngx-webstorage'; import { LocalStorageService } from 'ngx-webstorage';
import { EMAIL_ALREADY_USED_TYPE, LOGIN_ALREADY_USED_TYPE } from '../../config/error.constants';
@Component({ @Component({
selector: 'jhi-settings', selector: 'jhi-settings',
@ -22,7 +23,8 @@ import { LocalStorageService } from 'ngx-webstorage';
}) })
export class SettingsComponent implements OnInit { export class SettingsComponent implements OnInit {
isSaving = false; isSaving = false;
success = false;
error = false;
usersSharedCollection: IUser[] = []; usersSharedCollection: IUser[] = [];
plantillasSharedCollection: IPlantilla[] = []; plantillasSharedCollection: IPlantilla[] = [];
@ -120,14 +122,15 @@ export class SettingsComponent implements OnInit {
window.history.back(); window.history.back();
} }
//Se manda la info a guardar
save(): void { save(): void {
this.isSaving = true; this.isSaving = true;
const usuarioExtra = this.createFromForm(); const usuarioExtra = this.createFromForm();
if (usuarioExtra.id !== undefined) {
console.log(usuarioExtra.iconoPerfil);
console.log(usuarioExtra.fechaNacimiento);
this.subscribeToSaveResponse(this.usuarioExtraService.update(usuarioExtra)); this.subscribeToSaveResponse(this.usuarioExtraService.update(usuarioExtra));
} else {
this.subscribeToSaveResponse(this.usuarioExtraService.create(usuarioExtra));
}
} }
trackUserById(index: number, item: IUser): number { trackUserById(index: number, item: IUser): number {
@ -151,10 +154,15 @@ export class SettingsComponent implements OnInit {
protected subscribeToSaveResponse(result: Observable<HttpResponse<IUsuarioExtra>>): void { protected subscribeToSaveResponse(result: Observable<HttpResponse<IUsuarioExtra>>): void {
result.pipe(finalize(() => this.onSaveFinalize())).subscribe( result.pipe(finalize(() => this.onSaveFinalize())).subscribe(
() => this.onSaveSuccess(), () => (this.success = true),
() => this.onSaveError() response => this.processError(response)
); );
} }
processError(response: HttpErrorResponse): void {
if (response.status === 400) {
this.error = true;
}
}
protected onSaveSuccess(): void { protected onSaveSuccess(): void {
this.previousState(); this.previousState();
@ -182,7 +190,7 @@ export class SettingsComponent implements OnInit {
}); });
// Update swiper // Update swiper
this.profileIcon = parseInt(usuarioExtra.iconoPerfil!); this.profileIcon = usuarioExtra.iconoPerfil!;
this.profileIcons.forEach(icon => { this.profileIcons.forEach(icon => {
if (parseInt(icon.name.split('C')[1]) === this.profileIcon) { if (parseInt(icon.name.split('C')[1]) === this.profileIcon) {
icon.class = 'active'; icon.class = 'active';
@ -219,7 +227,7 @@ export class SettingsComponent implements OnInit {
...new UsuarioExtra(), ...new UsuarioExtra(),
id: this.editForm.get(['id'])!.value, id: this.editForm.get(['id'])!.value,
nombre: this.editForm.get(['nombre'])!.value, nombre: this.editForm.get(['nombre'])!.value,
iconoPerfil: this.editForm.get(['iconoPerfil'])!.value, iconoPerfil: this.profileIcon,
fechaNacimiento: this.editForm.get(['fechaNacimiento'])!.value fechaNacimiento: this.editForm.get(['fechaNacimiento'])!.value
? dayjs(this.editForm.get(['fechaNacimiento'])!.value, DATE_TIME_FORMAT) ? dayjs(this.editForm.get(['fechaNacimiento'])!.value, DATE_TIME_FORMAT)
: undefined, : undefined,
@ -234,6 +242,8 @@ export class SettingsComponent implements OnInit {
document.querySelectorAll('.active').forEach(e => e.classList.remove('active')); document.querySelectorAll('.active').forEach(e => e.classList.remove('active'));
event.target.classList.add('active'); event.target.classList.add('active');
this.profileIcon = +event.target.getAttribute('id')! + 1; this.profileIcon = +event.target.getAttribute('id')! + 1;
console.log(this.profileIcon);
} }
} }
} }

View File

@ -8,7 +8,7 @@ import { EstadoUsuario } from 'app/entities/enumerations/estado-usuario.model';
export interface IUsuarioExtra { export interface IUsuarioExtra {
id?: number; id?: number;
nombre?: string; nombre?: string;
iconoPerfil?: string | null; iconoPerfil?: number | null;
fechaNacimiento?: dayjs.Dayjs | null; fechaNacimiento?: dayjs.Dayjs | null;
estado?: EstadoUsuario; estado?: EstadoUsuario;
user?: IUser | null; user?: IUser | null;
@ -21,7 +21,7 @@ export class UsuarioExtra implements IUsuarioExtra {
constructor( constructor(
public id?: number, public id?: number,
public nombre?: string, public nombre?: string,
public iconoPerfil?: string | null, public iconoPerfil?: number | null,
public fechaNacimiento?: dayjs.Dayjs | null, public fechaNacimiento?: dayjs.Dayjs | null,
public estado?: EstadoUsuario, public estado?: EstadoUsuario,
public user?: IUser | null, public user?: IUser | null,

View File

@ -65,7 +65,8 @@
"authenticated": { "authenticated": {
"prefix": "Si desea ", "prefix": "Si desea ",
"link": "iniciar sesión", "link": "iniciar sesión",
"suffix": ", puede intentar con las cuentas predeterminadas:<br/>- Administrador (usuario=\"admin\" y contraseña=\"admin\") <br/>- Usuario (usuario=\"user\" y contraseña=\"user\")." "suffix": ", puede intentar con las cuentas predeterminadas:<br/>- Administrador (usuario=\"admin\" y contraseña=\"admin\") <br/>- Usuario (usuario=\"user\" y contraseña=\"user\").",
"updateForm": "Ocurrió un error al actualizar su información, favor revisar los campos e intentar de nuevo"
}, },
"register": { "register": {
"noaccount": "¿Aún no tienes una cuenta?", "noaccount": "¿Aún no tienes una cuenta?",