Compare commits

..

No commits in common. "main" and "fix/home-page-surveys" have entirely different histories.

6 changed files with 49 additions and 59 deletions

View File

@ -68,7 +68,7 @@ email.deleteColaborator.text2=Saludos,
email.receipt.title=Comprobante de pago email.receipt.title=Comprobante de pago
email.receipt.user={0} email.receipt.user={0}
email.receipt.fecha=Fecha de pago: {0} email.receipt.fecha={0}
email.receipt.plantilla={0} email.receipt.plantilla={0}
email.receipt.precio=${0} email.receipt.precio=${0}

View File

@ -135,9 +135,11 @@
<div class="page-content container"> <div class="page-content container">
<div class="container px-0"> <div class="container px-0">
<div class="row mt-4"> <div class="row mt-4">
<div> <div class="col-12 col-lg-10 offset-lg-1">
<!-- .row --> <!-- .row -->
<hr class="row brc-default-l1 mx-n1 mb-4" />
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<div> <div>
@ -151,56 +153,31 @@
<!-- /.col --> <!-- /.col -->
<div class="text-95 col-sm-6 align-self-start d-sm-flex justify-content-end"> <div class="text-95 col-sm-6 align-self-start d-sm-flex justify-content-end">
<hr class="d-sm-none" />
<div class="text-grey-m2"> <div class="text-grey-m2">
<div class="my-2"> <div class="my-2">
<i class="text-blue-m2 text-xs mr-1"></i> <i class="fa fa-circle text-blue-m2 text-xs mr-1"></i>
<span class="text-600 text-90" th:text="#{email.receipt.fecha(${factura.getFecha()}, 'dd-MM-yyyy HH:mm' )}" <span class="text-600 text-90" th:text="#{email.receipt.fecha(${factura.getFecha()}, 'dd-MM-yyyy HH:mm' )}"
>Fecha:</span >Fecha:</span
> >
</div> </div>
</div> </div>
</div> </div>
<hr class="d-sm-none" />
<!-- /.col --> <!-- /.col -->
</div> </div>
<div class="container"> <div class="mt-4">
<div class="row"> <div class="row text-600 text-white bgc-default-tp1 py-25">
<div class="col-lg-10 mt-5 mb-5"> <div class="col-9 col-sm-5">Plantilla</div>
<table class="table table-bordered" style="width: 100%"> <div class="d-none d-sm-block col-4 col-sm-2">Cantidad</div>
<thead> <div class="d-none d-sm-block col-sm-2">Precio</div>
<tr class="text-uppercase font-weight-bold text-blue"> </div>
<th>Plantilla</th>
<th>Cantidad</th>
<th>Precio</th>
</tr>
</thead>
<tbody style="text-align: center"> <div class="text-95 text-secondary-d3">
<tr class="text-95 text-secondary-d3"> <div class="row mb-2 mb-sm-0 py-25">
<td th:text="#{email.receipt.plantilla(${factura.getNombrePlantilla()})}"></td> <div class="col-9 col-sm-5" th:text="#{email.receipt.plantilla(${factura.getNombrePlantilla()})}"></div>
<td>1</td> <div class="d-none d-sm-block col-2">1</div>
<td th:text="#{email.receipt.precio(${factura.getCosto()})}"></td> <div class="d-none d-sm-block col-2 text-95" th:text="#{email.receipt.precio(${factura.getCosto()})}"></div>
</tr>
</tbody>
</table>
<hr />
<!-- <div class="row text-600 text-white bgc-default-tp1 d-flex flex-row" >
<div class="col-9 col-sm-5">Plantilla</div>
<div class="d-none d-sm-block col-4 col-sm-2">Cantidad</div>
<div class="d-none d-sm-block col-sm-2">Precio</div>
</div>
<div class="text-95 text-secondary-d3">
<div class="row mb-2 mb-sm-0 py-25">
<div class="col-9 col-sm-5" th:text="#{email.receipt.plantilla(${factura.getNombrePlantilla()})}"></div>
<div class="d-none d-sm-block col-2">1</div>
<div class="d-none d-sm-block col-2 text-95" th:text="#{email.receipt.precio(${factura.getCosto()})}"></div>
</div>
</div>-->
</div> </div>
</div> </div>
</div> </div>
@ -208,7 +185,7 @@
<div class="row mt-3"> <div class="row mt-3">
<div class="col-12 col-sm-5 text-grey text-90 order-first order-sm-last"> <div class="col-12 col-sm-5 text-grey text-90 order-first order-sm-last">
<div class="row my-2 align-items-center bgc-primary-l3 p-2"> <div class="row my-2 align-items-center bgc-primary-l3 p-2">
<div class="col-7 text-600 text-110 text-blue text-right">Monto total:</div> <div class="col-7 text-right">Monto total</div>
<div class="col-5"> <div class="col-5">
<span class="text-150 text-success-d3 opacity-2" th:text="#{email.receipt.precio(${factura.getCosto()})}"></span> <span class="text-150 text-success-d3 opacity-2" th:text="#{email.receipt.precio(${factura.getCosto()})}"></span>
</div> </div>

View File

