From e416391f6e977343357a9529ab2506830f3b4546 Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Mon, 13 Jan 2020 16:20:30 +0100 Subject: [PATCH] FEAT #12764 TIME 0:10 add delete visa/avis workflow --- .../app/avis/avis-workflow.component.ts | 34 +++++++++++++------ .../app/visa/visa-workflow.component.ts | 13 ++++++- src/frontend/lang/lang-en.ts | 2 ++ src/frontend/lang/lang-fr.ts | 2 ++ src/frontend/lang/lang-nl.ts | 2 ++ 5 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/frontend/app/avis/avis-workflow.component.ts b/src/frontend/app/avis/avis-workflow.component.ts index 5a8ca69f597..7d5d5ca7829 100644 --- a/src/frontend/app/avis/avis-workflow.component.ts +++ b/src/frontend/app/avis/avis-workflow.component.ts @@ -236,16 +236,30 @@ export class AvisWorkflowComponent implements OnInit { } saveAvisWorkflow() { - this.http.put(`../../rest/listinstances`, [{ resId: this.resId, listInstances: this.avisWorkflow.items }]).pipe( - tap((data: any) => { - this.avisWorkflowClone = JSON.parse(JSON.stringify(this.avisWorkflow.items)); - this.notify.success(this.lang.avisWorkflowUpdated); - }), - catchError((err: any) => { - this.notify.handleSoftErrors(err); - return of(false); - }) - ).subscribe(); + if (this.avisWorkflow.items.length === 0) { + this.http.delete(`../../rest/resources/${this.resId}/circuits/opinionCircuit`).pipe( + tap(() => { + this.avisWorkflowClone = JSON.parse(JSON.stringify(this.avisWorkflow.items)); + this.notify.success(this.lang.avisWorkflowDeleted); + }), + catchError((err: any) => { + this.notify.handleSoftErrors(err); + return of(false); + }) + ).subscribe(); + } else { + this.http.put(`../../rest/listinstances`, [{ resId: this.resId, listInstances: this.avisWorkflow.items }]).pipe( + tap((data: any) => { + this.avisWorkflowClone = JSON.parse(JSON.stringify(this.avisWorkflow.items)); + this.notify.success(this.lang.avisWorkflowUpdated); + }), + catchError((err: any) => { + this.notify.handleSoftErrors(err); + return of(false); + }) + ).subscribe(); + } + } addItemToWorkflow(item: any) { diff --git a/src/frontend/app/visa/visa-workflow.component.ts b/src/frontend/app/visa/visa-workflow.component.ts index 537bc4630e4..20f452be792 100644 --- a/src/frontend/app/visa/visa-workflow.component.ts +++ b/src/frontend/app/visa/visa-workflow.component.ts @@ -281,7 +281,18 @@ export class VisaWorkflowComponent implements OnInit { } saveVisaWorkflow() { - if (this.isValidWorkflow()) { + if (this.visaWorkflow.items.length === 0) { + this.http.delete(`../../rest/resources/${this.resId}/circuits/visaCircuit`).pipe( + tap(() => { + this.visaWorkflowClone = JSON.parse(JSON.stringify(this.visaWorkflow.items)); + this.notify.success(this.lang.visaWorkflowDeleted); + }), + catchError((err: any) => { + this.notify.handleSoftErrors(err); + return of(false); + }) + ).subscribe(); + } else if (this.isValidWorkflow()) { this.http.put(`../../rest/listinstances`, [{ resId: this.resId, listInstances: this.visaWorkflow.items }]).pipe( tap((data: any) => { this.visaWorkflowClone = JSON.parse(JSON.stringify(this.visaWorkflow.items)); diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index 0653cdc2503..8a0a7f08d9b 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -1392,6 +1392,7 @@ export const LANG_EN = { "modelDeleted" : "Model deleted", "modelSaved" : "Modèle saved", "visaWorkflowUpdated" : "Visa workflow updated", + "visaWorkflowDeleted" : "Visa workflow deleted", "publicModel" : "Public model", "privateModel" : "Private model", "moveVisaUserErr1" : "You cannot move", @@ -1399,6 +1400,7 @@ export const LANG_EN = { "moveAvisUserErr1" : "You cannot move", "moveAvisUserErr2" : "with users who have already given an opinion", "avisWorkflowUpdated" : "Opinion workflow updated", + "avisWorkflowDeleted" : "Opinion workflow deleted", "avisSent" : "Opinion given", "openFullscreen" : "Enable fullscreen", "closeFullscreen" : "Disable fullscreen", diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index 93910421734..64ab655a6e0 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1432,6 +1432,7 @@ export const LANG_FR = { "modelDeleted" : "Modèle supprimé", "modelSaved" : "Modèle sauvegardé", "visaWorkflowUpdated" : "Circuit de visa modifié", + "visaWorkflowDeleted" : "Circuit de visa supprimé", "publicModel" : "Modèle publique", "privateModel" : "Modèle privé", "moveVisaUserErr1" : "Vous ne pouvez pas déplacer", @@ -1439,6 +1440,7 @@ export const LANG_FR = { "moveAvisUserErr1" : "Vous ne pouvez pas déplacer", "moveAvisUserErr2" : "avec des personnes ayant déja donné un avis", "avisWorkflowUpdated" : "Circuit d'avis modifié", + "avisWorkflowDeleted" : "Circuit d'avis supprimé", "avisSent" : "Avis donné", "openFullscreen" : "Activer le mode plein écran", "closeFullscreen" : "Désactiver le mode plein écran", diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 5936028d720..7670fd7cfd9 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -1417,6 +1417,7 @@ export const LANG_NL = { "modelDeleted" : "Model deleted", //_TO_TRANSLATE "modelSaved" : "Modèle saved", //_TO_TRANSLATE "visaWorkflowUpdated" : "Visa workflow updated", //_TO_TRANSLATE + "visaWorkflowDeleted" : "Visa workflow deleted", //_TO_TRANSLATE "publicModel" : "Public model", //_TO_TRANSLATE "privateModel" : "Private model", //_TO_TRANSLATE "moveVisaUserErr1" : "You cannot move", //_TO_TRANSLATE @@ -1424,6 +1425,7 @@ export const LANG_NL = { "moveAvisUserErr1" : "You cannot move", //_TO_TRANSLATE "moveAvisUserErr2" : "with users who have already given an opinion", //_TO_TRANSLATE "avisWorkflowUpdated" : "Opinion workflow updated", //_TO_TRANSLATE + "avisWorkflowDeleted" : "Opinion workflow deleted", //_TO_TRANSLATE "avisSent" : "Opinion given", //_TO_TRANSLATE "openFullscreen" : "Enable fullscreen", //_TO_TRANSLATE "closeFullscreen" : "Disable fullscreen", //_TO_TRANSLATE -- GitLab