Merge pull request #65 from Quantum-P3/feature/US-64

This commit is contained in:
Eduardo Quiros 2021-07-25 02:45:52 +00:00 committed by GitHub
commit a44419f097
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 92 additions and 23 deletions

View File

@ -284,7 +284,7 @@
<fa-icon icon="pencil-alt"></fa-icon>
<span class="d-none d-md-inline" jhiTranslate="entity.action.edit">Edit</span>
</button>
<button type="submit" (click)="delete(encuesta)" class="btn 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>
@ -316,7 +316,7 @@
data-cy="entityTable"
>
<td>{{ encuesta.nombre }}</td>
<td>{{ encuesta.fechaCreacion | formatMediumDatetime }}</td>
<td>{{ encuesta.fechaCreacion | formatShortDatetime | titlecase }}</td>
<td jhiTranslate="{{ 'dataSurveyApp.AccesoEncuesta.' + encuesta.acceso }}">{{ encuesta.acceso }}</td>
<td jhiTranslate="{{ 'dataSurveyApp.EstadoEncuesta.' + encuesta.estado }}">{{ encuesta.estado }}</td>
<td>
@ -326,9 +326,7 @@
</td>
<td>
<div *ngIf="encuesta.usuarioExtra">
<a [routerLink]="['/usuario-extra', encuesta.usuarioExtra?.nombre, 'view']">
{{ encuesta.usuarioExtra?.nombre }}
</a>
{{ encuesta.usuarioExtra?.user?.login }}
</div>
</td>
<td class="text-right">

View File

@ -22,6 +22,7 @@ import { EstadoEncuesta } from 'app/entities/enumerations/estado-encuesta.model'
import { AccountService } from 'app/core/auth/account.service';
import { Account } from 'app/core/auth/account.model';
import { Router } from '@angular/router';
import { IUser } from '../../user/user.model';
import {
faShareAlt,
@ -70,6 +71,7 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
categoriasSharedCollection: ICategoria[] = [];
usuarioExtrasSharedCollection: IUsuarioExtra[] = [];
userSharedCollection: IUser[] = [];
public searchString: string;
public accesoEncuesta: string;
@ -117,22 +119,61 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
loadAll(): void {
this.isLoading = true;
this.encuestaService.query().subscribe(
(res: HttpResponse<IEncuesta[]>) => {
this.isLoading = false;
const tmpEncuestas = res.body ?? [];
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.usuarioExtraService
.retrieveAllPublicUsers()
.pipe(finalize(() => this.loadUserExtras()))
.subscribe(res => {
this.userSharedCollection = res;
});
}
loadPublicUser(): void {
this.usuarioExtraService
.retrieveAllPublicUsers()
.pipe(finalize(() => this.loadUserExtras()))
.subscribe(res => {
this.userSharedCollection = res;
});
}
loadUserExtras() {
this.usuarioExtraService
.query()
.pipe(
finalize(() =>
this.encuestaService.query().subscribe(
(res: HttpResponse<IEncuesta[]>) => {
this.isLoading = false;
const tmpEncuestas = res.body ?? [];
if (this.isAdmin()) {
this.encuestas = tmpEncuestas;
this.encuestas.forEach(e => {
e.usuarioExtra = this.usuarioExtrasSharedCollection?.find(pU => pU.id == e.usuarioExtra?.id);
});
} else {
this.encuestas = tmpEncuestas
.filter(e => e.usuarioExtra?.id === this.usuarioExtra?.id)
.filter(e => e.estado !== EstadoEncuesta.DELETED);
}
},
() => {
this.isLoading = false;
}
)
)
)
.subscribe(
(res: HttpResponse<IUsuarioExtra[]>) => {
this.isLoading = false;
this.usuarioExtrasSharedCollection = res.body ?? [];
this.usuarioExtrasSharedCollection.forEach(uE => {
uE.user = this.userSharedCollection?.find(pU => pU.id == uE.user?.id);
});
},
() => {
this.isLoading = false;
}
},
() => {
this.isLoading = false;
}
);
);
}
ngOnInit(): void {
@ -173,6 +214,7 @@ export class EncuestaComponent implements OnInit, AfterViewInit {
this.usuarioExtraService.find(account.id).subscribe(usuarioExtra => {
this.usuarioExtra = usuarioExtra.body;
this.loadAll();
this.loadRelationshipsOptions();
if (this.usuarioExtra !== null) {
if (this.usuarioExtra.id === undefined) {

View File

@ -17,7 +17,23 @@
<div class="alert alert-warning" id="no-result" *ngIf="usuarioExtras?.length === 0">
<span jhiTranslate="dataSurveyApp.usuarioExtra.home.notFound">No usuarioExtras found</span>
</div>
<form class="ds-form d-inline">
<div class="input-group">
<div class="col-3">
<div class="input-group-addon"><i class="glyphicon glyphicon-search"></i></div>
<input type="text" name="searchNombreUsuario" placeholder="Buscar por nombre..." [(ngModel)]="searchNombreUsuario" />
</div>
<div class="col-3">
<div class="input-group-addon"><i class="glyphicon glyphicon-search"></i></div>
<select name="searchEstadoUsuario" id="searchEstadoUsuario" [(ngModel)]="searchEstadoUsuario" style="width: 200px">
<option value="" selected="selected" disabled="disabled">Filtrar por estado</option>
<option value="">Todos Estados</option>
<option value="Active">Activos</option>
<option value="Suspended">Bloqueados</option>
</select>
</div>
</div>
</form>
<div class="table-responsive" id="entities" *ngIf="usuarioExtras && usuarioExtras.length > 0">
<table class="table table-striped" aria-describedby="page-heading">
<thead>
@ -32,7 +48,13 @@
</tr>
</thead>
<tbody>
<tr *ngFor="let usuarioExtra of usuarioExtras; trackBy: trackId" data-cy="entityTable">
<tr
*ngFor="
let usuarioExtra of usuarioExtras | filter: 'nombre':searchNombreUsuario | filter: 'estado':searchEstadoUsuario;
trackBy: trackId
"
data-cy="entityTable"
>
<td *ngIf="usuarioExtra.user">
<ul class="listRoles">
<li *ngFor="let userRole of usuarioExtra.user.authorities">

View File

@ -17,8 +17,13 @@ export class UsuarioExtraComponent implements OnInit {
usuarioExtras?: IUsuarioExtra[];
publicUsers?: IUser[];
isLoading = false;
public searchNombreUsuario: string;
public searchEstadoUsuario: string;
constructor(protected usuarioExtraService: UsuarioExtraService, protected modalService: NgbModal) {}
constructor(protected usuarioExtraService: UsuarioExtraService, protected modalService: NgbModal) {
this.searchNombreUsuario = '';
this.searchEstadoUsuario = '';
}
loadPublicUser(): void {
this.usuarioExtraService
@ -60,6 +65,8 @@ export class UsuarioExtraComponent implements OnInit {
}
ngOnInit(): void {
this.searchNombreUsuario = '';
this.searchEstadoUsuario = '';
this.loadAll();
}