Add publish and delete survey template to/from the store

This commit is contained in:
Pablo Bonilla 2021-08-01 16:18:53 -06:00
parent b45524111e
commit 085d5a16a6
No known key found for this signature in database
GPG Key ID: 46877262B8DE47E2
9 changed files with 140 additions and 3 deletions

View File

@ -0,0 +1,24 @@
<form class="ds-form" name="deleteForm" (ngSubmit)="confirmDeleteFromStore()">
<div class="modal-header">
<!-- <h2 class="ds-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.delete.title">Confirm delete operation</h2>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" (click)="cancel()">&times;</button>-->
</div>
<div class="modal-body">
<p class="ds-title--small">Eliminar de la tienda</p>
<p class="ds-subtitle" id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.plantilla.delete.deletefromstore">
Are you sure you want to delete this template from the store?
</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;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<button id="jhi-confirm-delete-option" data-cy="entityConfirmDeleteButton" type="submit" class="ds-btn ds-btn--danger">
<fa-icon icon="times"></fa-icon>&nbsp;<span jhiTranslate="entity.action.delete">Delete</span>
</button>
</div>
</form>

View File

@ -0,0 +1,17 @@
import { Component } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
@Component({
templateUrl: './plantilla-delete-store-dialog.component.html',
})
export class PlantillaDeleteStoreDialogComponent {
constructor(protected activeModal: NgbActiveModal) {}
cancel(): void {
this.activeModal.dismiss();
}
confirmDeleteFromStore(): void {
this.activeModal.close('confirm');
}
}

View File

@ -0,0 +1,24 @@
<form class="ds-form" name="deleteForm" (ngSubmit)="confirmPublishToStore()">
<div class="modal-header">
<!-- <h2 class="ds-title" data-cy="encuestaDeleteDialogHeading" jhiTranslate="entity.delete.title">Confirm delete operation</h2>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" (click)="cancel()">&times;</button>-->
</div>
<div class="modal-body">
<p class="ds-title--small">Publicar en la tienda</p>
<p class="ds-subtitle" id="jhi-delete-encuesta-heading" jhiTranslate="dataSurveyApp.plantilla.publish.store">
Are you sure you want to publish this template to the store?
</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;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<button id="jhi-confirm-delete-option" data-cy="entityConfirmDeleteButton" type="submit" class="ds-btn ds-btn--primary">
<fa-icon [icon]="faStore"></fa-icon>&nbsp;<span jhiTranslate="entity.action.publish">Publish</span>
</button>
</div>
</form>

View File

@ -0,0 +1,20 @@
import { Component } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { faStore } from '@fortawesome/free-solid-svg-icons';
@Component({
templateUrl: './plantilla-publish-store-dialog.component.html',
})
export class PlantillaPublishStoreDialogComponent {
faStore = faStore;
constructor(protected activeModal: NgbActiveModal) {}
cancel(): void {
this.activeModal.dismiss();
}
confirmPublishToStore(): void {
this.activeModal.close('confirm');
}
}

View File

@ -8,6 +8,8 @@ import { PlantillaRoutingModule } from './route/plantilla-routing.module';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { PlantillaDeleteQuestionDialogComponent } from './plantilla-delete-question-dialog/plantilla-delete-question-dialog.component'; import { PlantillaDeleteQuestionDialogComponent } from './plantilla-delete-question-dialog/plantilla-delete-question-dialog.component';
import { PlantillaDeleteOptionDialogComponent } from './plantilla-delete-option-dialog/plantilla-delete-option-dialog.component'; import { PlantillaDeleteOptionDialogComponent } from './plantilla-delete-option-dialog/plantilla-delete-option-dialog.component';
import { PlantillaPublishStoreDialogComponent } from './plantilla-publish-store-dialog/plantilla-publish-store-dialog.component';
import { PlantillaDeleteStoreDialogComponent } from './plantilla-delete-store-dialog/plantilla-delete-store-dialog.component';
@NgModule({ @NgModule({
imports: [SharedModule, PlantillaRoutingModule, FontAwesomeModule], imports: [SharedModule, PlantillaRoutingModule, FontAwesomeModule],
@ -18,6 +20,8 @@ import { PlantillaDeleteOptionDialogComponent } from './plantilla-delete-option-
PlantillaDeleteDialogComponent, PlantillaDeleteDialogComponent,
PlantillaDeleteQuestionDialogComponent, PlantillaDeleteQuestionDialogComponent,
PlantillaDeleteOptionDialogComponent, PlantillaDeleteOptionDialogComponent,
PlantillaPublishStoreDialogComponent,
PlantillaDeleteStoreDialogComponent,
], ],
entryComponents: [PlantillaDeleteDialogComponent], entryComponents: [PlantillaDeleteDialogComponent],
}) })

View File

@ -26,6 +26,26 @@
> >
<fa-icon icon="sync" [icon]="faPlus"></fa-icon>&nbsp;&nbsp;<span>Crear pregunta</span> <fa-icon icon="sync" [icon]="faPlus"></fa-icon>&nbsp;&nbsp;<span>Crear pregunta</span>
</button> </button>
<button
type="button"
class="ds-btn ds-btn--primary"
(click)="publishTemplateToStore()"
[disabled]="isLoading"
*ngIf="plantilla!.estado === 'DRAFT' && pPreguntas && pPreguntas.length > 0"
>
<fa-icon icon="sync" [icon]="faStore"></fa-icon>&nbsp;&nbsp;<span>Publicar en tienda</span>
</button>
<button
type="button"
class="ds-btn ds-btn--danger"
(click)="deleteTemplateFromStore()"
[disabled]="isLoading"
*ngIf="plantilla!.estado === 'ACTIVE'"
>
<fa-icon icon="sync" [icon]="faStore"></fa-icon>&nbsp;&nbsp;<span>Eliminar de tienda</span>
</button>
</div> </div>
</h2> </h2>

