+
+
+
+
+
+
+
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 21a171e..bd76505 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';
@@ -36,6 +36,9 @@ 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',
@@ -50,11 +53,15 @@ 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;
+ account: Account | null = null;
+ usuarioExtra: UsuarioExtra | null = null;
// editForm = this.fb.group({
// id: [],
// nombre: [null, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]],
@@ -87,6 +94,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;
@@ -110,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 {
@@ -170,6 +183,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 {
@@ -595,4 +617,49 @@ 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;
+ }
+
+ 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).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;
+ }
}
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)));