From 472f50b09586fb760958b24af5fc2c84702ac9db Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Thu, 9 Feb 2023 16:18:10 +0000 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 --- .../vue/components/ERM/AgreementsFormAdd.vue | 6 ++-- .../ERM/AgreementsFormConfirmDelete.vue | 4 +-- .../js/vue/components/ERM/AgreementsList.vue | 11 +++++--- .../js/vue/components/ERM/AgreementsShow.vue | 14 +++++----- .../vue/components/ERM/AgreementsToolbar.vue | 2 +- .../prog/js/vue/components/ERM/ERMMain.vue | 2 +- koha-tmpl/intranet-tmpl/prog/js/vue/routes.js | 28 +++++++++++++++++++ 7 files changed, 49 insertions(+), 18 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 b21340f562a..7a401e639cd 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 @@ -171,7 +171,7 @@
{{ $__("Cancel") }} { if (response.status == 200) { - this.$router.push("/cgi-bin/koha/erm/agreements") + this.$router.push({ name: 'AgreementsList' }) setMessage(this.$__("Agreement updated")) } else if (response.status == 201) { - this.$router.push("/cgi-bin/koha/erm/agreements") + this.$router.push({ name: 'AgreementsList' }) setMessage(this.$__("Agreement created")) } else { setError(response.message || response.statusText) 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 index 5a98d042046..0b1b45fed98 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue @@ -24,7 +24,7 @@ :value="$__('Yes, delete')" /> {{ $__("No, do not delete") }} { if (response.status == 204) { setMessage(this.$__("Agreement deleted")) - this.$router.push("/cgi-bin/koha/erm/agreements") + this.$router.push({ name: 'AgreementsList' }) } else { setError(response.message || response.statusText) } 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 e376b3c3198..dd7ed2ae57c 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 @@ -98,16 +98,18 @@ export default { this.initialized = true }, 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 + { name: 'AgreementsFormAddEdit', params: { agreement_id: agreement_id }} ) }, delete_agreement: function (agreement_id) { this.$router.push( - "/cgi-bin/koha/erm/agreements/delete/" + agreement_id + { name: 'AgreementsFormConfirmDelete', params: { agreement_id: agreement_id }} ) }, select_agreement: function (agreement_id) { @@ -116,8 +118,9 @@ export default { }, filter_table: async function () { if (this.before_route_entered) { + let { href } = this.$router.resolve({ name: 'AgreementsList' }) let new_route = build_url( - "/cgi-bin/koha/erm/agreements", + href, this.filters ) this.$router.push(new_route) 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 df8afa093f7..49e86dac023 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,13 +5,13 @@ {{ $__("Agreement #%s").format(agreement.agreement_id) }} @@ -159,7 +159,7 @@ > {{ agreement_license.license.name }} @@ -196,7 +196,7 @@ > {{ relationship.related_agreement.name }} {{ agreement_package.package.name }} {{ agreement_package.package.name }}
{{ $__("Close") }}
{{ $__("New agreement") }}
  • {{ $__("Agreements") }} [breadcrumbs.home, breadcrumbs.erm_home], @@ -136,6 +137,7 @@ export const routes = [ children: [ { path: "", + name: "AgreementsList", component: AgreementsList, meta: { breadcrumb: () => breadcrumb_paths.agreements, @@ -143,6 +145,7 @@ export const routes = [ }, { path: ":agreement_id", + name: "AgreementsShow", component: AgreementsShow, meta: { breadcrumb: () => @@ -154,6 +157,7 @@ export const routes = [ }, { path: "delete/:agreement_id", + name: "AgreementsFormConfirmDelete", component: AgreementsFormConfirmDelete, meta: { breadcrumb: () => @@ -165,6 +169,7 @@ export const routes = [ }, { path: "add", + name: "AgreementsFormAdd", component: AgreementsFormAdd, meta: { breadcrumb: () => @@ -176,6 +181,7 @@ export const routes = [ }, { path: "edit/:agreement_id", + name: "AgreementsFormAddEdit", component: AgreementsFormAdd, meta: { breadcrumb: () => @@ -213,6 +219,7 @@ export const routes = [ children: [ { path: "", + name: "EHoldingsLocalPackagesList", component: EHoldingsLocalPackagesList, meta: { breadcrumb: () => @@ -225,6 +232,7 @@ export const routes = [ }, { path: ":package_id", + name: "EHoldingsLocalPackagesShow", component: EHoldingsLocalPackagesShow, meta: { breadcrumb: () => @@ -240,6 +248,7 @@ export const routes = [ }, { path: "delete/:package_id", + name: "EHoldingsLocalPackagesFormConfirmDelete", component: EHoldingsLocalPackagesFormConfirmDelete, meta: { @@ -256,6 +265,7 @@ export const routes = [ }, { path: "add", + name: "EHoldingsLocalPackagesFormAdd", component: EHoldingsLocalPackagesFormAdd, meta: { breadcrumb: () => @@ -271,6 +281,7 @@ export const routes = [ }, { path: "edit/:package_id", + name: "EHoldingsLocalPackagesFormAddEdit", component: EHoldingsLocalPackagesFormAdd, meta: { breadcrumb: () => @@ -291,6 +302,7 @@ export const routes = [ children: [ { path: "", + name: "EHoldingsLocalTitlesList", component: EHoldingsLocalTitlesList, meta: { breadcrumb: () => @@ -302,6 +314,7 @@ export const routes = [ }, { path: ":title_id", + name: "EHoldingsLocalTitlesShow", component: EHoldingsLocalTitlesShow, meta: { breadcrumb: () => @@ -317,6 +330,7 @@ export const routes = [ }, { path: "delete/:title_id", + name: "EHoldingsLocalTitlesFormConfirmDelete", component: EHoldingsLocalTitlesFormConfirmDelete, meta: { @@ -333,6 +347,7 @@ export const routes = [ }, { path: "add", + name: "EHoldingsLocalTitlesFormAdd", component: EHoldingsLocalTitlesFormAdd, meta: { breadcrumb: () => @@ -348,6 +363,7 @@ export const routes = [ }, { path: "edit/:title_id", + name: "EHoldingsLocalTitlesFormAddEdit", component: EHoldingsLocalTitlesFormAdd, meta: { breadcrumb: () => @@ -363,6 +379,7 @@ export const routes = [ }, { path: "import", + name: "EHoldingsLocalTitlesFormImport", component: EHoldingsLocalTitlesFormImport, meta: { breadcrumb: () => @@ -380,6 +397,7 @@ export const routes = [ }, { path: "resources/:resource_id", + name: "EHoldingsLocalResourcesShow", component: EHoldingsLocalResourcesShow, meta: { breadcrumb: () => @@ -408,6 +426,7 @@ export const routes = [ children: [ { path: "", + name: "EHoldingsEBSCOPackagesList", component: EHoldingsEBSCOPackagesList, meta: { breadcrumb: () => @@ -420,6 +439,7 @@ export const routes = [ }, { path: ":package_id", + name: "EHoldingsEBSCOPackagesShow", component: EHoldingsEBSCOPackagesShow, meta: { breadcrumb: () => @@ -440,6 +460,7 @@ export const routes = [ children: [ { path: "", + name: "EHoldingsEBSCOTitlesList", component: EHoldingsEBSCOTitlesList, meta: { breadcrumb: () => @@ -451,6 +472,7 @@ export const routes = [ }, { path: ":title_id", + name: "EHoldingsEBSCOTitlesShow", component: EHoldingsEBSCOTitlesShow, meta: { breadcrumb: () => @@ -468,6 +490,7 @@ export const routes = [ }, { path: "resources/:resource_id", + name: "EHoldingsEBSCOResourcesShow", component: EHoldingsEBSCOResourcesShow, meta: { breadcrumb: () => @@ -489,6 +512,7 @@ export const routes = [ children: [ { path: "", + name: "LicensesList", component: LicensesList, meta: { breadcrumb: () => breadcrumb_paths.licenses, @@ -496,6 +520,7 @@ export const routes = [ }, { path: ":license_id", + name: "LicensesShow", component: LicensesShow, meta: { breadcrumb: () => @@ -507,6 +532,7 @@ export const routes = [ }, { path: "delete/:license_id", + name: "LicensesFormConfirmDelete", component: LicensesFormConfirmDelete, meta: { breadcrumb: () => @@ -518,6 +544,7 @@ export const routes = [ }, { path: "add", + name: "LicensesFormAdd", component: LicensesFormAdd, meta: { breadcrumb: () => @@ -529,6 +556,7 @@ export const routes = [ }, { path: "edit/:license_id", + name: "LicensesFormAddEdit", component: LicensesFormAdd, meta: { breadcrumb: () => -- 2.37.1 (Apple Git-137.1)