Merge branch 'dev' into feature/US-41

This commit is contained in:
Paola 2021-07-23 23:00:47 -06:00
commit 9f2809f61b
6 changed files with 89 additions and 159 deletions

View File

@ -1,4 +1,4 @@
<form *ngIf="encuesta" name="deleteForm" (ngSubmit)="confirmDelete(encuesta.id!)"> <form *ngIf="encuesta" name="deleteForm" (ngSubmit)="confirmDelete(encuesta)">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.delete.title">Confirm delete operation</h4> <h4 class="modal-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.delete.title">Confirm delete operation</h4>
@ -9,7 +9,7 @@
<jhi-alert-error></jhi-alert-error> <jhi-alert-error></jhi-alert-error>
<p id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.encuesta.delete.question" [translateValues]="{ id: encuesta.id }"> <p id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.encuesta.delete.question" [translateValues]="{ id: encuesta.id }">
Are you sure you want to delete this Encuesta? Are you sure you want to delete this survey?
</p> </p>
</div> </div>

View File

@ -1,65 +0,0 @@
jest.mock('@ng-bootstrap/ng-bootstrap');
import { ComponentFixture, TestBed, inject, fakeAsync, tick } from '@angular/core/testing';
import { HttpResponse } from '@angular/common/http';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { of } from 'rxjs';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { EncuestaService } from '../service/encuesta.service';
import { EncuestaDeleteDialogComponent } from './encuesta-delete-dialog.component';
describe('Component Tests', () => {
describe('Encuesta Management Delete Component', () => {
let comp: EncuestaDeleteDialogComponent;
let fixture: ComponentFixture<EncuestaDeleteDialogComponent>;
let service: EncuestaService;
let mockActiveModal: NgbActiveModal;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
declarations: [EncuestaDeleteDialogComponent],
providers: [NgbActiveModal],
})
.overrideTemplate(EncuestaDeleteDialogComponent, '')
.compileComponents();
fixture = TestBed.createComponent(EncuestaDeleteDialogComponent);
comp = fixture.componentInstance;
service = TestBed.inject(EncuestaService);
mockActiveModal = TestBed.inject(NgbActiveModal);
});
describe('confirmDelete', () => {
it('Should call delete service on confirmDelete', inject(
[],
fakeAsync(() => {
// GIVEN
jest.spyOn(service, 'delete').mockReturnValue(of(new HttpResponse({})));
// WHEN
comp.confirmDelete(123);
tick();
// THEN
expect(service.delete).toHaveBeenCalledWith(123);
expect(mockActiveModal.close).toHaveBeenCalledWith('deleted');
})
));
it('Should not call delete service on clear', () => {
// GIVEN
jest.spyOn(service, 'delete');
// WHEN
comp.cancel();
// THEN
expect(service.delete).not.toHaveBeenCalled();
expect(mockActiveModal.close).not.toHaveBeenCalled();
expect(mockActiveModal.dismiss).toHaveBeenCalled();
});
});
});
});

View File

@ -1,5 +1,6 @@
import { Component } from '@angular/core'; import { Component } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { EstadoEncuesta } from 'app/entities/enumerations/estado-encuesta.model';
import { IEncuesta } from '../encuesta.model'; import { IEncuesta } from '../encuesta.model';
import { EncuestaService } from '../service/encuesta.service'; import { EncuestaService } from '../service/encuesta.service';
@ -16,8 +17,9 @@ export class EncuestaDeleteDialogComponent {
this.activeModal.dismiss(); this.activeModal.dismiss();
} }
confirmDelete(id: number): void { confirmDelete(encuesta: IEncuesta): void {
this.encuestaService.delete(id).subscribe(() => { encuesta.estado = EstadoEncuesta.DELETED;
this.encuestaService.update(encuesta).subscribe(() => {
this.activeModal.close('deleted'); this.activeModal.close('deleted');
}); });
} }

View File

