From 8efb84461259a722d486c604e053f4f15c39a351 Mon Sep 17 00:00:00 2001 From: Mariela Bonilla Date: Fri, 30 Jul 2021 00:21:31 -0600 Subject: [PATCH 1/3] add modificar rol de colaborador --- .../update/encuesta-update.component.html | 56 ++++++++++++++++++- .../update/encuesta-update.component.ts | 29 +++++++++- .../service/usuario-encuesta.service.ts | 6 +- 3 files changed, 87 insertions(+), 4 deletions(-) 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 24152b7..5bca925 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 @@ -18,7 +18,13 @@ -
+
+ + + + + + + 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 c44a07f..fea4457 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 @@ -36,6 +36,7 @@ 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'; @Component({ selector: 'jhi-encuesta-update', @@ -50,10 +51,12 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { isSaving = false; isSavingQuestion = false; - + isSavingCollab = false; + public rolSeleccionado: RolColaborador | undefined = undefined; categoriasSharedCollection: ICategoria[] = []; usuarioExtrasSharedCollection: IUsuarioExtra[] = []; usuariosColaboradores: IUsuarioEncuesta[] = []; + colaborador: IUsuarioEncuesta | null = null; // editForm = this.fb.group({ // id: [], @@ -87,6 +90,11 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { tipopregunta: ['CLOSED'], }); + editFormUpdateCollab = this.fb.group({ + id: [], + rol: [null, [Validators.required]], + }); + ePreguntas?: any[]; ePreguntasOpciones?: any[]; encuesta: Encuesta | null = null; @@ -548,4 +556,23 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { // usuarioExtra: this.editForm.get(['usuarioExtra'])!.value, // }; // } + + /* methods for colaborators*/ + + selectColaborator(c: IUsuarioEncuesta) { + this.colaborador = c; + 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); + } + } } diff --git a/src/main/webapp/app/entities/usuario-encuesta/service/usuario-encuesta.service.ts b/src/main/webapp/app/entities/usuario-encuesta/service/usuario-encuesta.service.ts index fc47e76..dd7aee7 100644 --- a/src/main/webapp/app/entities/usuario-encuesta/service/usuario-encuesta.service.ts +++ b/src/main/webapp/app/entities/usuario-encuesta/service/usuario-encuesta.service.ts @@ -27,8 +27,9 @@ export class UsuarioEncuestaService { update(usuarioEncuesta: IUsuarioEncuesta): Observable { const copy = this.convertDateFromClient(usuarioEncuesta); + const url = `${this.resourceUrl}/${getUsuarioEncuestaIdentifier(usuarioEncuesta) as number}`; return this.http - .put(`${this.resourceUrl}/${getUsuarioEncuestaIdentifier(usuarioEncuesta) as number}`, copy, { + .put(url, copy, { observe: 'response', }) .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); @@ -36,8 +37,9 @@ export class UsuarioEncuestaService { partialUpdate(usuarioEncuesta: IUsuarioEncuesta): Observable { const copy = this.convertDateFromClient(usuarioEncuesta); + const url = `${this.resourceUrl}/${getUsuarioEncuestaIdentifier(usuarioEncuesta) as number}`; return this.http - .patch(`${this.resourceUrl}/${getUsuarioEncuestaIdentifier(usuarioEncuesta) as number}`, copy, { + .patch(url, copy, { observe: 'response', }) .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); From c3b03ee3729d762204d94005de3a61bed32def36 Mon Sep 17 00:00:00 2001 From: Mariela Bonilla Date: Sat, 31 Jul 2021 01:25:10 -0600 Subject: [PATCH 2/3] fix update rol de colaboradores --- .../update/encuesta-update.component.html | 14 ++++-- .../update/encuesta-update.component.ts | 50 +++++++++++++++++-- 2 files changed, 55 insertions(+), 9 deletions(-) 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; + } } From 0d04c8d80cdf06630d43a479aa2d5c43b6a56289 Mon Sep 17 00:00:00 2001 From: Mariela Bonilla Date: Sat, 31 Jul 2021 01:26:17 -0600 Subject: [PATCH 3/3] fix texto de boton de cancelar --- .../app/entities/encuesta/update/encuesta-update.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 fd9ef4a..d4b2f11 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 @@ -463,7 +463,7 @@