@@ -, +, @@
FormConfirmDelete component and routes
---
.../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
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue
+++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue
@@ -1,77 +0,0 @@
-
- {{ $__("Loading") }}
-
-
{{ $__("Delete agreement") }}
-
-
-
-
-
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue
+++ a/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
+ )
},
},
[
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsShow.vue
+++ a/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;
--- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js
+++ a/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,
--