@ -37,11 +37,11 @@
</div> </div>
<div class="alert alert-warning" id="no-result" *ngIf="encuestas?.length === 0"> <div class="alert alert-warning" id="no-result" *ngIf="encuestas?.length === 0">
<span jhiTranslate="dataSurveyApp.encuesta.home.notFound">No encuestas found</span> <span jhiTranslate="dataSurveyApp.encuesta.home.notFound">No surveys found</span>
</div> </div>
<!-- Lista de Encuestas del Usuario --> <!-- Lista de Encuestas del Usuario -->
<div class="ds-list" (contextmenu)="openContextMenu($event)"> <div class="ds-list" (contextmenu)="openContextMenu($event)" *ngIf="!isAdmin()">
<!-- Context Menu --> <!-- Context Menu -->
<div class="ds-contextmenu ds-contextmenu--closed" id="contextmenu"> <div class="ds-contextmenu ds-contextmenu--closed" id="contextmenu">
<ul id="ds-context-menu__list"> <ul id="ds-context-menu__list">
@ -219,83 +219,69 @@
</div> </div>
</div> </div>
<!-- <div class="table-responsive" id="entities" *ngIf="encuestas && encuestas.length > 0"> <div class="table-responsive" id="entities" *ngIf="isAdmin() && encuestas && encuestas.length > 0">
<table class="table table-striped" aria-describedby="page-heading"> <table class="table table-striped" aria-describedby="page-heading">
<thead> <thead>
<tr> <tr>
<th scope="col"><span jhiTranslate="global.field.id">ID</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.nombre">Nombre</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.nombre">Nombre</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.fechaCreacion">Fecha Creacion</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.descripcion">Descripcion</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.acceso">Acceso</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.fechaCreacion">Fecha Creacion</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.estado">Estado</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.fechaPublicacion">Fecha Publicacion</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.categoria">Categoria</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.fechaFinalizar">Fecha Finalizar</span></th> <th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.usuarioExtra">Correo Usuario</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.fechaFinalizada">Fecha Finalizada</span></th> <th scope="col"></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.calificacion">Calificacion</span></th> </tr>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.acceso">Acceso</span></th> </thead>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.contrasenna">Contrasenna</span></th> <tbody>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.estado">Estado</span></th> <tr *ngFor="let encuesta of encuestas; trackBy: trackId" data-cy="entityTable">
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.categoria">Categoria</span></th> <td>{{ encuesta.nombre }}</td>
<th scope="col"><span jhiTranslate="dataSurveyApp.encuesta.usuarioExtra">Usuario Extra</span></th> <td>{{ encuesta.fechaCreacion | formatMediumDatetime }}</td>
<th scope="col"></th> <td jhiTranslate="{{ 'dataSurveyApp.AccesoEncuesta.' + encuesta.acceso }}">{{ encuesta.acceso }}</td>
</tr> <td jhiTranslate="{{ 'dataSurveyApp.EstadoEncuesta.' + encuesta.estado }}">{{ encuesta.estado }}</td>
</thead> <td>
<tbody> <div *ngIf="encuesta.categoria">
<tr *ngFor="let encuesta of encuestas; trackBy: trackId" data-cy="entityTable"> <a [routerLink]="['/categoria', encuesta.categoria?.id, 'view']">{{ encuesta.categoria?.nombre }}</a>
<td> </div>
<a [routerLink]="['/encuesta', encuesta.id, 'view']">{{ encuesta.id }}</a> </td>
</td> <td>
<td>{{ encuesta.nombre }}</td> <div *ngIf="encuesta.usuarioExtra">
<td>{{ encuesta.descripcion }}</td> <a [routerLink]="['/usuario-extra', encuesta.usuarioExtra?.nombre, 'view']">
<td>{{ encuesta.fechaCreacion | formatMediumDatetime }}</td> {{ encuesta.usuarioExtra?.nombre }}
<td>{{ encuesta.fechaPublicacion | formatMediumDatetime }}</td> </a>
<td>{{ encuesta.fechaFinalizar | formatMediumDatetime }}</td> </div>
<td>{{ encuesta.fechaFinalizada | formatMediumDatetime }}</td> </td>
<td>{{ encuesta.calificacion }}</td> <td class="text-right">
<td jhiTranslate="{{ 'dataSurveyApp.AccesoEncuesta.' + encuesta.acceso }}">{{ encuesta.acceso }}</td> <div class="btn-group">
<td>{{ encuesta.contrasenna }}</td> <button
<td jhiTranslate="{{ 'dataSurveyApp.EstadoEncuesta.' + encuesta.estado }}">{{ encuesta.estado }}</td> type="submit"
<td> [routerLink]="['/encuesta', encuesta.id, 'view']"
<div *ngIf="encuesta.categoria"> class="ds-btn btn-info btn-sm"
<a [routerLink]="['/categoria', encuesta.categoria?.id, 'view']">{{ encuesta.categoria?.nombre }}</a> data-cy="entityDetailsButton"
</div> >
</td> <fa-icon icon="eye"></fa-icon>
<td> <span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span>
<div *ngIf="encuesta.usuarioExtra"> </button>
<a [routerLink]="['/usuario-extra', encuesta.usuarioExtra?.id, 'view']">{{ encuesta.usuarioExtra?.id }}</a>
</div>
</td>
<td class="text-right">
<div class="btn-group">
<button
type="submit"
[routerLink]="['/encuesta', encuesta.id, 'view']"
class="btn btn-info btn-sm"
data-cy="entityDetailsButton"
>
<fa-icon icon="eye"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span>
</button>
<button <button
type="submit" type="submit"
[routerLink]="['/encuesta', encuesta.id, 'edit']" [routerLink]="['/encuesta', encuesta.id, 'edit']"
class="btn btn-primary btn-sm" class="ds-btn ds-btn--primary btn-sm"
data-cy="entityEditButton" data-cy="entityEditButton"
> >
<fa-icon icon="pencil-alt"></fa-icon> <fa-icon icon="pencil-alt"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span> <span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span>
</button> </button>
<button type="submit" (click)="delete(encuesta)" class="btn btn-danger btn-sm" data-cy="entityDeleteButton"> <button type="submit" (click)="delete(encuesta)" class="ds-btn ds-btn--danger btn-sm" data-cy="entityDeleteButton">
<fa-icon icon="times"></fa-icon> <fa-icon icon="times"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span> <span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span>
</button> </button>
</div> </div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> --> </div>
<!-- --------------------------------------------------------------------------------------------- --> <!-- --------------------------------------------------------------------------------------------- -->
@ -429,7 +415,7 @@
<!-- ------------------------------------------------------------------------------------------------- --> <!-- ------------------------------------------------------------------------------------------------- -->
<!-- <div class="row justify-content-center"> <!-- <div ngIf class="row justify-content-center">
<div class="col-8"> <div class="col-8">
<form name="editForm" role="form" novalidate (ngSubmit)="save()" [formGroup]="editForm"> <form name="editForm" role="form" novalidate (ngSubmit)="save()" [formGroup]="editForm">
<h2 id="jhi-encuesta-heading" data-cy="EncuestaCreateUpdateHeading" jhiTranslate="dataSurveyApp.encuesta.home.createOrEditLabel"> <h2 id="jhi-encuesta-heading" data-cy="EncuestaCreateUpdateHeading" jhiTranslate="dataSurveyApp.encuesta.home.createOrEditLabel">