@ -75,7 +75,12 @@ export class EncuestaCompleteComponent implements OnInit {
this.cantidadCalificaciones = parseInt(this.encuesta!.calificacion!.toString().split('.')[1]); this.cantidadCalificaciones = parseInt(this.encuesta!.calificacion!.toString().split('.')[1]);
this.sumCalificacion = this.avgCalificacion * this.cantidadCalificaciones; this.sumCalificacion = this.avgCalificacion * this.cantidadCalificaciones;
} }
this.verifyPassword(); this.isLocked = this.verifyPassword();
if (this.isLocked) {
this.previousState();
} else {
this.loadAll();
}
}); });
for (let pregunta of this.ePreguntas!) { for (let pregunta of this.ePreguntas!) {
if (pregunta.tipo && pregunta.tipo === PreguntaCerradaTipo.SINGLE) { if (pregunta.tipo && pregunta.tipo === PreguntaCerradaTipo.SINGLE) {
@ -84,22 +89,17 @@ export class EncuestaCompleteComponent implements OnInit {
} }
} }
verifyPassword(): void { verifyPassword(): boolean {
if (this.encuesta!.acceso === AccesoEncuesta.PUBLIC) { if (this.encuesta!.acceso === AccesoEncuesta.PUBLIC) {
this.loadAll(); return false;
this.isLocked = false;
} else { } else {
const modalRef = this.modalService.open(EncuestaPasswordDialogComponent, { size: 'lg', backdrop: 'static' }); const modalRef = this.modalService.open(EncuestaPasswordDialogComponent, { size: 'lg', backdrop: 'static' });
modalRef.componentInstance.encuesta = this.encuesta; modalRef.componentInstance.encuesta = this.encuesta;
modalRef.closed.subscribe(reason => { modalRef.closed.subscribe(reason => {
this.isLocked = reason != 'success'; return reason === 'success';
if (this.isLocked) {
this.previousState();
} else {
this.loadAll();
}
}); });
} }
return true;
} }
ngAfterViewChecked(): void { ngAfterViewChecked(): void {
@ -194,6 +194,7 @@ export class EncuestaCompleteComponent implements OnInit {
this.getOpenQuestionAnswers(); this.getOpenQuestionAnswers();
this.registerOpenQuestionAnswers(); this.registerOpenQuestionAnswers();
this.updateEncuestaRating(); this.updateEncuestaRating();
this.previousState(); this.previousState();
} }

View File

@ -1,12 +1,12 @@
<form class="ds-form" name="deleteForm"> <form class="ds-form" [formGroup]="passwordForm" name="deleteForm" (ngSubmit)="submitPassword()">
<div *ngIf="this.isWrong">
<p>Contraseña incorrecta</p>
</div>
<div class="modal-body"> <div class="modal-body">
<p class="ds-title--small" jhiTranslate="dataSurveyApp.encuesta.password.title">Enter password</p> <p class="ds-title--small" jhiTranslate="dataSurveyApp.encuesta.password.title">Enter password</p>
<p class="ds-subtitle" id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.encuesta.password.text"> <p class="ds-subtitle" id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.encuesta.password.text">
This survey is marked as private, please enter the password This survey is marked as private, please enter the password
</p> </p>
<div class="alert alert-danger" *ngIf="this.isWrong">
<p>Contraseña incorrecta</p>
</div>
<input [(ngModel)]="passwordInput" type="password" name="passwordInput" id="passwordInput" placeholder="qwerty..." /> <input [(ngModel)]="passwordInput" type="password" name="passwordInput" id="passwordInput" placeholder="qwerty..." />
</div> </div>
@ -15,7 +15,13 @@
<fa-icon icon="arrow-left"></fa-icon>&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span> <fa-icon icon="arrow-left"></fa-icon>&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button> </button>
<button class="ds-btn ds-btn--primary" (click)="submitPassword()"> <button
id="jhi-confirm-delete-option"
data-cy="submit"
type="submit"
class="ds-btn ds-btn--primary"
[disabled]="passwordForm.get('password')!.invalid"
>
<span jhiTranslate="entity.action.submit">Submit</span> <span jhiTranslate="entity.action.submit">Submit</span>
</button> </button>
</div> </div>

View File

@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { IEncuesta } from '../encuesta.model'; import { IEncuesta } from '../encuesta.model';
@ -8,16 +9,21 @@ import { IEncuesta } from '../encuesta.model';
styleUrls: ['./encuesta-password-dialog.component.scss'], styleUrls: ['./encuesta-password-dialog.component.scss'],
}) })
export class EncuestaPasswordDialogComponent implements OnInit { export class EncuestaPasswordDialogComponent implements OnInit {
passwordForm = this.fb.group({
password: [null, [Validators.required]],
});
encuesta?: IEncuesta; encuesta?: IEncuesta;
isWrong?: boolean; isWrong?: boolean;
passwordInput?: string; passwordInput?: string;
constructor(protected activeModal: NgbActiveModal) {} constructor(protected activeModal: NgbActiveModal, protected fb: FormBuilder) {}
ngOnInit(): void {} ngOnInit(): void {}
submitPassword() { submitPassword() {
if (this.passwordInput != undefined && this.passwordInput === this.encuesta!.contrasenna) { const password = this.passwordForm.get(['password'])!.value;
if (this.passwordForm.valid && password === this.encuesta!.contrasenna) {
this.activeModal.close('success'); this.activeModal.close('success');
} else { } else {
this.isWrong = true; this.isWrong = true;

View File

@ -58,7 +58,7 @@
[disabled]="isLoading" [disabled]="isLoading"
data-toggle="modal" data-toggle="modal"
data-target="#crearPregunta" data-target="#crearPregunta"
*ngIf="encuesta!.estado !== 'ACTIVE' && encuesta!.estado !== 'FINISHED' && (isAutor() || isEscritor())" *ngIf="encuesta!.estado !== 'FINISHED' && (isAutor() || isEscritor())"
> >
<fa-icon icon="sync" [icon]="faPlus"></fa-icon>&nbsp;&nbsp;<span>Crear pregunta</span> <fa-icon icon="sync" [icon]="faPlus"></fa-icon>&nbsp;&nbsp;<span>Crear pregunta</span>
</button> </button>