Merge pull request #100 from Quantum-P3/feature/US-44

add eliminar colaborador de encuesta
This commit is contained in:
Eduardo Quiros 2021-08-01 08:05:17 +00:00 committed by GitHub
commit 1c2d8a3451
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 92 additions and 15 deletions

View File

@ -0,0 +1,23 @@
<form class="ds-form" *ngIf="colaborador" name="deleteForm" (ngSubmit)="confirmDelete(colaborador.id!)">
<div class="modal-body">
<p class="ds-title--small">Expulsar colaborador de encuesta</p>
<p
class="ds-subtitle"
id="jhi-delete-colaborador-heading"
jhiTranslate="dataSurveyApp.usuarioEncuesta.delete.question"
[translateValues]="{ id: colaborador.id }"
>
Are you sure you want to delete this Usuario Encuesta?
</p>
</div>
<div class="modal-footer">
<button type="button" class="ds-btn ds-btn--secondary" data-dismiss="modal" (click)="cancel()">
<fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<button id="jhi-confirm-delete-usuarioEncuesta" data-cy="entityConfirmDeleteButton" type="submit" class="ds-btn ds-btn--danger">
<fa-icon icon="times"></fa-icon>&nbsp;<span jhiTranslate="dataSurveyApp.usuarioEncuesta.delete.action">Delete</span>
</button>
</div>
</form>

View File

@ -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');
});
}
}

View File

@ -10,6 +10,7 @@ import { EncuestaPublishDialogComponent } from './encuesta-publish-dialog/encues
import { EncuestaDeleteQuestionDialogComponent } from './encuesta-delete-question-dialog/encuesta-delete-question-dialog.component'; 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 { EncuestaDeleteOptionDialogComponent } from './encuesta-delete-option-dialog/encuesta-delete-option-dialog.component';
import { EncuestaCompartirDialogComponent } from './encuesta-compartir-dialog/encuesta-compartir-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({ @NgModule({
imports: [SharedModule, EncuestaRoutingModule, FontAwesomeModule], imports: [SharedModule, EncuestaRoutingModule, FontAwesomeModule],
@ -22,6 +23,7 @@ import { EncuestaCompartirDialogComponent } from './encuesta-compartir-dialog/en
EncuestaDeleteQuestionDialogComponent, EncuestaDeleteQuestionDialogComponent,
EncuestaDeleteOptionDialogComponent, EncuestaDeleteOptionDialogComponent,
EncuestaCompartirDialogComponent, EncuestaCompartirDialogComponent,
EncuestaDeleteColaboratorDialogComponent,
], ],
entryComponents: [EncuestaDeleteDialogComponent], entryComponents: [EncuestaDeleteDialogComponent],
}) })

View File

