Bugzilla – Attachment 147550 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: Agreements: Add delete dialog to show. Removed FormConfirmDelete component and routes
Bug-32991-Agreements-Add-delete-dialog-to-show-Rem.patch (text/plain), 11.20 KB, created by
Jonathan Druart
on 2023-03-01 09:50:29 UTC
(
hide
)
Description:
Bug 32991: Agreements: Add delete dialog to show. Removed FormConfirmDelete component and routes
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2023-03-01 09:50:29 UTC
Size:
11.20 KB
patch
obsolete
>From 83588e62b877cc948ed6f84e92e5a63838b5b035 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >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 <jonathan.druart@bugs.koha-community.org> >--- > .../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 @@ >-<template> >- <div v-if="!initialized">{{ $__("Loading") }}</div> >- <div v-else id="agreements_confirm_delete"> >- <h2>{{ $__("Delete agreement") }}</h2> >- <div> >- <form @submit="onSubmit($event)"> >- <fieldset class="rows"> >- <ol> >- <li> >- {{ $__("Agreement name") }}: >- {{ agreement.name }} >- </li> >- <li>{{ $__("Vendor") }}: {{ agreement.vendor_id }}</li> >- <li> >- {{ $__("Description") }}: >- {{ agreement.description }} >- </li> >- </ol> >- </fieldset> >- <fieldset class="action"> >- <ButtonSubmit :text="$__('Yes, delete')" /> >- <router-link >- to="/cgi-bin/koha/erm/agreements" >- 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" >-import ButtonSubmit from "../ButtonSubmit.vue" >- >-export default { >- data() { >- return { >- agreement: {}, >- initialized: false, >- } >- }, >- beforeRouteEnter(to, from, next) { >- next(vm => { >- vm.getAgreement(to.params.agreement_id) >- }) >- }, >- methods: { >- async getAgreement(agreement_id) { >- const client = APIClient.erm >- client.agreements.get(agreement_id).then(data => { >- this.agreement = data >- this.initialized = true >- }) >- }, >- onSubmit(e) { >- e.preventDefault() >- >- const client = APIClient.erm >- client.agreements.delete(this.agreement.agreement_id).then( >- success => { >- setMessage(this.$__("Agreement deleted")) >- this.$router.push("/cgi-bin/koha/erm/agreements") >- }, >- error => {} >- ) >- }, >- }, >- components: { >- ButtonSubmit, >- }, >- name: "AgreementsFormConfirmDelete", >-} >-</script> >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')" > ><i class="fa fa-pencil"></i > ></router-link> >- >- <router-link >- :to="`/cgi-bin/koha/erm/agreements/delete/${agreement.agreement_id}`" >- :title="$__('Delete')" >+ <a >+ @click=" >+ delete_agreement(agreement.agreement_id, agreement.name) >+ " > ><i class="fa fa-trash"></i >- ></router-link> >+ ></a> > </span> > </h2> > <div> >@@ -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
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