View File

@ -25,7 +25,7 @@ import { IPPreguntaCerrada } from 'app/entities/p-pregunta-cerrada/p-pregunta-ce
import { PPreguntaCerradaService } from 'app/entities/p-pregunta-cerrada/service/p-pregunta-cerrada.service'; import { PPreguntaCerradaService } from 'app/entities/p-pregunta-cerrada/service/p-pregunta-cerrada.service';
import { PPreguntaCerradaDeleteDialogComponent } from 'app/entities/p-pregunta-cerrada/delete/p-pregunta-cerrada-delete-dialog.component'; import { PPreguntaCerradaDeleteDialogComponent } from 'app/entities/p-pregunta-cerrada/delete/p-pregunta-cerrada-delete-dialog.component';
import { faTimes, faPlus, faQuestion, faPollH, faEye } from '@fortawesome/free-solid-svg-icons'; import { faTimes, faPlus, faQuestion, faPollH, faEye, faStore } from '@fortawesome/free-solid-svg-icons';
import { PreguntaCerradaTipo } from 'app/entities/enumerations/pregunta-cerrada-tipo.model'; import { PreguntaCerradaTipo } from 'app/entities/enumerations/pregunta-cerrada-tipo.model';
import { PlantillaDeleteQuestionDialogComponent } from '../plantilla-delete-question-dialog/plantilla-delete-question-dialog.component'; import { PlantillaDeleteQuestionDialogComponent } from '../plantilla-delete-question-dialog/plantilla-delete-question-dialog.component';
import { PlantillaDeleteOptionDialogComponent } from '../plantilla-delete-option-dialog/plantilla-delete-option-dialog.component'; import { PlantillaDeleteOptionDialogComponent } from '../plantilla-delete-option-dialog/plantilla-delete-option-dialog.component';
@ -33,6 +33,9 @@ import { PlantillaDeleteOptionDialogComponent } from '../plantilla-delete-option
import { ParametroAplicacionService } from './../../parametro-aplicacion/service/parametro-aplicacion.service'; import { ParametroAplicacionService } from './../../parametro-aplicacion/service/parametro-aplicacion.service';
import { IParametroAplicacion } from './../../parametro-aplicacion/parametro-aplicacion.model'; import { IParametroAplicacion } from './../../parametro-aplicacion/parametro-aplicacion.model';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { EstadoPlantilla } from 'app/entities/enumerations/estado-plantilla.model';
import { PlantillaDeleteStoreDialogComponent } from '../plantilla-delete-store-dialog/plantilla-delete-store-dialog.component';
import { PlantillaPublishStoreDialogComponent } from '../plantilla-publish-store-dialog/plantilla-publish-store-dialog.component';
@Component({ @Component({
selector: 'jhi-plantilla-update', selector: 'jhi-plantilla-update',
@ -44,6 +47,7 @@ export class PlantillaUpdateComponent implements OnInit, AfterViewChecked {
faPollH = faPollH; faPollH = faPollH;
faQuestion = faQuestion; faQuestion = faQuestion;
faEye = faEye; faEye = faEye;
faStore = faStore;
isSaving = false; isSaving = false;
isSavingQuestion = false; isSavingQuestion = false;
@ -449,4 +453,24 @@ export class PlantillaUpdateComponent implements OnInit, AfterViewChecked {
trackUsuarioExtraById(index: number, item: IUsuarioExtra): number { trackUsuarioExtraById(index: number, item: IUsuarioExtra): number {
return item.id!; return item.id!;
} }
publishTemplateToStore(): void {
const modalRef = this.modalService.open(PlantillaPublishStoreDialogComponent, { size: 'lg', backdrop: 'static' });
modalRef.closed.subscribe(reason => {
if (reason === 'confirm') {
this.plantilla!.estado = EstadoPlantilla.ACTIVE;
this.plantillaService.update(this.plantilla!).subscribe(res => {});
}
});
}
deleteTemplateFromStore(): void {
const modalRef = this.modalService.open(PlantillaDeleteStoreDialogComponent, { size: 'lg', backdrop: 'static' });
modalRef.closed.subscribe(reason => {
if (reason === 'confirm') {
this.plantilla!.estado = EstadoPlantilla.DRAFT;
this.plantillaService.update(this.plantilla!).subscribe(res => {});
}
});
}
} }

View File

@ -3,7 +3,7 @@
"EstadoPlantilla": { "EstadoPlantilla": {
"null": "", "null": "",
"DRAFT": "Borrador", "DRAFT": "Borrador",
"ACTIVE": "Activa", "ACTIVE": "En tienda",
"DELETED": "Eliminada", "DELETED": "Eliminada",
"DISABLED": "Desactivada" "DISABLED": "Desactivada"
} }

View File

@ -12,7 +12,11 @@
"updated": "Una plantilla ha sido actualizada con el identificador {{ param }}", "updated": "Una plantilla ha sido actualizada con el identificador {{ param }}",
"deleted": "Una plantilla ha sido eliminada con el identificador {{ param }}", "deleted": "Una plantilla ha sido eliminada con el identificador {{ param }}",
"delete": { "delete": {
"question": "¿Seguro que quiere eliminar Plantilla {{ id }}?" "question": "¿Seguro que quiere eliminar Plantilla {{ id }}?",
"deletefromstore": "¿Seguro que quiere eliminar esta plantilla de la tienda?"
},
"publish": {
"store": "¿Seguro que quiere publicar esta plantilla a la tienda?"
}, },
"detail": { "detail": {
"title": "Plantilla" "title": "Plantilla"