@ -13,25 +13,27 @@
></fa-icon> ></fa-icon>
&nbsp;&nbsp;<fa-icon class="ds-info--icon" [icon]="faEye" (click)="openPreview()"></fa-icon> &nbsp;&nbsp;<fa-icon class="ds-info--icon" [icon]="faEye" (click)="openPreview()"></fa-icon>
<div class="d-flex px-4"> <div class="d-flex px-4">
<div class="col-12"> <div class="col-12 ds-list-collabs">
<div class="row" style="flex-direction: row-reverse"> <div class="row" style="flex-direction: row-reverse">
<div class="col-mb-2 iconos-colab"> <div class="col-mb-2 iconos-colab">
<div class="add-collab"> <div class="add-collab">
<fa-icon icon="sync" [icon]="faPlus"></fa-icon> <fa-icon icon="sync" [icon]="faPlus"></fa-icon>
</div> </div>
</div> </div>
<div <div
class="col-mb-2 iconos-colab" class="col-mb-2 iconos-colab"
*ngFor="let colaborador of usuariosColaboradores" *ngFor="let colaborador of usuariosColaboradores"
(click)="selectColaborator(colaborador)" (click)="selectColaborator(colaborador)"
data-toggle="modal" data-toggle="modal"
data-target="#modalColaborators" data-target="#modalUpdateColaborators"
> >
<img <img
class="photo-collab" class="photo-collab"
*ngIf="colaborador.usuarioExtra" *ngIf="colaborador.usuarioExtra"
src="../../../../content/profile_icons/C{{ colaborador.usuarioExtra.iconoPerfil }}.png" src="../../../../content/profile_icons/C{{ colaborador.usuarioExtra.iconoPerfil }}.png"
alt="{{ colaborador.usuarioExtra.nombre }}" alt="{{ colaborador.usuarioExtra.nombre }}"
[attr.data-id]="colaborador.id"
/> />
</div> </div>
</div> </div>
@ -444,7 +446,7 @@
<!-- Survey Parameters Information --> <!-- Survey Parameters Information -->
<div <div
class="modal fade ds-modal" class="modal fade ds-modal"
id="modalColaborators" id="modalUpdateColaborators"
tabindex="-1" tabindex="-1"
role="dialog" role="dialog"
aria-labelledby="verColaboradoresTitle" aria-labelledby="verColaboradoresTitle"
@ -455,7 +457,7 @@
<div class="modal-content"> <div class="modal-content">
<form class="ds-form" name="editFormUpdateCollab" role="form" (ngSubmit)="saveCollab()" [formGroup]="editFormUpdateCollab"> <form class="ds-form" name="editFormUpdateCollab" role="form" (ngSubmit)="saveCollab()" [formGroup]="editFormUpdateCollab">
<div class="modal-header"> <div class="modal-header">
<h1 class="modal-title" id="modalColaboradores">Colaboradores</h1> <h1 class="modal-title" id="modalColaboradores">Colaborador</h1>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div> <div>
@ -476,6 +478,10 @@
<button id="btnCancelUbdateColaboradores" type="button" class="ds-btn ds-btn--secondary" data-dismiss="modal"> <button id="btnCancelUbdateColaboradores" type="button" class="ds-btn ds-btn--secondary" data-dismiss="modal">
<fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span>Cancelar</span> <fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span>Cancelar</span>
</button> </button>
<button type="button" (click)="deleteCollab(colaborador)" 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="dataSurveyApp.usuarioEncuesta.delete.action">Delete</span>
</button>
<button <button
id="btnUpdateColaboradores" id="btnUpdateColaboradores"
type="submit" type="submit"
@ -483,7 +489,7 @@
data-cy="entityUpdateButton" data-cy="entityUpdateButton"
[disabled]="isSavingCollab" [disabled]="isSavingCollab"
> >
&nbsp;<span>Guardar cambios</span> &nbsp;<span>Guardar</span>
</button> </button>
</div> </div>
</form> </form>

View File

