From 4fae8617c24a266064c10e97266dfdc1cfa7624c Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Fri, 24 Feb 2023 18:30:54 +0000 Subject: [PATCH] Bug 32991: Local Packages: Add delete dialog to list and show. Removed FormConfirmDelete component and routes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonathan Druart Signed-off-by: Pedro Amorim Signed-off-by: Agustín Moyano --- ...HoldingsLocalPackagesFormConfirmDelete.vue | 76 ------------------- .../ERM/EHoldingsLocalPackagesList.vue | 43 +++++++++-- .../ERM/EHoldingsLocalPackagesShow.vue | 42 +++++++++- .../intranet-tmpl/prog/js/vue/routes/erm.js | 17 ----- 4 files changed, 76 insertions(+), 102 deletions(-) delete mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue deleted file mode 100644 index 352e18b01d7..00000000000 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue index 348edf92df7..24871fc9736 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesList.vue @@ -32,6 +32,8 @@ export default { const AVStore = inject("AVStore") const { get_lib_from_av, map_av_dt_filter } = AVStore + const { setConfirmationDialog, setMessage } = inject("mainStore") + const table_id = "package_list" useDataTable(table_id) @@ -40,6 +42,8 @@ export default { get_lib_from_av, map_av_dt_filter, table_id, + setConfirmationDialog, + setMessage, } }, data: function () { @@ -78,10 +82,35 @@ export default { "/cgi-bin/koha/erm/eholdings/local/packages/edit/" + package_id ) }, - delete_package: function (package_id) { - this.$router.push( - "/cgi-bin/koha/erm/eholdings/local/packages/delete/" + - package_id + delete_package: function (package_id, package_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this package?" + ), + message: package_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, + () => { + const client = APIClient.erm + client.localPackages.delete(package_id).then( + success => { + this.setMessage( + this.$__("Local package %s deleted").format( + package_name + ) + ) + $("#" + this.table_id) + .DataTable() + .ajax.url( + "/api/v1/erm/eholdings/local/packages" + ) + .draw() + }, + error => {} + ) + } ) }, build_datatable: function () { @@ -205,6 +234,7 @@ export default { function (index, e) { let tr = $(this).parent().parent() let package_id = api.row(tr).data().package_id + let package_name = api.row(tr).data().name let editButton = createVNode( "a", { @@ -229,7 +259,10 @@ export default { class: "btn btn-default btn-xs", role: "button", onClick: () => { - delete_package(package_id) + delete_package( + package_id, + package_name + ) }, }, [ diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesShow.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesShow.vue index f0bdd271081..65ea9810735 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesShow.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalPackagesShow.vue @@ -10,11 +10,12 @@ > - + >
@@ -112,12 +113,16 @@ export default { setup() { const format_date = $date + const { setConfirmationDialog, setMessage } = inject("mainStore") + const AVStore = inject("AVStore") const { get_lib_from_av } = AVStore return { format_date, get_lib_from_av, + setConfirmationDialog, + setMessage, } }, data() { @@ -155,6 +160,34 @@ export default { error => {} ) }, + delete_package: function (package_id, package_name) { + this.setConfirmationDialog( + { + title: this.$__( + "Are you sure you want to remove this package?" + ), + message: package_name, + accept_label: this.$__("Yes, delete"), + cancel_label: this.$__("No, do not delete"), + }, + () => { + const client = APIClient.erm + client.localPackages.delete(package_id).then( + success => { + this.setMessage( + this.$__("Local package %s deleted").format( + package_name + ) + ) + this.$router.push( + "/cgi-bin/koha/erm/eholdings/local/packages" + ) + }, + error => {} + ) + } + ) + }, }, components: { EHoldingsPackageTitlesList, @@ -166,6 +199,7 @@ export default { .action_links a { padding-left: 0.2em; font-size: 11px; + cursor: pointer; } fieldset.rows label { width: 25rem; 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 dd84078ea5e..127e910f6dd 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js @@ -8,7 +8,6 @@ import EHoldingsLocalTitlesFormAdd from "../components/ERM/EHoldingsLocalTitlesF import EHoldingsLocalTitlesFormImport from "../components/ERM/EHoldingsLocalTitlesFormImport.vue"; import EHoldingsLocalPackagesList from "../components/ERM/EHoldingsLocalPackagesList.vue"; import EHoldingsLocalPackagesShow from "../components/ERM/EHoldingsLocalPackagesShow.vue"; -import EHoldingsLocalPackagesFormConfirmDelete from "../components/ERM/EHoldingsLocalPackagesFormConfirmDelete.vue"; import EHoldingsLocalResourcesShow from "../components/ERM/EHoldingsLocalResourcesShow.vue"; import EHoldingsLocalTitlesList from "../components/ERM/EHoldingsLocalTitlesList.vue"; import EHoldingsLocalTitlesShow from "../components/ERM/EHoldingsLocalTitlesShow.vue"; @@ -236,22 +235,6 @@ export const routes = [ ), }, }, - { - path: "delete/:package_id", - component: - EHoldingsLocalPackagesFormConfirmDelete, - meta: { - breadcrumb: () => - build_breadcrumb( - [ - breadcrumb_paths.eholdings_local, - breadcrumbs.eholdings.local - .packages, - ], - "Delete package" // $t("Delete package") - ), - }, - }, { path: "add", component: EHoldingsLocalPackagesFormAdd, -- 2.25.1