Bugzilla – Attachment 147119 Details for
Bug 32932
Re-structure Vue router-links to use "name" instead of urls
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug_32932: Update router to use object references - agreements
Bug32932-Update-router-to-use-object-references---.patch (text/plain), 22.57 KB, created by
Matt Blenkinsop
on 2023-02-22 10:47:04 UTC
(
hide
)
Description:
Bug_32932: Update router to use object references - agreements
Filename:
MIME Type:
Creator:
Matt Blenkinsop
Created:
2023-02-22 10:47:04 UTC
Size:
22.57 KB
patch
obsolete
>From bb93a922b07ddad464e63d62167504f7d7fc1aca Mon Sep 17 00:00:00 2001 >From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> >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 | 25 +++++----- > .../js/vue/components/ERM/AgreementsShow.vue | 48 ++++++++++++++++--- > .../vue/components/ERM/AgreementsToolbar.vue | 4 +- > .../prog/js/vue/components/ERM/Main.vue | 2 +- > .../intranet-tmpl/prog/js/vue/routes/erm.js | 28 +++++++++++ > 7 files changed, 90 insertions(+), 27 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 71dfa09b862..6d4f466c50c 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 @@ > <fieldset class="action"> > <ButtonSubmit /> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > role="button" > class="cancel" > >{{ $__("Cancel") }}</router-link >@@ -380,7 +380,7 @@ export default { > client.agreements.update(agreement, agreement_id).then( > success => { > setMessage(this.$__("Agreement updated")) >- this.$router.push("/cgi-bin/koha/erm/agreements") >+ this.$router.push({ name: "AgreementsList" }) > }, > error => {} > ) >@@ -388,7 +388,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/AgreementsFormConfirmDelete.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue >index 991c4a8770f..eb0d3b603b7 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 >@@ -20,7 +20,7 @@ > <fieldset class="action"> > <ButtonSubmit :text="$__('Yes, delete')" /> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > role="button" > class="cancel" > >{{ $__("No, do not delete") }}</router-link >@@ -63,7 +63,7 @@ export default { > client.agreements.delete(this.agreement.agreement_id).then( > success => { > setMessage(this.$__("Agreement deleted")) >- 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 9394f1c08d3..d5a79030d72 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 >@@ -103,17 +103,22 @@ 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) { >- this.$router.push( >- "/cgi-bin/koha/erm/agreements/delete/" + agreement_id >- ) >+ this.$router.push({ >+ name: "AgreementsFormConfirmDelete", >+ params: { agreement_id: agreement_id }, >+ }) > }, > select_agreement: function (agreement_id) { > this.$emit("select-agreement", agreement_id) >@@ -121,10 +126,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 b249bb8738f..f6f80264109 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,19 @@ > {{ $__("Agreement #%s").format(agreement.agreement_id) }} > <span class="action_links"> > <router-link >- :to="`/cgi-bin/koha/erm/agreements/edit/${agreement.agreement_id}`" >+ :to="{ >+ name: 'AgreementsFormAddEdit', >+ params: { agreement_id: agreement.agreement_id }, >+ }" > :title="$__('Edit')" > ><i class="fa fa-pencil"></i > ></router-link> > > <router-link >- :to="`/cgi-bin/koha/erm/agreements/delete/${agreement.agreement_id}`" >+ :to="{ >+ name: 'AgreementsFormConfirmDelete', >+ params: { agreement_id: agreement.agreement_id }, >+ }" > :title="$__('Delete')" > ><i class="fa fa-trash"></i > ></router-link> >@@ -159,7 +165,13 @@ > > > <td> > <router-link >- :to="`/cgi-bin/koha/erm/licenses/${agreement_license.license_id}`" >+ :to="{ >+ name: 'LicensesShow', >+ params: { >+ license_id: >+ agreement_license.license_id, >+ }, >+ }" > > > {{ agreement_license.license.name }} > </router-link> >@@ -196,7 +208,15 @@ > > > <span > ><router-link >- :to="`/cgi-bin/koha/erm/agreements/${relationship.related_agreement.agreement_id}`" >+ :to="{ >+ name: 'AgreementsShow', >+ params: { >+ agreement_id: >+ relationship >+ .related_agreement >+ .agreement_id, >+ }, >+ }" > >{{ > relationship.related_agreement.name > }}</router-link >@@ -228,7 +248,14 @@ > " > > > <router-link >- :to="`/cgi-bin/koha/erm/eholdings/ebsco/packages/${agreement_package.package.external_id}`" >+ :to="{ >+ name: 'EHoldingsEBSCOPackagesShow', >+ params: { >+ package_id: >+ agreement_package.package >+ .external_id, >+ }, >+ }" > >{{ > agreement_package.package.name > }}</router-link >@@ -237,7 +264,14 @@ > > > <span v-else > ><router-link >- :to="`/cgi-bin/koha/erm/eholdings/local/packages/${agreement_package.package.package_id}`" >+ :to="{ >+ name: 'EHoldingsLocalPackagesShow', >+ params: { >+ package_id: >+ agreement_package.package >+ .package_id, >+ }, >+ }" > >{{ > agreement_package.package.name > }}</router-link >@@ -288,7 +322,7 @@ > </fieldset> > <fieldset class="action"> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > role="button" > class="cancel" > >{{ $__("Close") }}</router-link >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 035c3266835..b61ceec2fca 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,8 +1,6 @@ > <template> > <div id="toolbar" class="btn-toolbar"> >- <router-link >- to="/cgi-bin/koha/erm/agreements/add" >- class="btn btn-default" >+ <router-link :to="{ name: 'AgreementsFormAdd' }" class="btn btn-default" > ><font-awesome-icon icon="plus" /> > {{ $__("New agreement") }}</router-link > > >diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue >index 03c914bd866..24f7c886f7f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue >@@ -21,7 +21,7 @@ > <ul> > <li> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > > > <i class="fa fa-check-circle-o"></i> > {{ $__("Agreements") }}</router-link >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 1f3576db917..a98c046ccfc 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >@@ -125,6 +125,7 @@ export const routes = [ > }, > { > path: "/cgi-bin/koha/erm/erm.pl", >+ name: "Home" > component: Home, > meta: { > breadcrumb: () => [breadcrumbs.home, breadcrumbs.erm_home], >@@ -135,6 +136,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "AgreementsList", > component: AgreementsList, > meta: { > breadcrumb: () => breadcrumb_paths.agreements, >@@ -142,6 +144,7 @@ export const routes = [ > }, > { > path: ":agreement_id", >+ name: "AgreementsShow", > component: AgreementsShow, > meta: { > breadcrumb: () => >@@ -153,6 +156,7 @@ export const routes = [ > }, > { > path: "delete/:agreement_id", >+ name: "AgreementsFormConfirmDelete", > component: AgreementsFormConfirmDelete, > meta: { > breadcrumb: () => >@@ -164,6 +168,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "AgreementsFormAdd", > component: AgreementsFormAdd, > meta: { > breadcrumb: () => >@@ -175,6 +180,7 @@ export const routes = [ > }, > { > path: "edit/:agreement_id", >+ name: "AgreementsFormAddEdit", > component: AgreementsFormAdd, > meta: { > breadcrumb: () => >@@ -212,6 +218,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsLocalPackagesList", > component: EHoldingsLocalPackagesList, > meta: { > breadcrumb: () => >@@ -224,6 +231,7 @@ export const routes = [ > }, > { > path: ":package_id", >+ name: "EHoldingsLocalPackagesShow", > component: EHoldingsLocalPackagesShow, > meta: { > breadcrumb: () => >@@ -239,6 +247,7 @@ export const routes = [ > }, > { > path: "delete/:package_id", >+ name: "EHoldingsLocalPackagesFormConfirmDelete", > component: > EHoldingsLocalPackagesFormConfirmDelete, > meta: { >@@ -255,6 +264,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "EHoldingsLocalPackagesFormAdd", > component: EHoldingsLocalPackagesFormAdd, > meta: { > breadcrumb: () => >@@ -270,6 +280,7 @@ export const routes = [ > }, > { > path: "edit/:package_id", >+ name: "EHoldingsLocalPackagesFormAddEdit", > component: EHoldingsLocalPackagesFormAdd, > meta: { > breadcrumb: () => >@@ -290,6 +301,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsLocalTitlesList", > component: EHoldingsLocalTitlesList, > meta: { > breadcrumb: () => >@@ -301,6 +313,7 @@ export const routes = [ > }, > { > path: ":title_id", >+ name: "EHoldingsLocalTitlesShow", > component: EHoldingsLocalTitlesShow, > meta: { > breadcrumb: () => >@@ -316,6 +329,7 @@ export const routes = [ > }, > { > path: "delete/:title_id", >+ name: "EHoldingsLocalTitlesFormConfirmDelete", > component: > EHoldingsLocalTitlesFormConfirmDelete, > meta: { >@@ -332,6 +346,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "EHoldingsLocalTitlesFormAdd", > component: EHoldingsLocalTitlesFormAdd, > meta: { > breadcrumb: () => >@@ -347,6 +362,7 @@ export const routes = [ > }, > { > path: "edit/:title_id", >+ name: "EHoldingsLocalTitlesFormAddEdit", > component: EHoldingsLocalTitlesFormAdd, > meta: { > breadcrumb: () => >@@ -362,6 +378,7 @@ export const routes = [ > }, > { > path: "import", >+ name: "EHoldingsLocalTitlesFormImport", > component: EHoldingsLocalTitlesFormImport, > meta: { > breadcrumb: () => >@@ -379,6 +396,7 @@ export const routes = [ > }, > { > path: "resources/:resource_id", >+ name: "EHoldingsLocalResourcesShow", > component: EHoldingsLocalResourcesShow, > meta: { > breadcrumb: () => >@@ -407,6 +425,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsEBSCOPackagesList", > component: EHoldingsEBSCOPackagesList, > meta: { > breadcrumb: () => >@@ -419,6 +438,7 @@ export const routes = [ > }, > { > path: ":package_id", >+ name: "EHoldingsEBSCOPackagesShow", > component: EHoldingsEBSCOPackagesShow, > meta: { > breadcrumb: () => >@@ -439,6 +459,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsEBSCOTitlesList", > component: EHoldingsEBSCOTitlesList, > meta: { > breadcrumb: () => >@@ -450,6 +471,7 @@ export const routes = [ > }, > { > path: ":title_id", >+ name: "EHoldingsEBSCOTitlesShow", > component: EHoldingsEBSCOTitlesShow, > meta: { > breadcrumb: () => >@@ -467,6 +489,7 @@ export const routes = [ > }, > { > path: "resources/:resource_id", >+ name: "EHoldingsEBSCOResourcesShow", > component: EHoldingsEBSCOResourcesShow, > meta: { > breadcrumb: () => >@@ -488,6 +511,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "LicensesList", > component: LicensesList, > meta: { > breadcrumb: () => breadcrumb_paths.licenses, >@@ -495,6 +519,7 @@ export const routes = [ > }, > { > path: ":license_id", >+ name: "LicensesShow", > component: LicensesShow, > meta: { > breadcrumb: () => >@@ -506,6 +531,7 @@ export const routes = [ > }, > { > path: "delete/:license_id", >+ name: "LicensesFormConfirmDelete", > component: LicensesFormConfirmDelete, > meta: { > breadcrumb: () => >@@ -517,6 +543,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "LicensesFormAdd", > component: LicensesFormAdd, > meta: { > breadcrumb: () => >@@ -528,6 +555,7 @@ export const routes = [ > }, > { > path: "edit/:license_id", >+ name: "LicensesFormAddEdit", > component: LicensesFormAdd, > meta: { > breadcrumb: () => >-- >2.37.1 (Apple Git-137.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 32932
:
146439
|
146442
|
146616
|
146617
|
146618
|
146624
|
146625
|
146965
|
146966
|
146967
|
146968
|
147119
|
147120
|
147121
|
147122
|
148115
|
148551
|
148552
|
148553
|
148554
|
148558
|
148559
|
148560
|
148561
|
149210
|
149707
|
149709
|
149934
|
149935
|
151529
|
152231