diff --git a/src/main/java/org/datasurvey/web/rest/PPreguntaCerradaOpcionResource.java b/src/main/java/org/datasurvey/web/rest/PPreguntaCerradaOpcionResource.java index 3dcc603..24a5b1b 100644 --- a/src/main/java/org/datasurvey/web/rest/PPreguntaCerradaOpcionResource.java +++ b/src/main/java/org/datasurvey/web/rest/PPreguntaCerradaOpcionResource.java @@ -2,11 +2,14 @@ package org.datasurvey.web.rest; import java.net.URI; import java.net.URISyntaxException; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.Optional; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import org.datasurvey.domain.EPreguntaCerrada; +import org.datasurvey.domain.PPreguntaCerrada; import org.datasurvey.domain.PPreguntaCerradaOpcion; import org.datasurvey.repository.PPreguntaCerradaOpcionRepository; import org.datasurvey.service.PPreguntaCerradaOpcionQueryService; @@ -58,10 +61,15 @@ public class PPreguntaCerradaOpcionResource { * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new pPreguntaCerradaOpcion, or with status {@code 400 (Bad Request)} if the pPreguntaCerradaOpcion has already an ID. * @throws URISyntaxException if the Location URI syntax is incorrect. */ - @PostMapping("/p-pregunta-cerrada-opcions") + @PostMapping("/p-pregunta-cerrada-opcions/{id}") public ResponseEntity createPPreguntaCerradaOpcion( - @Valid @RequestBody PPreguntaCerradaOpcion pPreguntaCerradaOpcion + @Valid @RequestBody PPreguntaCerradaOpcion pPreguntaCerradaOpcion, + @PathVariable(value = "id", required = false) final Long id ) throws URISyntaxException { + PPreguntaCerrada pPreguntaCerrada = new PPreguntaCerrada(); + pPreguntaCerrada.setId(id); + pPreguntaCerradaOpcion.setPPreguntaCerrada(pPreguntaCerrada); + log.debug("REST request to save PPreguntaCerradaOpcion : {}", pPreguntaCerradaOpcion); if (pPreguntaCerradaOpcion.getId() != null) { throw new BadRequestAlertException("A new pPreguntaCerradaOpcion cannot already have an ID", ENTITY_NAME, "idexists"); @@ -196,4 +204,15 @@ public class PPreguntaCerradaOpcionResource { .headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id.toString())) .build(); } + + @PostMapping("/p-pregunta-cerrada-opcions/deleteMany") + public ResponseEntity deleteManyPPreguntaCerradaOpcion(@Valid @RequestBody int[] ids) { + for (int id : ids) { + pPreguntaCerradaOpcionService.delete((long) id); + } + return ResponseEntity + .noContent() + .headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, Arrays.toString(ids))) + .build(); + } } diff --git a/src/main/java/org/datasurvey/web/rest/PlantillaResource.java b/src/main/java/org/datasurvey/web/rest/PlantillaResource.java index 1b94fc2..c3b3114 100644 --- a/src/main/java/org/datasurvey/web/rest/PlantillaResource.java +++ b/src/main/java/org/datasurvey/web/rest/PlantillaResource.java @@ -2,15 +2,17 @@ package org.datasurvey.web.rest; import java.net.URI; import java.net.URISyntaxException; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import org.datasurvey.domain.Plantilla; +import org.datasurvey.domain.*; import org.datasurvey.repository.PlantillaRepository; -import org.datasurvey.service.PlantillaQueryService; -import org.datasurvey.service.PlantillaService; +import org.datasurvey.service.*; import org.datasurvey.service.criteria.PlantillaCriteria; import org.datasurvey.web.rest.errors.BadRequestAlertException; import org.slf4j.Logger; @@ -41,14 +43,26 @@ public class PlantillaResource { private final PlantillaQueryService plantillaQueryService; + private final PPreguntaCerradaService pPreguntaCerradaService; + + private final PPreguntaAbiertaService pPreguntaAbiertaService; + + private final PPreguntaCerradaOpcionService pPreguntaCerradaOpcionService; + public PlantillaResource( PlantillaService plantillaService, PlantillaRepository plantillaRepository, - PlantillaQueryService plantillaQueryService + PlantillaQueryService plantillaQueryService, + PPreguntaCerradaService pPreguntaCerradaService, + PPreguntaAbiertaService pPreguntaAbiertaService, + PPreguntaCerradaOpcionService ePreguntaCerradaOpcionService ) { this.plantillaService = plantillaService; this.plantillaRepository = plantillaRepository; this.plantillaQueryService = plantillaQueryService; + this.pPreguntaCerradaService = pPreguntaCerradaService; + this.pPreguntaAbiertaService = pPreguntaAbiertaService; + this.pPreguntaCerradaOpcionService = ePreguntaCerradaOpcionService; } /** @@ -154,6 +168,55 @@ public class PlantillaResource { return ResponseEntity.ok().body(entityList); } + @GetMapping("/plantillas/preguntas/{id}") + public ResponseEntity> getPreguntasByIdPlantilla(@PathVariable Long id) { + List preguntasCerradas = pPreguntaCerradaService.findAll(); + List preguntasAbiertas = pPreguntaAbiertaService.findAll(); + List preguntas = Stream.concat(preguntasCerradas.stream(), preguntasAbiertas.stream()).collect(Collectors.toList()); + List preguntasFiltered = new ArrayList<>(); + + for (Object obj : preguntas) { + if (obj.getClass() == PPreguntaCerrada.class) { + if (((PPreguntaCerrada) obj).getPlantilla() != null) { + if (((PPreguntaCerrada) obj).getPlantilla().getId().equals(id)) { + preguntasFiltered.add(obj); + } + } + } else if (obj.getClass() == PPreguntaAbierta.class) { + if (((PPreguntaAbierta) obj).getPlantilla() != null) { + if (((PPreguntaAbierta) obj).getPlantilla().getId().equals(id)) { + preguntasFiltered.add(obj); + } + } + } + } + return ResponseEntity.ok().body(preguntasFiltered); + } + + @GetMapping("/plantillas/preguntas-opciones/{id}") + public ResponseEntity>> getPreguntaCerradaOpcionByIdPlantilla(@PathVariable Long id) { + List> res = new ArrayList<>(); + List preguntasCerradas = pPreguntaCerradaService.findAll(); + List preguntasCerradasFiltered = preguntasCerradas + .stream() + .filter(p -> Objects.nonNull(p.getPlantilla())) + .filter(p -> p.getPlantilla().getId().equals(id)) + .collect(Collectors.toList()); + List opciones = pPreguntaCerradaOpcionService.findAll(); + + for (PPreguntaCerrada pPreguntaCerrada : preguntasCerradasFiltered) { + long preguntaCerradaId = pPreguntaCerrada.getId(); + List opcionesFiltered = opciones + .stream() + .filter(o -> Objects.nonNull(o.getPPreguntaCerrada())) + .filter(o -> o.getPPreguntaCerrada().getId().equals(preguntaCerradaId)) + .collect(Collectors.toList()); + res.add(opcionesFiltered); + } + + return ResponseEntity.ok().body(res); + } + /** * {@code GET /plantillas/count} : count all the plantillas. * diff --git a/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.html b/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.html new file mode 100644 index 0000000..4cd121f --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.html @@ -0,0 +1,23 @@ +
+ + + +
diff --git a/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.scss b/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.ts b/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.ts new file mode 100644 index 0000000..6b5be08 --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component.ts @@ -0,0 +1,26 @@ +import { Component, OnInit } from '@angular/core'; + +import { IUsuarioEncuesta } from '../../usuario-encuesta/usuario-encuesta.model'; +import { UsuarioEncuestaService } from '../../usuario-encuesta/service/usuario-encuesta.service'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +@Component({ + selector: 'jhi-encuesta-delete-colaborator-dialog', + templateUrl: './encuesta-delete-colaborator-dialog.component.html', + styleUrls: ['./encuesta-delete-colaborator-dialog.component.scss'], +}) +export class EncuestaDeleteColaboratorDialogComponent { + colaborador?: IUsuarioEncuesta; + + constructor(protected usuarioEncuestaService: UsuarioEncuestaService, protected activeModal: NgbActiveModal) {} + + cancel(): void { + this.activeModal.dismiss(); + } + + confirmDelete(id: number): void { + this.usuarioEncuestaService.delete(id).subscribe(() => { + this.activeModal.close('deleted'); + }); + } +} diff --git a/src/main/webapp/app/entities/encuesta/encuesta.module.ts b/src/main/webapp/app/entities/encuesta/encuesta.module.ts index c6740f1..47ffbbf 100644 --- a/src/main/webapp/app/entities/encuesta/encuesta.module.ts +++ b/src/main/webapp/app/entities/encuesta/encuesta.module.ts @@ -10,6 +10,7 @@ import { EncuestaPublishDialogComponent } from './encuesta-publish-dialog/encues import { EncuestaDeleteQuestionDialogComponent } from './encuesta-delete-question-dialog/encuesta-delete-question-dialog.component'; import { EncuestaDeleteOptionDialogComponent } from './encuesta-delete-option-dialog/encuesta-delete-option-dialog.component'; import { EncuestaCompartirDialogComponent } from './encuesta-compartir-dialog/encuesta-compartir-dialog.component'; +import { EncuestaDeleteColaboratorDialogComponent } from './encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component'; @NgModule({ imports: [SharedModule, EncuestaRoutingModule, FontAwesomeModule], @@ -22,6 +23,7 @@ import { EncuestaCompartirDialogComponent } from './encuesta-compartir-dialog/en EncuestaDeleteQuestionDialogComponent, EncuestaDeleteOptionDialogComponent, EncuestaCompartirDialogComponent, + EncuestaDeleteColaboratorDialogComponent, ], entryComponents: [EncuestaDeleteDialogComponent], }) diff --git a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.html b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.html index 4010c85..160a6fe 100644 --- a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.html +++ b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.html @@ -13,25 +13,27 @@ >   
-
+
+
{{ colaborador.usuarioExtra.nombre }}
@@ -446,7 +448,7 @@