View File

@ -61,6 +61,7 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
successPublished = false; successPublished = false;
account: Account | null = null; account: Account | null = null;
usuarioExtra: UsuarioExtra | null = null; usuarioExtra: UsuarioExtra | null = null;
estadoDeleted = EstadoEncuesta.DELETED;
encuestas?: IEncuesta[]; encuestas?: IEncuesta[];
isLoading = false; isLoading = false;
@ -111,7 +112,13 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
(res: HttpResponse<IEncuesta[]>) => { (res: HttpResponse<IEncuesta[]>) => {
this.isLoading = false; this.isLoading = false;
const tmpEncuestas = res.body ?? []; const tmpEncuestas = res.body ?? [];
this.encuestas = tmpEncuestas.filter(e => e.usuarioExtra?.id === this.usuarioExtra?.id); if (this.isAdmin()) {
this.encuestas = tmpEncuestas;
} else {
this.encuestas = tmpEncuestas
.filter(e => e.usuarioExtra?.id === this.usuarioExtra?.id)
.filter(e => e.estado !== EstadoEncuesta.DELETED);
}
}, },
() => { () => {
this.isLoading = false; this.isLoading = false;
@ -168,7 +175,7 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
ngAfterViewInit(): void {} ngAfterViewInit(): void {}
trackId(index: number, item: IEncuesta): number { trackId(_index: number, item: IEncuesta): number {
return item.id!; return item.id!;
} }
@ -198,11 +205,11 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
} }
} }
trackCategoriaById(index: number, item: ICategoria): number { trackCategoriaById(_index: number, item: ICategoria): number {
return item.id!; return item.id!;
} }
trackUsuarioExtraById(index: number, item: IUsuarioExtra): number { trackUsuarioExtraById(_index: number, item: IUsuarioExtra): number {
return item.id!; return item.id!;
} }

View File

@ -4,15 +4,15 @@
"home": { "home": {
"title": "Encuestas", "title": "Encuestas",
"refreshListLabel": "Refrescar lista", "refreshListLabel": "Refrescar lista",
"createLabel": "Crear nuevo Encuesta", "createLabel": "Crear nueva encuesta",
"createOrEditLabel": "Crear o editar Encuesta", "createOrEditLabel": "Crear o editar encuesta",
"notFound": "Ningún Encuestas encontrado" "notFound": "Ninguna encuesta fue encontrada"
}, },
"created": "Un nuevo Encuesta ha sido creado con el identificador {{ param }}", "created": "Una nueva encuesta ha sido creada con el identificador {{ param }}",
"updated": "Un Encuesta ha sido actualizado con el identificador {{ param }}", "updated": "Una encuesta ha sido actualizado con el identificador {{ param }}",
"deleted": "Un Encuesta ha sido eliminado con el identificador {{ param }}", "deleted": "Una encuesta ha sido eliminada con el identificador {{ param }}",
"delete": { "delete": {
"question": "¿Seguro que quiere eliminar Encuesta {{ id }}?" "question": "¿Seguro que quiere eliminar la encuesta {{ id }}?"
}, },
"detail": { "detail": {
"title": "Encuesta" "title": "Encuesta"
@ -32,7 +32,7 @@
"ePreguntaAbierta": "E Pregunta Abierta", "ePreguntaAbierta": "E Pregunta Abierta",
"ePreguntaCerrada": "E Pregunta Cerrada", "ePreguntaCerrada": "E Pregunta Cerrada",
"categoria": "Categoría", "categoria": "Categoría",
"usuarioExtra": "Usuario Extra" "usuarioExtra": "Correo Usuario"
} }
} }
} }