add listar colaboraciones de un usuario

This commit is contained in:
Mariela Bonilla 2021-07-27 00:09:01 -06:00
parent ca63cdfe88
commit 3ce87a9c4c
6 changed files with 94 additions and 54 deletions

View File

@ -203,7 +203,7 @@
<span
>-
{{
encuesta.fechaPublicacion === undefined ? 'Sin publicar' : (encuesta.fechaFinalizada | formatShortDatetime | lowercase)
encuesta.fechaPublicacion === undefined ? 'Sin publicar' : (encuesta.fechaPublicacion | formatShortDatetime | lowercase)
}}</span
>
</dd>
@ -216,7 +216,7 @@
{{
encuesta.fechaFinalizar === undefined
? 'Sin fecha de finalización'
: (encuesta.fechaFinalizada | formatShortDatetime | lowercase)
: (encuesta.fechaFinalizar | formatShortDatetime | lowercase)
}}</span
>
</dd>

View File

@ -42,7 +42,7 @@ import { RouterModule } from '@angular/router';
import('./e-pregunta-cerrada-opcion/e-pregunta-cerrada-opcion.module').then(m => m.EPreguntaCerradaOpcionModule),
},
{
path: 'usuario-encuesta',
path: 'colaboraciones',
data: { pageTitle: 'dataSurveyApp.usuarioEncuesta.home.title' },
loadChildren: () => import('./usuario-encuesta/usuario-encuesta.module').then(m => m.UsuarioEncuestaModule),
},

View File

@ -1,22 +1,12 @@
<div>
<h2 id="page-heading" data-cy="UsuarioEncuestaHeading">
<span jhiTranslate="dataSurveyApp.usuarioEncuesta.home.title">Usuario Encuestas</span>
<span jhiTranslate="dataSurveyApp.usuarioEncuesta.home.title">Colaboraciones en Encuestas</span>
<div class="d-flex justify-content-end">
<button class="btn btn-info mr-2" (click)="loadAll()" [disabled]="isLoading">
<button class="ds-btn ds-btn--secondary mr-2" (click)="loadAll()" [disabled]="isLoading">
<fa-icon icon="sync" [spin]="isLoading"></fa-icon>
<span jhiTranslate="dataSurveyApp.usuarioEncuesta.home.refreshListLabel">Refresh List</span>
</button>
<button
id="jh-create-entity"
data-cy="entityCreateButton"
class="btn btn-primary jh-create-entity create-usuario-encuesta"
[routerLink]="['/usuario-encuesta/new']"
>
<fa-icon icon="plus"></fa-icon>
<span jhiTranslate="dataSurveyApp.usuarioEncuesta.home.createLabel"> Create a new Usuario Encuesta </span>
</button>
</div>
</h2>
@ -32,56 +22,49 @@
<table class="table table-striped" aria-describedby="page-heading">
<thead>
<tr>
<th scope="col"><span jhiTranslate="global.field.id">ID</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.rol">Rol</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.estado">Estado</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.fechaAgregado">Fecha Agregado</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.usuarioExtra">Usuario Extra</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.encuesta">Encuesta</span></th>
<th scope="col"><span jhiTranslate="dataSurveyApp.usuarioEncuesta.encuesta">Id encuesta</span></th>
<th scope="col"><span>Nombre encuesta</span></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<tr *ngFor="let usuarioEncuesta of usuarioEncuestas; trackBy: trackId" data-cy="entityTable">
<td>
<a [routerLink]="['/usuario-encuesta', usuarioEncuesta.id, 'view']">{{ usuarioEncuesta.id }}</a>
</td>
<td jhiTranslate="{{ 'dataSurveyApp.RolColaborador.' + usuarioEncuesta.rol }}">{{ usuarioEncuesta.rol }}</td>
<td jhiTranslate="{{ 'dataSurveyApp.EstadoColaborador.' + usuarioEncuesta.estado }}">{{ usuarioEncuesta.estado }}</td>
<td>{{ usuarioEncuesta.fechaAgregado | formatMediumDatetime }}</td>
<td>
<div *ngIf="usuarioEncuesta.usuarioExtra">
<a [routerLink]="['/usuario-extra', usuarioEncuesta.usuarioExtra?.id, 'view']">{{ usuarioEncuesta.usuarioExtra?.id }}</a>
<div *ngIf="usuarioEncuesta.encuesta">
<a>{{ usuarioEncuesta.encuesta?.id }}</a>
</div>
</td>
<td>
<div *ngIf="usuarioEncuesta.encuesta">
<a [routerLink]="['/encuesta', usuarioEncuesta.encuesta?.id, 'view']">{{ usuarioEncuesta.encuesta?.id }}</a>
<a>{{ usuarioEncuesta.encuesta?.nombre }}</a>
</div>
</td>
<td class="text-right">
<div class="btn-group">
<div class="btn-group" *ngIf="usuarioEncuesta.encuesta">
<button
type="submit"
[routerLink]="['/usuario-encuesta', usuarioEncuesta.id, 'view']"
class="btn btn-info btn-sm"
data-cy="entityDetailsButton"
*ngIf="usuarioEncuesta.rol === 'WRITE'"
type="button"
[routerLink]="['/encuesta', usuarioEncuesta.encuesta.id, 'edit']"
class="ds-btn ds-btn--primary"
[disabled]="isLoading"
>
<fa-icon icon="eye"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.view">View</span>
<fa-icon [icon]="faPencilAlt"></fa-icon>&nbsp;&nbsp;<span>Editar encuesta</span>
</button>
<button
type="submit"
[routerLink]="['/usuario-encuesta', usuarioEncuesta.id, 'edit']"
class="btn btn-primary btn-sm"
data-cy="entityEditButton"
type="button"
[routerLink]="['/encuesta', usuarioEncuesta.encuesta.id, 'preview']"
class="ds-btn ds-btn--success"
[disabled]="isLoading"
>
<fa-icon icon="pencil-alt"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span>
<fa-icon [icon]="faPollH"></fa-icon>&nbsp;&nbsp;<span>Ver vista previa</span>
</button>
<button type="submit" (click)="delete(usuarioEncuesta)" class="btn btn-danger btn-sm" data-cy="entityDeleteButton">
<button type="submit" (click)="delete(usuarioEncuesta)" class="ds-btn ds-btn--danger btn-sm" data-cy="entityDeleteButton">
<fa-icon icon="times"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.delete">Delete</span>
</button>

