diff --git a/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.html b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.html new file mode 100644 index 0000000..9c7d1b1 --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.html @@ -0,0 +1,19 @@ +
+ + + + + +
diff --git a/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.scss b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.tmpspec.ts b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.tmpspec.ts new file mode 100644 index 0000000..0ba7093 --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.tmpspec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EncuestaFinalizarDialogComponent } from './encuesta-finalizar-dialog.component'; + +describe('EncuestaFinalizarDialogComponent', () => { + let component: EncuestaFinalizarDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [EncuestaFinalizarDialogComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(EncuestaFinalizarDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.ts b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.ts new file mode 100644 index 0000000..eef9f2e --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-finalizar-dialog/encuesta-finalizar-dialog.component.ts @@ -0,0 +1,36 @@ +import { Component, OnInit } from '@angular/core'; +import { IEncuesta } from '../encuesta.model'; +import { EstadoEncuesta } from '../../enumerations/estado-encuesta.model'; +import { EncuestaService } from '../service/encuesta.service'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import * as dayjs from 'dayjs'; +import { DATE_TIME_FORMAT } from '../../../config/input.constants'; + +@Component({ + selector: 'jhi-encuesta-finalizar-dialog', + templateUrl: './encuesta-finalizar-dialog.component.html', + styleUrls: ['./encuesta-finalizar-dialog.component.scss'], +}) +export class EncuestaFinalizarDialogComponent implements OnInit { + encuesta?: IEncuesta; + + constructor(protected encuestaService: EncuestaService, protected activeModal: NgbActiveModal) {} + + ngOnInit(): void {} + + confirmFinalizar(encuesta: IEncuesta): void { + debugger; + const now = dayjs(); + + encuesta.estado = EstadoEncuesta.FINISHED; + encuesta.fechaFinalizada = dayjs(now, DATE_TIME_FORMAT); + + this.encuestaService.updateSurvey(encuesta).subscribe(() => { + this.activeModal.close('finalized'); + }); + } + + cancel(): void { + this.activeModal.dismiss(); + } +} diff --git a/src/main/webapp/app/entities/encuesta/encuesta.module.ts b/src/main/webapp/app/entities/encuesta/encuesta.module.ts index 47ffbbf..6d65e36 100644 --- a/src/main/webapp/app/entities/encuesta/encuesta.module.ts +++ b/src/main/webapp/app/entities/encuesta/encuesta.module.ts @@ -10,6 +10,9 @@ import { EncuestaPublishDialogComponent } from './encuesta-publish-dialog/encues 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 { EncuestaCompartirDialogComponent } from './encuesta-compartir-dialog/encuesta-compartir-dialog.component'; + +import { EncuestaFinalizarDialogComponent } from './encuesta-finalizar-dialog/encuesta-finalizar-dialog.component'; + import { EncuestaDeleteColaboratorDialogComponent } from './encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component'; @NgModule({ @@ -23,6 +26,7 @@ import { EncuestaDeleteColaboratorDialogComponent } from './encuesta-delete-cola EncuestaDeleteQuestionDialogComponent, EncuestaDeleteOptionDialogComponent, EncuestaCompartirDialogComponent, + EncuestaFinalizarDialogComponent, EncuestaDeleteColaboratorDialogComponent, ], entryComponents: [EncuestaDeleteDialogComponent], diff --git a/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts b/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts index 35bdf0b..c762759 100644 --- a/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts +++ b/src/main/webapp/app/entities/encuesta/service/encuesta.service.ts @@ -26,6 +26,7 @@ export class EncuestaService { .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); } + //update para publicar update(encuesta: IEncuesta): Observable { const copy = this.convertDateFromClient(encuesta); return this.http @@ -33,6 +34,7 @@ export class EncuestaService { .pipe(map((res: EntityResponseType) => this.convertDateFromServer(res))); } + //update normal updateSurvey(encuesta: IEncuesta): Observable { const copy = this.convertDateFromClient(encuesta); return this.http 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 160a6fe..ba1daf8 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 @@ -42,6 +42,9 @@

Creada el día {{ encuesta!.fechaCreacion | formatShortDatetime | lowercase }}

+
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 ee640f4..fddf7ea 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 @@ -39,6 +39,10 @@ import { IUsuarioEncuesta, UsuarioEncuesta } from '../../usuario-encuesta/usuari import { RolColaborador } from '../../enumerations/rol-colaborador.model'; import { Account } from '../../../core/auth/account.model'; import { AccountService } from 'app/core/auth/account.service'; + +import { EncuestaPublishDialogComponent } from '../encuesta-publish-dialog/encuesta-publish-dialog.component'; +import { EncuestaFinalizarDialogComponent } from '../encuesta-finalizar-dialog/encuesta-finalizar-dialog.component'; + import { EncuestaDeleteDialogComponent } from '../delete/encuesta-delete-dialog.component'; import { EncuestaDeleteColaboratorDialogComponent } from '../encuesta-delete-colaborator-dialog/encuesta-delete-colaborator-dialog.component'; @@ -58,6 +62,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { isSaving = false; isSavingQuestion = false; isSavingCollab = false; + finalizada = false; public rolSeleccionado: RolColaborador | undefined = undefined; categoriasSharedCollection: ICategoria[] = []; usuarioExtrasSharedCollection: IUsuarioExtra[] = []; @@ -693,4 +698,16 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { }); return escritor; } + + finalizar(): void { + const modalRef = this.modalService.open(EncuestaFinalizarDialogComponent, { size: 'lg', backdrop: 'static' }); + modalRef.componentInstance.encuesta = this.encuesta; + // unsubscribe not needed because closed completes on modal close + modalRef.closed.subscribe(reason => { + if (reason === 'finalized') { + this.finalizada = true; + this.loadAll(); + } + }); + } }