Bugzilla – Attachment 147944 Details for
Bug 32991
Improve our Dialog component and remove routes for deletion
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 32991: Licenses: Add delete dialog to list and show. Removed FormConfirmDelete component and routes
Bug-32991-Licenses-Add-delete-dialog-to-list-and-s.patch (text/plain), 11.11 KB, created by
Agustín Moyano
on 2023-03-08 14:39:59 UTC
(
hide
)
Description:
Bug 32991: Licenses: Add delete dialog to list and show. Removed FormConfirmDelete component and routes
Filename:
MIME Type:
Creator:
Agustín Moyano
Created:
2023-03-08 14:39:59 UTC
Size:
11.11 KB
patch
obsolete
>From ab439bcec6078a460ba6311f9f002af985d16675 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Date: Fri, 24 Feb 2023 17:01:15 +0000 >Subject: [PATCH] Bug 32991: Licenses: 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 <jonathan.druart@bugs.koha-community.org> > >Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Signed-off-by: AgustÃn Moyano <agustinmoyano@theke.io> >--- > .../ERM/LicensesFormConfirmDelete.vue | 77 ------------------- > .../js/vue/components/ERM/LicensesList.vue | 40 +++++++++- > .../js/vue/components/ERM/LicensesShow.vue | 37 ++++++++- > .../intranet-tmpl/prog/js/vue/routes/erm.js | 12 --- > 4 files changed, 70 insertions(+), 96 deletions(-) > delete mode 100644 koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormConfirmDelete.vue > >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormConfirmDelete.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormConfirmDelete.vue >deleted file mode 100644 >index 0bf3dbfefa..0000000000 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormConfirmDelete.vue >+++ /dev/null >@@ -1,77 +0,0 @@ >-<template> >- <div v-if="!initialized">{{ $__("Loading") }}</div> >- <div v-else id="licenses_confirm_delete"> >- <h2>{{ $__("Delete license") }}</h2> >- <div> >- <form @submit="onSubmit($event)"> >- <fieldset class="rows"> >- <ol> >- <li> >- {{ $__("License name") }}: >- {{ license.name }} >- </li> >- <li> >- {{ $__("Description") }}: >- {{ license.description }} >- </li> >- </ol> >- </fieldset> >- <fieldset class="action"> >- <input >- type="submit" >- variant="primary" >- :value="$__('Yes, delete')" >- /> >- <router-link >- to="/cgi-bin/koha/erm/licenses" >- role="button" >- class="cancel" >- >{{ $__("No, do not delete") }}</router-link >- > >- </fieldset> >- </form> >- </div> >- </div> >-</template> >- >-<script> >-import { APIClient } from "../../fetch/api-client.js" >-import { setMessage } from "../../messages" >- >-export default { >- data() { >- return { >- license: {}, >- initialized: false, >- } >- }, >- beforeRouteEnter(to, from, next) { >- next(vm => { >- vm.license = vm.getLicense(to.params.license_id) >- vm.initialized = true >- }) >- }, >- methods: { >- async getLicense(license_id) { >- const client = APIClient.erm >- client.licenses.get(license_id).then(data => { >- this.license = data >- this.initialized = true >- }) >- }, >- onSubmit(e) { >- e.preventDefault() >- >- const client = APIClient.erm >- client.licenses.delete(this.license.license_id).then( >- success => { >- setMessage(this.$__("License deleted")) >- this.$router.push("/cgi-bin/koha/erm/licenses") >- }, >- error => {} >- ) >- }, >- }, >- name: "LicensesFormConfirmDelete", >-} >-</script> >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue >index 84eb25bf44..27137fd058 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue >@@ -26,6 +26,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 = "license_list" > useDataTable(table_id) > >@@ -34,6 +36,8 @@ export default { > get_lib_from_av, > map_av_dt_filter, > table_id, >+ setConfirmationDialog, >+ setMessage, > } > }, > data: function () { >@@ -64,8 +68,34 @@ export default { > edit_license: function (license_id) { > this.$router.push("/cgi-bin/koha/erm/licenses/edit/" + license_id) > }, >- delete_license: function (license_id) { >- this.$router.push("/cgi-bin/koha/erm/licenses/delete/" + license_id) >+ delete_license: function (license_id, license_name) { >+ this.setConfirmationDialog( >+ { >+ title: this.$__( >+ "Are you sure you want to remove this license?" >+ ), >+ message: license_name, >+ accept_label: this.$__("Yes, delete"), >+ cancel_label: this.$__("No, do not delete"), >+ }, >+ () => { >+ const client = APIClient.erm >+ client.licenses.delete(license_id).then( >+ success => { >+ this.setMessage( >+ this.$__("License %s deleted").format( >+ license_name >+ ) >+ ) >+ $("#" + this.table_id) >+ .DataTable() >+ .ajax.url("/api/v1/erm/licenses") >+ .draw() >+ }, >+ error => {} >+ ) >+ } >+ ) > }, > build_datatable: function () { > let show_license = this.show_license >@@ -203,6 +233,7 @@ export default { > function (index, e) { > let tr = $(this).parent().parent() > let license_id = api.row(tr).data().license_id >+ let license_name = api.row(tr).data().name > let editButton = createVNode( > "a", > { >@@ -227,7 +258,10 @@ export default { > class: "btn btn-default btn-xs", > role: "button", > onClick: () => { >- delete_license(license_id) >+ delete_license( >+ license_id, >+ license_name >+ ) > }, > }, > [ >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue >index bf77b9f613..e7d2810be3 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesShow.vue >@@ -9,11 +9,9 @@ > :title="$__('Edit')" > ><i class="fa fa-pencil"></i > ></router-link> >- <router-link >- :to="`/cgi-bin/koha/erm/licenses/delete/${license.license_id}`" >- :title="$__('Delete')" >+ <a @click="delete_license(license.license_id, license.name)" > ><i class="fa fa-trash"></i >- ></router-link> >+ ></a> > </span> > </h2> > <div> >@@ -152,6 +150,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 > >@@ -159,6 +159,8 @@ export default { > format_date, > patron_to_html, > get_lib_from_av, >+ setConfirmationDialog, >+ setMessage, > } > }, > data() { >@@ -194,6 +196,32 @@ export default { > error => {} > ) > }, >+ delete_license: function (license_id, license_name) { >+ this.setConfirmationDialog( >+ { >+ title: this.$__( >+ "Are you sure you want to remove this license?" >+ ), >+ message: license_name, >+ accept_label: this.$__("Yes, delete"), >+ cancel_label: this.$__("No, do not delete"), >+ }, >+ () => { >+ const client = APIClient.erm >+ client.licenses.delete(license_id).then( >+ success => { >+ this.setMessage( >+ this.$__("License %s deleted").format( >+ license_name >+ ) >+ ) >+ this.$router.push("/cgi-bin/koha/erm/licenses") >+ }, >+ error => {} >+ ) >+ } >+ ) >+ }, > }, > components: {}, > name: "LicensesShow", >@@ -203,6 +231,7 @@ export default { > .action_links a { > padding-left: 0.2em; > font-size: 11px; >+ cursor: pointer; > } > #license_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 127e910f6d..0737987564 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >@@ -19,7 +19,6 @@ import EHoldingsEBSCOTitlesShow from "../components/ERM/EHoldingsEBSCOTitlesShow > import LicensesList from "../components/ERM/LicensesList.vue"; > import LicensesShow from "../components/ERM/LicensesShow.vue"; > import LicensesFormAdd from "../components/ERM/LicensesFormAdd.vue"; >-import LicensesFormConfirmDelete from "../components/ERM/LicensesFormConfirmDelete.vue"; > > const breadcrumbs = { > home: { >@@ -470,17 +469,6 @@ export const routes = [ > ), > }, > }, >- { >- path: "delete/:license_id", >- component: LicensesFormConfirmDelete, >- meta: { >- breadcrumb: () => >- build_breadcrumb( >- breadcrumb_paths.licenses, >- "Delete license" // $t("Delete license") >- ), >- }, >- }, > { > path: "add", > component: LicensesFormAdd, >-- >2.25.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 32991
:
146828
|
146829
|
147051
|
147052
|
147053
|
147054
|
147082
|
147083
|
147281
|
147282
|
147291
|
147305
|
147350
|
147383
|
147384
|
147385
|
147387
|
147388
|
147389
|
147390
|
147391
|
147392
|
147393
|
147394
|
147429
|
147439
|
147445
|
147447
|
147448
|
147449
|
147450
|
147451
|
147452
|
147453
|
147454
|
147455
|
147456
|
147461
|
147483
|
147485
|
147486
|
147487
|
147542
|
147543
|
147544
|
147545
|
147546
|
147547
|
147548
|
147549
|
147550
|
147551
|
147552
|
147553
|
147554
|
147569
|
147573
|
147584
|
147588
|
147589
|
147590
|
147591
|
147592
|
147593
|
147594
|
147595
|
147596
|
147597
|
147598
|
147599
|
147600
|
147601
|
147602
|
147603
|
147604
|
147937
|
147938
|
147939
|
147940
|
147941
|
147942
|
147943
| 147944 |
147945
|
147946
|
147947
|
147948
|
147949
|
147950
|
147951