View File

@ -5,16 +5,37 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { IUsuarioEncuesta } from '../usuario-encuesta.model';
import { UsuarioEncuestaService } from '../service/usuario-encuesta.service';
import { UsuarioEncuestaDeleteDialogComponent } from '../delete/usuario-encuesta-delete-dialog.component';
import * as dayjs from 'dayjs';
import { faPollH, faPencilAlt } from '@fortawesome/free-solid-svg-icons';
import { AccountService } from 'app/core/auth/account.service';
import { Account } from 'app/core/auth/account.model';
import { IUsuarioExtra, UsuarioExtra } from 'app/entities/usuario-extra/usuario-extra.model';
import { IUser } from '../../user/user.model';
import { UsuarioExtraService } from 'app/entities/usuario-extra/service/usuario-extra.service';
import { ActivatedRoute, Router } from '@angular/router';
@Component({
selector: 'jhi-usuario-encuesta',
templateUrl: './usuario-encuesta.component.html',
})
export class UsuarioEncuestaComponent implements OnInit {
faPollH = faPollH;
faPencilAlt = faPencilAlt;
usuarioEncuestas?: IUsuarioEncuesta[];
isLoading = false;
usuarioExtra: IUsuarioExtra | null = null;
user: IUser | null = null;
constructor(protected usuarioEncuestaService: UsuarioEncuestaService, protected modalService: NgbModal) {}
constructor(
protected usuarioEncuestaService: UsuarioEncuestaService,
protected modalService: NgbModal,
protected usuarioExtraService: UsuarioExtraService,
protected activatedRoute: ActivatedRoute,
protected accountService: AccountService,
protected router: Router
) {}
loadAll(): void {
this.isLoading = true;
@ -22,7 +43,11 @@ export class UsuarioEncuestaComponent implements OnInit {
this.usuarioEncuestaService.query().subscribe(
(res: HttpResponse<IUsuarioEncuesta[]>) => {
this.isLoading = false;
this.usuarioEncuestas = res.body ?? [];
const tempUsuarioEncuestas = res.body ?? [];
this.usuarioEncuestas = tempUsuarioEncuestas
.filter(c => c.usuarioExtra?.id === this.usuarioExtra?.id)
.filter(c => c.estado === 'ACTIVE')
.filter(c => c.encuesta?.estado !== 'DELETED');
},
() => {
this.isLoading = false;
@ -31,7 +56,20 @@ export class UsuarioEncuestaComponent implements OnInit {
}
ngOnInit(): void {
this.accountService.getAuthenticationState().subscribe(account => {
if (account !== null) {
this.usuarioExtraService.find(account.id).subscribe(usuarioExtra => {
this.usuarioExtra = usuarioExtra.body;
this.loadAll();
if (this.usuarioExtra !== null) {
if (this.usuarioExtra.id === undefined) {
const today = dayjs().startOf('day');
this.usuarioExtra.fechaNacimiento = today;
}
}
});
}
});
}
trackId(index: number, item: IUsuarioEncuesta): number {

View File

@ -6,6 +6,9 @@ import { UsuarioEncuestaComponent } from '../list/usuario-encuesta.component';
import { UsuarioEncuestaDetailComponent } from '../detail/usuario-encuesta-detail.component';
import { UsuarioEncuestaUpdateComponent } from '../update/usuario-encuesta-update.component';
import { UsuarioEncuestaRoutingResolveService } from './usuario-encuesta-routing-resolve.service';
import { EncuestaDetailComponent } from '../../encuesta/detail/encuesta-detail.component';
import { EncuestaUpdateComponent } from '../../encuesta/update/encuesta-update.component';
import { EncuestaRoutingResolveService } from '../../encuesta/route/encuesta-routing-resolve.service';
const usuarioEncuestaRoute: Routes = [
{
@ -37,6 +40,22 @@ const usuarioEncuestaRoute: Routes = [
},
canActivate: [UserRouteAccessService],
},
{
path: '/encuesta/:id/preview',
component: EncuestaDetailComponent,
resolve: {
usuarioEncuesta: EncuestaRoutingResolveService,
},
canActivate: [UserRouteAccessService],
},
{
path: '/encuesta/:id/edit',
component: EncuestaUpdateComponent,
resolve: {
usuarioEncuesta: EncuestaRoutingResolveService,
},
canActivate: [UserRouteAccessService],
},
];
@NgModule({

View File

@ -2,27 +2,27 @@
"dataSurveyApp": {
"usuarioEncuesta": {
"home": {
"title": "Usuario Encuestas",
"title": "Colaboraciones en Encuestas",
"refreshListLabel": "Refrescar lista",
"createLabel": "Crear nuevo Usuario Encuesta",
"createOrEditLabel": "Crear o editar Usuario Encuesta",
"notFound": "Ningún Usuario Encuestas encontrado"
"createLabel": "Crear nuevo Colaborador",
"createOrEditLabel": "Crear o editar Colaboración",
"notFound": "Ninguna colaboración encontrada"
},
"created": "Un nuevo Usuario Encuesta ha sido creado con el identificador {{ param }}",
"updated": "Un Usuario Encuesta ha sido actualizado con el identificador {{ param }}",
"deleted": "Un Usuario Encuesta ha sido eliminado con el identificador {{ param }}",
"created": "Una nueva colaboración ha sido creada con el identificador {{ param }}",
"updated": "Una colaboración ha sido actualizada con el identificador {{ param }}",
"deleted": "Una colaboracióna ha sido eliminada con el identificador {{ param }}",
"delete": {
"question": "¿Seguro que quiere eliminar Usuario Encuesta {{ id }}?"
"question": "¿Seguro que quiere eliminar la colaboración {{ id }}?"
},
"detail": {
"title": "Usuario Encuesta"
"title": "Colaboración en encuesta"
},
"id": "ID",
"rol": "Rol",
"estado": "Estado",
"fechaAgregado": "Fecha Agregado",
"usuarioExtra": "Usuario Extra",
"encuesta": "Encuesta"
"usuarioExtra": "Usuario",
"encuesta": "Id de Encuesta"
}
}
}