From 395f55097ea8cdc0d3049c84c036ac552c270588 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Tue, 21 Mar 2023 16:14:45 -0300 Subject: [PATCH] Bug 32932: Update router to use object references - agreements This patch updates the Vue files for ERM to use router object links rather than urls - this will make it much simpler to maintain the router if urls need to be updated. This first patch only updates the files in the agreements section of ERM as a first step to introduce the topic for discussion. Test plan: 1) Apply patch 2) Navigate to the Agreements section of ERM and click on different navigation links/buttons 3) The links/buttons should all work as normal 4) Review the code to see that the component files now refer back to the router using objects rather than url strings Signed-off-by: Agustin Moyano --- .../vue/components/ERM/AgreementsFormAdd.vue | 6 +-- .../js/vue/components/ERM/AgreementsList.vue | 18 ++++---- .../js/vue/components/ERM/AgreementsShow.vue | 45 ++++++++++++++++--- .../vue/components/ERM/AgreementsToolbar.vue | 2 +- .../prog/js/vue/components/ERM/Main.vue | 2 +- .../intranet-tmpl/prog/js/vue/routes/erm.js | 24 ++++++++++ 6 files changed, 77 insertions(+), 20 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue index bafe8ee118..118591229a 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormAdd.vue @@ -167,7 +167,7 @@
{{ $__("Cancel") }} { setMessage(this.$__("Agreement updated")) - this.$router.push("/cgi-bin/koha/erm/agreements") + this.$router.push({ name: "AgreementsList" }) }, error => {} ) @@ -384,7 +384,7 @@ export default { client.agreements.create(agreement).then( success => { setMessage(this.$__("Agreement created")) - this.$router.push("/cgi-bin/koha/erm/agreements") + this.$router.push({ name: "AgreementsList" }) }, error => {} ) 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 e14b114249..d00d6171ae 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 @@ -117,12 +117,16 @@ export default { ) }, show_agreement: function (agreement_id) { - this.$router.push("/cgi-bin/koha/erm/agreements/" + agreement_id) + this.$router.push({ + name: "AgreementsShow", + params: { agreement_id: agreement_id }, + }) }, edit_agreement: function (agreement_id) { - this.$router.push( - "/cgi-bin/koha/erm/agreements/edit/" + agreement_id - ) + this.$router.push({ + name: "AgreementsFormAddEdit", + params: { agreement_id: agreement_id }, + }) }, delete_agreement: function (agreement_id, agreement_name) { this.setConfirmationDialog( @@ -163,10 +167,8 @@ export default { }, filter_table: async function () { if (this.before_route_entered) { - let new_route = build_url( - "/cgi-bin/koha/erm/agreements", - this.filters - ) + let { href } = this.$router.resolve({ name: "AgreementsList" }) + let new_route = build_url(href, this.filters) this.$router.push(new_route) } if (this.filters.by_expired) { 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 4bc8d8be17..48a7d22dbb 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 @@ -5,7 +5,10 @@ {{ $__("Agreement #%s").format(agreement.agreement_id) }} @@ -159,7 +162,13 @@ > {{ agreement_license.license.name }} @@ -196,7 +205,15 @@ > {{ relationship.related_agreement.name }} {{ agreement_package.package.name }} {{ agreement_package.package.name }}
{{ $__("Close") }} {} ) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsToolbar.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsToolbar.vue index 035c326683..6837c94150 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsToolbar.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsToolbar.vue @@ -1,7 +1,7 @@