diff --git a/src/main/resources/i18n/messages.properties b/src/main/resources/i18n/messages.properties index 6239473..6dfbafb 100644 --- a/src/main/resources/i18n/messages.properties +++ b/src/main/resources/i18n/messages.properties @@ -37,7 +37,7 @@ email.reactivation.text2=Regards, #suspended accounr email.suspended.title=Your account has been suspended email.suspended.greeting=Dear {0} -email.suspended.text1=Su cuenta en DatSurvey se encuentra temporalmente suspendida. Si cree que es un error por favor haga clic en el siguiente enlace para enviar una solicitud para reactivar su cuenta: +email.suspended.text1=Su cuenta en DataSurvey se encuentra temporalmente suspendida. Si cree que es un error por favor haga clic en el siguiente enlace para enviar una solicitud para reactivar su cuenta: email.suspended.text2=Saludos, #PublicEncuesta diff --git a/src/main/resources/i18n/messages_es.properties b/src/main/resources/i18n/messages_es.properties index f38805c..dafa1db 100644 --- a/src/main/resources/i18n/messages_es.properties +++ b/src/main/resources/i18n/messages_es.properties @@ -38,7 +38,7 @@ email.reactivation.text2=Saludos, #suspended accounr email.suspended.title=Su cuenta ha sido suspendida email.suspended.greeting=Estimado {0} -email.suspended.text1=Lamentamos informarle que su cuenta en DatSurvey se encuentra temporalmente suspendida. Si cree que es un error por favor responda a este correo +email.suspended.text1=Lamentamos informarle que su cuenta en DataSurvey se encuentra temporalmente suspendida. Si cree que es un error por favor responda a este correo email.suspended.text2=Saludos, #PublicEncuesta diff --git a/src/main/webapp/app/account/settings/settings.component.ts b/src/main/webapp/app/account/settings/settings.component.ts index 55335fd..561635e 100644 --- a/src/main/webapp/app/account/settings/settings.component.ts +++ b/src/main/webapp/app/account/settings/settings.component.ts @@ -136,10 +136,6 @@ export class SettingsComponent implements OnInit { save(): void { this.isSaving = true; const usuarioExtra = this.createFromForm(); - - console.log(usuarioExtra.iconoPerfil); - console.log(usuarioExtra.fechaNacimiento); - this.subscribeToSaveResponse(this.usuarioExtraService.update(usuarioExtra)); } diff --git a/src/main/webapp/app/entities/encuesta/delete/encuesta-delete-dialog.component.ts b/src/main/webapp/app/entities/encuesta/delete/encuesta-delete-dialog.component.ts index 2c28a4d..1476438 100644 --- a/src/main/webapp/app/entities/encuesta/delete/encuesta-delete-dialog.component.ts +++ b/src/main/webapp/app/entities/encuesta/delete/encuesta-delete-dialog.component.ts @@ -23,9 +23,6 @@ export class EncuestaDeleteDialogComponent { this.encuestaService.deleteEncuesta(encuesta).subscribe(() => { this.activeModal.close('deleted'); }); - if (encuesta.usuarioExtra != undefined) { - const userEmail = encuesta.usuarioExtra!.user!.login; - this.encuestaService.deletedNotification(userEmail!); - } + this.encuestaService.deletedNotification(encuesta); } } diff --git a/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.html b/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.html index 36828b3..0baeb1f 100644 --- a/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.html +++ b/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.html @@ -1,14 +1,46 @@ -
+ diff --git a/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.ts b/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.ts index b7202cb..1bd7127 100644 --- a/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.ts +++ b/src/main/webapp/app/entities/encuesta/encuesta-publish-dialog/encuesta-publish-dialog.component.ts @@ -5,6 +5,13 @@ import { EncuestaService } from '../service/encuesta.service'; import { EstadoEncuesta } from '../../enumerations/estado-encuesta.model'; import { AccesoEncuesta } from '../../enumerations/acceso-encuesta.model'; import { passwordResetFinishRoute } from '../../../account/password-reset/finish/password-reset-finish.route'; +import { FormBuilder, Validators } from '@angular/forms'; +import { IParametroAplicacion } from 'app/entities/parametro-aplicacion/parametro-aplicacion.model'; +import { ParametroAplicacionService } from 'app/entities/parametro-aplicacion/service/parametro-aplicacion.service'; +import { HttpResponse } from '@angular/common/http'; +import { DATE_FORMAT, DATE_TIME_FORMAT } from '../../../config/input.constants'; +import * as dayjs from 'dayjs'; +import { finalize } from 'rxjs/operators'; @Component({ selector: 'jhi-encuesta-publish-dialog', @@ -13,25 +20,106 @@ import { passwordResetFinishRoute } from '../../../account/password-reset/finish }) export class EncuestaPublishDialogComponent implements OnInit { encuesta?: IEncuesta; + //fechaFinalizacion?: Date; + fechaFinalizarInvalid?: boolean = false; + fechaFinalizarInvalidMax?: boolean = false; + isLoading?: boolean; + parametroAplicacions?: IParametroAplicacion[]; + isMin = false; + isMax = false; + datoMin?: number; + datoMax?: number; + now = new Date(); + fechaForm = this.fb.group({ + fechaFinalizacion: [null, [Validators.required]], + }); - constructor(protected encuestaService: EncuestaService, protected activeModal: NgbActiveModal) {} + constructor( + protected parametroAplicacionService: ParametroAplicacionService, + protected encuestaService: EncuestaService, + protected fb: FormBuilder, + protected activeModal: NgbActiveModal + ) {} + + ngOnInit(): void { + this.loadAll(); + } cancel(): void { this.activeModal.dismiss(); } confirmPublish(encuesta: IEncuesta): void { - if (encuesta.estado === 'DRAFT') { - encuesta.estado = EstadoEncuesta.ACTIVE; - } + this.fechaFinalizarInvalid = false; + this.fechaFinalizarInvalidMax = false; - if (encuesta.acceso === AccesoEncuesta.PRIVATE) { - encuesta.contrasenna = this.generatePassword(); - } + const now = dayjs(); - this.encuestaService.publishEncuesta(encuesta).subscribe(() => { - this.activeModal.close('published'); + /*this.loadAll() + + this.parametroAplicacions?.forEach(datos => { + this.datoMin = datos.minDiasEncuesta; + this.datoMax = datos.maxDiasEncuesta; + });*/ + + encuesta.fechaFinalizar = dayjs(this.fechaForm.get(['fechaFinalizacion'])!.value); + encuesta.fechaPublicacion = dayjs(now, DATE_TIME_FORMAT); + + if (this.fechaFinalizacionIsInvalid(encuesta.fechaFinalizar, encuesta.fechaPublicacion)) { + if (encuesta.estado === 'DRAFT') { + encuesta.estado = EstadoEncuesta.ACTIVE; + } + + if (encuesta.acceso === AccesoEncuesta.PRIVATE) { + encuesta.contrasenna = this.generatePassword(); + } + + this.encuestaService.update(encuesta).subscribe(() => { + this.activeModal.close('published'); + }); + } + } + + loadAll(): void { + this.isLoading = true; + + this.parametroAplicacionService + .query() + .pipe(finalize(() => this.onLoadFinalize())) + .subscribe( + (res: HttpResponse) => { + this.isLoading = false; + this.parametroAplicacions = res.body ?? []; + }, + () => { + this.isLoading = false; + } + ); + } + + onLoadFinalize() { + this.parametroAplicacions?.forEach(datos => { + this.datoMin = datos.minDiasEncuesta; + this.datoMax = datos.maxDiasEncuesta; }); + this.isLoading = false; + } + + fechaFinalizacionIsInvalid(fechaFinalizar: dayjs.Dayjs, fechaPublicacion: dayjs.Dayjs): boolean { + let numberDays: number; + debugger; + + numberDays = fechaFinalizar?.diff(fechaPublicacion, 'days'); + + if (numberDays <= this.datoMin!) { + this.fechaFinalizarInvalid = true; + return false; + } else if (numberDays >= this.datoMax!) { + this.fechaFinalizarInvalidMax = true; + return false; + } else { + return true; + } } generatePassword(): string { @@ -43,6 +131,4 @@ export class EncuestaPublishDialogComponent implements OnInit { } return password; } - - ngOnInit(): void {} } diff --git a/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts b/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts index fa1716d..f2e2369 100644 --- a/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts +++ b/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts @@ -88,8 +88,8 @@ export class EncuestaService { return this.http.delete(`${this.resourceUrl}/${id}`, { observe: 'response' }); } - deletedNotification(email: string): Observable> { - return this.http.delete(`${this.resourceUrl}/${email}`, { observe: 'response' }); + deletedNotification(encuesta: IEncuesta): Observable> { + return this.http.delete(`${this.resourceUrl}/notify/${encuesta.id}`, { observe: 'response' }); } addEncuestaToCollectionIfMissing(encuestaCollection: IEncuesta[], ...encuestasToCheck: (IEncuesta | null | undefined)[]): IEncuesta[] { diff --git a/src/main/webapp/app/entities/usuario-extra/list/usuario-extra.component.html b/src/main/webapp/app/entities/usuario-extra/list/usuario-extra.component.html index 119e15a..a5894cb 100644 --- a/src/main/webapp/app/entities/usuario-extra/list/usuario-extra.component.html +++ b/src/main/webapp/app/entities/usuario-extra/list/usuario-extra.component.html @@ -50,6 +50,7 @@ Icono Nombre Usuario Correo electrónico + Fecha de nacimiento Estado @@ -75,6 +76,8 @@ {{ usuarioExtra.nombre }} {{ usuarioExtra.user.email }} + No establecida + {{ usuarioExtra.fechaNacimiento | formatMediumDate }} {{ usuarioExtra.estado }} + + +