@ -39,6 +39,10 @@ import { IUsuarioEncuesta } from '../../usuario-encuesta/usuario-encuesta.model'
import { RolColaborador } from '../../enumerations/rol-colaborador.model'; import { RolColaborador } from '../../enumerations/rol-colaborador.model';
import { Account } from '../../../core/auth/account.model'; import { Account } from '../../../core/auth/account.model';
import { AccountService } from 'app/core/auth/account.service'; import { AccountService } from 'app/core/auth/account.service';
import { EncuestaDeleteDialogComponent } from '../delete/encuesta-delete-dialog.component';
import { EncuestaDeleteColaboratorDialogComponent } from '../encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component';
import * as $ from 'jquery';
@Component({ @Component({
selector: 'jhi-encuesta-update', selector: 'jhi-encuesta-update',
@ -62,6 +66,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
account: Account | null = null; account: Account | null = null;
usuarioExtra: UsuarioExtra | null = null; usuarioExtra: UsuarioExtra | null = null;
// editForm = this.fb.group({ // editForm = this.fb.group({
// id: [], // id: [],
// nombre: [null, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]], // nombre: [null, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]],
@ -95,7 +100,6 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
}); });
editFormUpdateCollab = this.fb.group({ editFormUpdateCollab = this.fb.group({
id: [],
rol: [null, [Validators.required]], rol: [null, [Validators.required]],
}); });
@ -619,7 +623,6 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
// } // }
/* methods for colaborators*/ /* methods for colaborators*/
selectColaborator(c: IUsuarioEncuesta) { selectColaborator(c: IUsuarioEncuesta) {
this.colaborador = c; this.colaborador = c;
this.rolSeleccionado = c.rol; this.rolSeleccionado = c.rol;
@ -639,6 +642,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
this.subscribeToSaveResponseUpdateCollab(this.usuarioEncuestaService.update(collab)); this.subscribeToSaveResponseUpdateCollab(this.usuarioEncuestaService.update(collab));
} }
} }
protected subscribeToSaveResponseUpdateCollab(result: Observable<HttpResponse<IUsuarioEncuesta>>): void { protected subscribeToSaveResponseUpdateCollab(result: Observable<HttpResponse<IUsuarioEncuesta>>): void {
result.pipe(finalize(() => this.onSaveFinalizeUpdateCollab())).subscribe( result.pipe(finalize(() => this.onSaveFinalizeUpdateCollab())).subscribe(
() => this.onSaveSuccessUpdateCollab(), () => this.onSaveSuccessUpdateCollab(),
@ -659,6 +663,21 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked {
this.isSavingCollab = false; this.isSavingCollab = false;
} }
deleteCollab(collab: IUsuarioEncuesta) {
//$('#btnCancelUbdateColaboradores').click();
//setTimeout(() => {
const modalRef = this.modalService.open(EncuestaDeleteColaboratorDialogComponent, { size: 'lg', backdrop: 'static' });
modalRef.componentInstance.colaborador = collab;
// unsubscribe not needed because closed completes on modal close
modalRef.closed.subscribe(reason => {
if (reason === 'deleted') {
$('#btnCancelUbdateColaboradores').click();
this.loadAll();
}
});
//}, 500);
}
isAutor() { isAutor() {
return this.usuarioExtra?.id == this.encuesta?.usuarioExtra?.id; return this.usuarioExtra?.id == this.encuesta?.usuarioExtra?.id;
} }

View File

@ -2,26 +2,27 @@
"dataSurveyApp": { "dataSurveyApp": {
"usuarioEncuesta": { "usuarioEncuesta": {
"home": { "home": {
"title": "Usuario Encuestas", "title": "Colaboraciones",
"refreshListLabel": "Refrescar lista", "refreshListLabel": "Refrescar lista",
"createLabel": "Crear nuevo Usuario Encuesta", "createLabel": "Crear nuevo Colaborador",
"createOrEditLabel": "Crear o editar Usuario Encuesta", "createOrEditLabel": "Crear o editar Colaborador",
"notFound": "Ningún Usuario Encuestas encontrado" "notFound": "Ningún Colaborador encontrado"
}, },
"created": "Un nuevo Usuario Encuesta ha sido creado con el identificador {{ param }}", "created": "Un nuevo Usuario Encuesta ha sido creado con el identificador {{ param }}",
"updated": "Un Usuario Encuesta ha sido actualizado 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 }}", "deleted": "Un Colaborador ha sido expulsado de la encuesta",
"delete": { "delete": {
"question": "¿Seguro que quiere eliminar Usuario Encuesta {{ id }}?" "question": "¿Seguro que quiere expulsar al colaborador de la encuesta?",
"action": "Expulsar"
}, },
"detail": { "detail": {
"title": "Usuario Encuesta" "title": "Colaborador"
}, },
"id": "ID", "id": "ID",
"rol": "Rol", "rol": "Rol",
"estado": "Estado", "estado": "Estado",
"fechaAgregado": "Fecha Agregado", "fechaAgregado": "Fecha Agregado",
"usuarioExtra": "Usuario Extra", "usuarioExtra": "Usuario",
"encuesta": "Encuesta" "encuesta": "Encuesta"
} }
} }