arreglo validacion fechas min y max

This commit is contained in:
Paola 2021-07-25 22:51:53 -06:00
parent 63c4a69ffe
commit e06e8a61dc
5 changed files with 87 additions and 30 deletions

View File

@ -37,7 +37,7 @@ email.reactivation.text2=Regards,
#suspended accounr #suspended accounr
email.suspended.title=Your account has been suspended email.suspended.title=Your account has been suspended
email.suspended.greeting=Dear {0} 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, email.suspended.text2=Saludos,
#PublicEncuesta #PublicEncuesta

View File

@ -38,7 +38,7 @@ email.reactivation.text2=Saludos,
#suspended accounr #suspended accounr
email.suspended.title=Su cuenta ha sido suspendida email.suspended.title=Su cuenta ha sido suspendida
email.suspended.greeting=Estimado {0} 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, email.suspended.text2=Saludos,
#PublicEncuesta #PublicEncuesta

View File

@ -136,10 +136,6 @@ export class SettingsComponent implements OnInit {
save(): void { save(): void {
this.isSaving = true; this.isSaving = true;
const usuarioExtra = this.createFromForm(); const usuarioExtra = this.createFromForm();
console.log(usuarioExtra.iconoPerfil);
console.log(usuarioExtra.fechaNacimiento);
this.subscribeToSaveResponse(this.usuarioExtraService.update(usuarioExtra)); this.subscribeToSaveResponse(this.usuarioExtraService.update(usuarioExtra));
} }

View File

@ -1,13 +1,46 @@
<form *ngIf="encuesta" name="deleteForm" (ngSubmit)="confirmPublish(encuesta!)"> <form *ngIf="encuesta" name="deleteForm" (ngSubmit)="confirmPublish(encuesta!)">
<div class="modal-header"> <div class="modal-header">
<!-- <h4 class="modal-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.publish.title">Confirm delete operation</h4>--> <!-- <h4 class="modal-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.publish.title">Confirm delete operation</h4>-->
<div class="alert alert-danger" *ngIf="fechaFinalizarInvalid" data-cy="fechaError">
Debe ingresar un rango de fechas mayor al indicado
</div>
<div class="alert alert-danger" *ngIf="fechaFinalizarInvalidMax" data-cy="fechaError">
Su rango de fechas debe ser menor al indicado
</div>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<jhi-alert-error></jhi-alert-error> <jhi-alert-error></jhi-alert-error>
<p id="jhi-delete-encuesta-heading">Elija la fecha de finalización de su encencuesta</p> <p id="jhi-delete-encuesta-heading">Elija la fecha de finalización de su encencuesta</p>
<input type="date" onchange="fechaFinalizacionIsInvalid()" /> <!--<input type="date" onchange="fechaFinalizacionIsInvalid()" />-->
<div class="d-flex" [formGroup]="fechaForm">
<input
id="field_fechaFinalizacion"
data-cy="fechaFinalizacion"
type="date"
class="form-control"
name="fechaFinalizacion"
formControlName="fechaFinalizacion"
placeholder="YYYY-MM-DD HH:mm"
/>
</div>
<div
*ngIf="
fechaForm.get('fechaFinalizacion')!.invalid &&
(fechaForm.get('fechaFinalizacion')!.dirty || fechaForm.get('fechaFinalizacion')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="fechaForm.get('fechaFinalizacion')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
@ -16,7 +49,7 @@
</button> </button>
<button <button
disabled="fechaFinalizarInvalid" [disabled]="fechaForm.invalid"
id="jhi-confirm-delete-encuesta" id="jhi-confirm-delete-encuesta"
data-cy="entityConfirmDeleteButton" data-cy="entityConfirmDeleteButton"
type="submit" type="submit"

View File

@ -9,6 +9,8 @@ import { FormBuilder, Validators } from '@angular/forms';
import { IParametroAplicacion } from 'app/entities/parametro-aplicacion/parametro-aplicacion.model'; import { IParametroAplicacion } from 'app/entities/parametro-aplicacion/parametro-aplicacion.model';
import { ParametroAplicacionService } from 'app/entities/parametro-aplicacion/service/parametro-aplicacion.service'; import { ParametroAplicacionService } from 'app/entities/parametro-aplicacion/service/parametro-aplicacion.service';
import { HttpResponse } from '@angular/common/http'; import { HttpResponse } from '@angular/common/http';
import { DATE_FORMAT, DATE_TIME_FORMAT } from '../../../config/input.constants';
import * as dayjs from 'dayjs';
@Component({ @Component({
selector: 'jhi-encuesta-publish-dialog', selector: 'jhi-encuesta-publish-dialog',
@ -17,12 +19,16 @@ import { HttpResponse } from '@angular/common/http';
}) })
export class EncuestaPublishDialogComponent implements OnInit { export class EncuestaPublishDialogComponent implements OnInit {
encuesta?: IEncuesta; encuesta?: IEncuesta;
fechaFinalizacion?: Date; //fechaFinalizacion?: Date;
fechaFinalizarInvalid?: boolean; fechaFinalizarInvalid?: boolean = false;
fechaFinalizarInvalidMax?: boolean = false;
isLoading?: boolean; isLoading?: boolean;
parametroAplicacions?: IParametroAplicacion[]; parametroAplicacions?: IParametroAplicacion[];
isMin = false; isMin = false;
isMax = false; isMax = false;
datoMin?: number;
datoMax?: number;
now = new Date();
fechaForm = this.fb.group({ fechaForm = this.fb.group({
fechaFinalizacion: [null, [Validators.required]], fechaFinalizacion: [null, [Validators.required]],
}); });
@ -34,27 +40,46 @@ export class EncuestaPublishDialogComponent implements OnInit {
protected activeModal: NgbActiveModal protected activeModal: NgbActiveModal
) {} ) {}
ngOnInit(): void {
this.loadAll();
this.parametroAplicacions?.forEach(datos => {
this.datoMin = datos.minDiasEncuesta;
this.datoMax = datos.maxDiasEncuesta;
});
}
cancel(): void { cancel(): void {
this.activeModal.dismiss(); this.activeModal.dismiss();
} }
confirmPublish(encuesta: IEncuesta): void { confirmPublish(encuesta: IEncuesta): void {
const now = dayjs();
debugger; debugger;
if (encuesta.estado === 'DRAFT') {
encuesta.estado = EstadoEncuesta.ACTIVE;
}
if (encuesta.acceso === AccesoEncuesta.PRIVATE) { //this.loadAll()
encuesta.contrasenna = this.generatePassword();
}
this.encuestaService.update(encuesta).subscribe(() => { encuesta.fechaFinalizar = dayjs(this.fechaForm.get(['fechaFinalizacion'])!.value);
this.activeModal.close('published'); 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 { loadAll(): void {
this.isLoading = true; this.isLoading = true;
this.parametroAplicacionService.query().subscribe( this.parametroAplicacionService.query().subscribe(
(res: HttpResponse<IParametroAplicacion[]>) => { (res: HttpResponse<IParametroAplicacion[]>) => {
this.isLoading = false; this.isLoading = false;
@ -66,11 +91,21 @@ export class EncuestaPublishDialogComponent implements OnInit {
); );
} }
fechaFinalizacionIsInvalid(): void { fechaFinalizacionIsInvalid(fechaFinalizar: dayjs.Dayjs, fechaPublicacion: dayjs.Dayjs): boolean {
const now = new Date(); let numberDays: number;
const timeDiff = now.valueOf() - this.fechaFinalizacion!.valueOf();
debugger; debugger;
this.fechaFinalizarInvalid = now < this.fechaFinalizacion!;
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 { generatePassword(): string {
@ -83,11 +118,4 @@ export class EncuestaPublishDialogComponent implements OnInit {
} }
return password; return password;
} }
ngOnInit(): void {
this.loadAll();
this.fechaFinalizacion = new Date();
this.fechaFinalizarInvalid = false;
this.fechaFinalizacionIsInvalid();
}
} }