From 83588e62b877cc948ed6f84e92e5a63838b5b035 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Mon, 27 Feb 2023 15:22:48 +0000 Subject: [PATCH] Bug 32991: Agreements: Add delete dialog to show. Removed FormConfirmDelete component and routes Signed-off-by: Jonathan Druart --- .../ERM/AgreementsFormConfirmDelete.vue | 77 ------------------- .../js/vue/components/ERM/AgreementsList.vue | 29 +++++-- .../js/vue/components/ERM/AgreementsShow.vue | 41 ++++++++-- .../intranet-tmpl/prog/js/vue/routes/erm.js | 12 --- 4 files changed, 58 insertions(+), 101 deletions(-) delete mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue deleted file mode 100644 index 991c4a8770f..00000000000 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue index 251c4c892a4..fed6a2754e1 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue @@ -49,7 +49,7 @@ export default { const AVStore = inject("AVStore") const { get_lib_from_av, map_av_dt_filter } = AVStore - const { setConfirmation, setMessage } = inject("mainStore") + const { setConfirmationDialog, setMessage } = inject("mainStore") const table_id = "agreement_list" useDataTable(table_id) @@ -59,7 +59,7 @@ export default { get_lib_from_av, map_av_dt_filter, table_id, - setConfirmation, + setConfirmationDialog, setMessage, } }, @@ -114,14 +114,25 @@ export default { "/cgi-bin/koha/erm/agreements/edit/" + agreement_id ) }, - delete_agreement: function (agreement_id) { - this.setConfirmation( - this.$__("Are you sure you want to remove this agreement?"), + delete_agreement: function (agreement_id, agreement_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this agreement?" + ), + message: agreement_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, () => { const client = APIClient.erm client.agreements.delete(agreement_id).then( success => { - this.setMessage(this.$__("Agreement deleted")) + this.setMessage( + this.$__("Agreement %s deleted").format( + agreement_name + ) + ) this.refresh_table() }, error => {} @@ -314,6 +325,7 @@ export default { let agreement_id = api .row(tr) .data().agreement_id + let agreement_name = api.row(tr).data().name let editButton = createVNode( "a", { @@ -338,7 +350,10 @@ export default { class: "btn btn-default btn-xs", role: "button", onClick: () => { - delete_agreement(agreement_id) + delete_agreement( + agreement_id, + agreement_name + ) }, }, [ diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue index b249bb8738f..8ff0d30047b 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue @@ -9,12 +9,12 @@ :title="$__('Edit')" > - - + >
@@ -307,6 +307,8 @@ export default { const format_date = $date const patron_to_html = $patron_to_html + const { setConfirmationDialog, setMessage } = inject("mainStore") + const AVStore = inject("AVStore") const { get_lib_from_av } = AVStore @@ -314,6 +316,8 @@ export default { format_date, patron_to_html, get_lib_from_av, + setConfirmationDialog, + setMessage, } }, data() { @@ -355,6 +359,32 @@ export default { error => {} ) }, + delete_agreement: function (agreement_id, agreement_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this agreement?" + ), + message: agreement_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, + () => { + const client = APIClient.erm + client.agreements.delete(agreement_id).then( + success => { + this.setMessage( + this.$__("Agreement %s deleted").format( + agreement_name + ) + ) + this.$router.push("/cgi-bin/koha/erm/agreements") + }, + error => {} + ) + } + ) + }, }, name: "AgreementsShow", } @@ -363,6 +393,7 @@ export default { .action_links a { padding-left: 0.2em; font-size: 11px; + cursor: pointer; } #agreement_documents ul { padding-left: 0px; diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js index 07379875646..fb85986919f 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js @@ -2,7 +2,6 @@ import Home from "../components/ERM/Home.vue"; import AgreementsList from "../components/ERM/AgreementsList.vue"; import AgreementsShow from "../components/ERM/AgreementsShow.vue"; import AgreementsFormAdd from "../components/ERM/AgreementsFormAdd.vue"; -import AgreementsFormConfirmDelete from "../components/ERM/AgreementsFormConfirmDelete.vue"; import EHoldingsLocalPackagesFormAdd from "../components/ERM/EHoldingsLocalPackagesFormAdd.vue"; import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesFormAdd.vue"; import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue"; @@ -148,17 +147,6 @@ export const routes = [ ), }, }, - { - path: "delete/:agreement_id", - component: AgreementsFormConfirmDelete, - meta: { - breadcrumb: () => - build_breadcrumb( - breadcrumb_paths.agreements, - "Delete agreement" // $t("Delete agreement") - ), - }, - }, { path: "add", component: AgreementsFormAdd, -- 2.25.1