arreglo validacion fechas min y max
This commit is contained in:
parent
63c4a69ffe
commit
e06e8a61dc
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,46 @@
|
|||
<form *ngIf="encuesta" name="deleteForm" (ngSubmit)="confirmPublish(encuesta!)">
|
||||
<div class="modal-header">
|
||||
<!-- <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 class="modal-body">
|
||||
<jhi-alert-error></jhi-alert-error>
|
||||
|
||||
<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 class="modal-footer">
|
||||
|
@ -16,7 +49,7 @@
|
|||
</button>
|
||||
|
||||
<button
|
||||
disabled="fechaFinalizarInvalid"
|
||||
[disabled]="fechaForm.invalid"
|
||||
id="jhi-confirm-delete-encuesta"
|
||||
data-cy="entityConfirmDeleteButton"
|
||||
type="submit"
|
||||
|
|
|
@ -9,6 +9,8 @@ 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';
|
||||
|
||||
@Component({
|
||||
selector: 'jhi-encuesta-publish-dialog',
|
||||
|
@ -17,12 +19,16 @@ import { HttpResponse } from '@angular/common/http';
|
|||
})
|
||||
export class EncuestaPublishDialogComponent implements OnInit {
|
||||
encuesta?: IEncuesta;
|
||||
fechaFinalizacion?: Date;
|
||||
fechaFinalizarInvalid?: boolean;
|
||||
//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]],
|
||||
});
|
||||
|
@ -34,27 +40,46 @@ export class EncuestaPublishDialogComponent implements OnInit {
|
|||
protected activeModal: NgbActiveModal
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.loadAll();
|
||||
|
||||
this.parametroAplicacions?.forEach(datos => {
|
||||
this.datoMin = datos.minDiasEncuesta;
|
||||
this.datoMax = datos.maxDiasEncuesta;
|
||||
});
|
||||
}
|
||||
|
||||
cancel(): void {
|
||||
this.activeModal.dismiss();
|
||||
}
|
||||
|
||||
confirmPublish(encuesta: IEncuesta): void {
|
||||
const now = dayjs();
|
||||
debugger;
|
||||
if (encuesta.estado === 'DRAFT') {
|
||||
encuesta.estado = EstadoEncuesta.ACTIVE;
|
||||
}
|
||||
|
||||
if (encuesta.acceso === AccesoEncuesta.PRIVATE) {
|
||||
encuesta.contrasenna = this.generatePassword();
|
||||
}
|
||||
//this.loadAll()
|
||||
|
||||
this.encuestaService.update(encuesta).subscribe(() => {
|
||||
this.activeModal.close('published');
|
||||
});
|
||||
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().subscribe(
|
||||
(res: HttpResponse<IParametroAplicacion[]>) => {
|
||||
this.isLoading = false;
|
||||
|
@ -66,11 +91,21 @@ export class EncuestaPublishDialogComponent implements OnInit {
|
|||
);
|
||||
}
|
||||
|
||||
fechaFinalizacionIsInvalid(): void {
|
||||
const now = new Date();
|
||||
const timeDiff = now.valueOf() - this.fechaFinalizacion!.valueOf();
|
||||
fechaFinalizacionIsInvalid(fechaFinalizar: dayjs.Dayjs, fechaPublicacion: dayjs.Dayjs): boolean {
|
||||
let numberDays: number;
|
||||
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 {
|
||||
|
@ -83,11 +118,4 @@ export class EncuestaPublishDialogComponent implements OnInit {
|
|||
}
|
||||
return password;
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.loadAll();
|
||||
this.fechaFinalizacion = new Date();
|
||||
this.fechaFinalizarInvalid = false;
|
||||
this.fechaFinalizacionIsInvalid();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue