Merge pull request #94 from Quantum-P3/feature/US-61
add mostrar colaboradores de una encuesta
This commit is contained in:
commit
21caf4c5a8
|
@ -2,15 +2,20 @@ 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 javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import org.datasurvey.domain.UsuarioEncuesta;
|
||||
import org.datasurvey.domain.UsuarioExtra;
|
||||
import org.datasurvey.repository.UsuarioEncuestaRepository;
|
||||
import org.datasurvey.service.EncuestaService;
|
||||
import org.datasurvey.service.UsuarioEncuestaQueryService;
|
||||
import org.datasurvey.service.UsuarioEncuestaService;
|
||||
import org.datasurvey.service.UsuarioExtraService;
|
||||
import org.datasurvey.service.criteria.UsuarioEncuestaCriteria;
|
||||
import org.datasurvey.web.rest.errors.BadRequestAlertException;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -36,6 +41,8 @@ public class UsuarioEncuestaResource {
|
|||
private String applicationName;
|
||||
|
||||
private final UsuarioEncuestaService usuarioEncuestaService;
|
||||
private final UsuarioExtraService usuarioExtraService;
|
||||
private final EncuestaService encuestaService;
|
||||
|
||||
private final UsuarioEncuestaRepository usuarioEncuestaRepository;
|
||||
|
||||
|
@ -44,11 +51,15 @@ public class UsuarioEncuestaResource {
|
|||
public UsuarioEncuestaResource(
|
||||
UsuarioEncuestaService usuarioEncuestaService,
|
||||
UsuarioEncuestaRepository usuarioEncuestaRepository,
|
||||
UsuarioEncuestaQueryService usuarioEncuestaQueryService
|
||||
UsuarioEncuestaQueryService usuarioEncuestaQueryService,
|
||||
UsuarioExtraService usuarioExtraService,
|
||||
EncuestaService encuestaService
|
||||
) {
|
||||
this.usuarioEncuestaService = usuarioEncuestaService;
|
||||
this.usuarioEncuestaRepository = usuarioEncuestaRepository;
|
||||
this.usuarioEncuestaQueryService = usuarioEncuestaQueryService;
|
||||
this.usuarioExtraService = usuarioExtraService;
|
||||
this.encuestaService = encuestaService;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -195,4 +206,23 @@ public class UsuarioEncuestaResource {
|
|||
.headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id.toString()))
|
||||
.build();
|
||||
}
|
||||
|
||||
@GetMapping("/usuario-encuestas/encuesta/{id}")
|
||||
public ResponseEntity<List<UsuarioEncuesta>> getColaboradores(@PathVariable Long id) {
|
||||
List<UsuarioExtra> usuariosExtras = usuarioExtraService.findAll();
|
||||
List<UsuarioEncuesta> usuariosEncuestas = usuarioEncuestaService
|
||||
.findAll()
|
||||
.stream()
|
||||
.filter(uE -> Objects.nonNull(uE.getEncuesta()))
|
||||
.filter(uE -> uE.getEncuesta().getId().equals(id))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (UsuarioEncuesta usuarioEncuesta : usuariosEncuestas) {
|
||||
long usuarioExtraId = usuarioEncuesta.getUsuarioExtra().getId();
|
||||
UsuarioExtra usuarioExtra = usuariosExtras.stream().filter(u -> u.getId() == usuarioExtraId).findFirst().get();
|
||||
usuarioEncuesta.getUsuarioExtra().setNombre(usuarioExtra.getNombre());
|
||||
usuarioEncuesta.getUsuarioExtra().setIconoPerfil(usuarioExtra.getIconoPerfil());
|
||||
}
|
||||
return ResponseEntity.ok().body(usuariosEncuestas);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,25 @@
|
|||
(click)="loadAplicationParameters()"
|
||||
></fa-icon>
|
||||
<fa-icon class="ds-info--icon" [icon]="faEye" (click)="openPreview()"></fa-icon>
|
||||
<div class="d-flex px-4">
|
||||
<div class="col-12">
|
||||
<div class="row" style="flex-direction: row-reverse">
|
||||
<div class="col-mb-2 iconos-colab">
|
||||
<div class="add-collab">
|
||||
<fa-icon icon="sync" [icon]="faPlus"></fa-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-mb-2 iconos-colab" *ngFor="let colaborador of usuariosColaboradores">
|
||||
<img
|
||||
class="photo-collab"
|
||||
*ngIf="colaborador.usuarioExtra"
|
||||
src="../../../../content/profile_icons/C{{ colaborador.usuarioExtra.iconoPerfil }}.png"
|
||||
alt="{{ colaborador.usuarioExtra.nombre }}"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="ds-subtitle">Creada el día {{ encuesta!.fechaCreacion | formatShortDatetime | lowercase }}</p>
|
||||
|
@ -224,7 +243,7 @@
|
|||
[formGroup]="editFormQuestion"
|
||||
>
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title" id="exampleModalLongTitle2">Crear Pregunta</h1>
|
||||
<h1 class="modal-title" id="exampleModalLongTitle1">Crear Pregunta</h1>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- Survey Create Question Modal -->
|
||||
|
@ -367,7 +386,7 @@
|
|||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title" id="exampleModalLongTitle">Información de Encuesta</h1>
|
||||
<h1 class="modal-title" id="exampleModalLongTitle2">Información de Encuesta</h1>
|
||||
</div>
|
||||
|
||||
<!-- {
|
||||
|
|
|
@ -34,6 +34,9 @@ import { ParametroAplicacionService } from './../../parametro-aplicacion/service
|
|||
import { IParametroAplicacion } from './../../parametro-aplicacion/parametro-aplicacion.model';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
import { UsuarioEncuestaService } from 'app/entities/usuario-encuesta/service/usuario-encuesta.service';
|
||||
import { IUsuarioEncuesta } from '../../usuario-encuesta/usuario-encuesta.model';
|
||||
|
||||
@Component({
|
||||
selector: 'jhi-encuesta-update',
|
||||
templateUrl: './encuesta-update.component.html',
|
||||
|
@ -50,6 +53,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
|
|||
|
||||
categoriasSharedCollection: ICategoria[] = [];
|
||||
usuarioExtrasSharedCollection: IUsuarioExtra[] = [];
|
||||
usuariosColaboradores: IUsuarioEncuesta[] = [];
|
||||
|
||||
// editForm = this.fb.group({
|
||||
// id: [],
|
||||
|
@ -105,6 +109,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
|
|||
protected ePreguntaCerradaOpcionService: EPreguntaCerradaOpcionService,
|
||||
protected parametroAplicacionService: ParametroAplicacionService,
|
||||
protected ePreguntaAbiertaService: EPreguntaAbiertaService,
|
||||
protected usuarioEncuestaService: UsuarioEncuestaService,
|
||||
protected router: Router
|
||||
) {}
|
||||
|
||||
|
@ -131,6 +136,17 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
|
|||
this.isLoading = false;
|
||||
}
|
||||
);
|
||||
|
||||
this.usuarioEncuestaService.findCollaborators(this.encuesta?.id!).subscribe(
|
||||
(res: any) => {
|
||||
this.isLoading = false;
|
||||
this.usuariosColaboradores = res.body ?? [];
|
||||
console.log(this.usuariosColaboradores);
|
||||
},
|
||||
() => {
|
||||
this.isLoading = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
async loadAplicationParameters(): Promise<void> {
|
||||
|
|
|
@ -49,6 +49,12 @@ export class UsuarioEncuestaService {
|
|||
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
|
||||
}
|
||||
|
||||
findCollaborators(id: number): Observable<EntityResponseType> {
|
||||
return this.http
|
||||
.get<any>(`${this.resourceUrl}/encuesta/${id}`, { observe: 'response' })
|
||||
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
|
||||
}
|
||||
|
||||
query(req?: any): Observable<EntityArrayResponseType> {
|
||||
const options = createRequestOption(req);
|
||||
return this.http
|
||||
|
|
|
@ -162,3 +162,38 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.iconos-colab {
|
||||
margin-right: -8px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.photo-collab {
|
||||
width: 40px;
|
||||
border-radius: 50px;
|
||||
border: 2px solid #fff;
|
||||
|
||||
&:hover {
|
||||
margin-top: -4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.add-collab {
|
||||
background: #c3c2c2;
|
||||
text-align: center;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
color: #fff;
|
||||
padding: 4pt 7pt;
|
||||
border-radius: 50px;
|
||||
border: 2px solid #fff;
|
||||
position: relative;
|
||||
top: 0;
|
||||
transition: all 0.1s ease-in-out;
|
||||
&:hover {
|
||||
/*margin-top: -4px;**/
|
||||
top: -5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue