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 f2ae82e..fd9ef4a 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 @@ -438,7 +438,7 @@ role="dialog" aria-labelledby="verColaboradoresTitle" aria-hidden="true" - *ngIf="colaborador" + *ngIf="colaborador && isAutor()" > diff --git a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts index 5e901b2..c6fe803 100644 --- a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts +++ b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts @@ -17,7 +17,7 @@ import { IEncuesta, Encuesta } from '../encuesta.model'; import { EncuestaService } from '../service/encuesta.service'; import { ICategoria } from 'app/entities/categoria/categoria.model'; import { CategoriaService } from 'app/entities/categoria/service/categoria.service'; -import { IUsuarioExtra } from 'app/entities/usuario-extra/usuario-extra.model'; +import { IUsuarioExtra, UsuarioExtra } from 'app/entities/usuario-extra/usuario-extra.model'; import { UsuarioExtraService } from 'app/entities/usuario-extra/service/usuario-extra.service'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; @@ -37,6 +37,8 @@ import { Router } from '@angular/router'; import { UsuarioEncuestaService } from 'app/entities/usuario-encuesta/service/usuario-encuesta.service'; import { IUsuarioEncuesta } from '../../usuario-encuesta/usuario-encuesta.model'; import { RolColaborador } from '../../enumerations/rol-colaborador.model'; +import { Account } from '../../../core/auth/account.model'; +import { AccountService } from 'app/core/auth/account.service'; @Component({ selector: 'jhi-encuesta-update', @@ -58,6 +60,8 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { usuariosColaboradores: IUsuarioEncuesta[] = []; colaborador: IUsuarioEncuesta | null = null; + account: Account | null = null; + usuarioExtra: UsuarioExtra | null = null; // editForm = this.fb.group({ // id: [], // nombre: [null, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]], @@ -118,7 +122,8 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { protected parametroAplicacionService: ParametroAplicacionService, protected ePreguntaAbiertaService: EPreguntaAbiertaService, protected usuarioEncuestaService: UsuarioEncuestaService, - protected router: Router + protected router: Router, + protected accountService: AccountService ) {} loadAll(): void { @@ -181,6 +186,15 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { // this.loadRelationshipsOptions(); }); + + // Get jhi_user and usuario_extra information + this.accountService.getAuthenticationState().subscribe(account => { + if (account !== null) { + this.usuarioExtraService.find(account.id).subscribe(usuarioExtra => { + this.usuarioExtra = usuarioExtra.body; + }); + } + }); } ngAfterViewChecked(): void { @@ -576,15 +590,41 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { this.rolSeleccionado = c.rol; } - openColaborator(event: any) {} - saveCollab(): void { this.isSavingCollab = true; const collab = this.colaborador; if (collab !== null) { collab.rol = this.editFormUpdateCollab.get('rol')!.value; collab.fechaAgregado = dayjs(this.colaborador?.fechaAgregado, DATE_TIME_FORMAT); - this.usuarioEncuestaService.update(collab); + /*this.usuarioEncuestaService.update(collab).subscribe( + res => {}, + (error) => {console.log(error)} + );*/ + + this.subscribeToSaveResponseUpdateCollab(this.usuarioEncuestaService.update(collab)); } } + protected subscribeToSaveResponseUpdateCollab(result: Observable>): void { + result.pipe(finalize(() => this.onSaveFinalizeUpdateCollab())).subscribe( + () => this.onSaveSuccessUpdateCollab(), + () => this.onSaveErrorUpdateCollab() + ); + } + + protected onSaveSuccessUpdateCollab(): void { + this.loadAll(); + $('#btnCancelUbdateColaboradores').click(); + } + + protected onSaveErrorUpdateCollab(): void { + // Api for inheritance. + } + + protected onSaveFinalizeUpdateCollab(): void { + this.isSavingCollab = false; + } + + isAutor() { + return this.usuarioExtra?.id == this.encuesta?.usuarioExtra?.id; + } }