Bugzilla – Attachment 148551 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
Bug-32932-Update-router-to-use-object-references--.patch (text/plain), 19.48 KB, created by
Agustín Moyano
on 2023-03-22 14:13:22 UTC
(
hide
)
Description:
Bug 32932: Update router to use object references - agreements
Filename:
MIME Type:
Creator:
Agustín Moyano
Created:
2023-03-22 14:13:22 UTC
Size:
19.48 KB
patch
obsolete
>From 8a4f79c6e4b67ed178caeffb91256307f3bb3aae Mon Sep 17 00:00:00 2001 >From: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> >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 >--- > .../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 @@ > <fieldset class="action"> > <ButtonSubmit /> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > role="button" > class="cancel" > >{{ $__("Cancel") }}</router-link >@@ -376,7 +376,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 => {} > ) >@@ -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) }} > <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> >@@ -159,7 +162,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 +205,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 +245,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 +261,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 +319,7 @@ > </fieldset> > <fieldset class="action"> > <router-link >- to="/cgi-bin/koha/erm/agreements" >+ :to="{ name: 'AgreementsList' }" > role="button" > class="cancel" > >{{ $__("Close") }}</router-link >@@ -379,7 +410,7 @@ export default { > ), > true > ) >- 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/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 @@ > <template> > <div id="toolbar" class="btn-toolbar"> > <router-link >- to="/cgi-bin/koha/erm/agreements/add" >+ :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 0da4384934..d658a833e1 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 >@@ -18,7 +18,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 fb85986919..26f9f8f829 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >+++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js >@@ -121,6 +121,7 @@ export const routes = [ > }, > { > path: "/cgi-bin/koha/erm/erm.pl", >+ name: "Home", > component: Home, > meta: { > breadcrumb: () => [breadcrumbs.home, breadcrumbs.erm_home], >@@ -131,6 +132,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "AgreementsList", > component: AgreementsList, > meta: { > breadcrumb: () => breadcrumb_paths.agreements, >@@ -138,6 +140,7 @@ export const routes = [ > }, > { > path: ":agreement_id", >+ name: "AgreementsShow", > component: AgreementsShow, > meta: { > breadcrumb: () => >@@ -149,6 +152,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "AgreementsFormAdd", > component: AgreementsFormAdd, > meta: { > breadcrumb: () => >@@ -160,6 +164,7 @@ export const routes = [ > }, > { > path: "edit/:agreement_id", >+ name: "AgreementsFormAddEdit", > component: AgreementsFormAdd, > meta: { > breadcrumb: () => >@@ -197,6 +202,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsLocalPackagesList", > component: EHoldingsLocalPackagesList, > meta: { > breadcrumb: () => >@@ -209,6 +215,7 @@ export const routes = [ > }, > { > path: ":package_id", >+ name: "EHoldingsLocalPackagesShow", > component: EHoldingsLocalPackagesShow, > meta: { > breadcrumb: () => >@@ -224,6 +231,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "EHoldingsLocalPackagesFormAdd", > component: EHoldingsLocalPackagesFormAdd, > meta: { > breadcrumb: () => >@@ -239,6 +247,7 @@ export const routes = [ > }, > { > path: "edit/:package_id", >+ name: "EHoldingsLocalPackagesFormAddEdit", > component: EHoldingsLocalPackagesFormAdd, > meta: { > breadcrumb: () => >@@ -259,6 +268,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsLocalTitlesList", > component: EHoldingsLocalTitlesList, > meta: { > breadcrumb: () => >@@ -270,6 +280,7 @@ export const routes = [ > }, > { > path: ":title_id", >+ name: "EHoldingsLocalTitlesShow", > component: EHoldingsLocalTitlesShow, > meta: { > breadcrumb: () => >@@ -285,6 +296,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "EHoldingsLocalTitlesFormAdd", > component: EHoldingsLocalTitlesFormAdd, > meta: { > breadcrumb: () => >@@ -300,6 +312,7 @@ export const routes = [ > }, > { > path: "edit/:title_id", >+ name: "EHoldingsLocalTitlesFormAddEdit", > component: EHoldingsLocalTitlesFormAdd, > meta: { > breadcrumb: () => >@@ -315,6 +328,7 @@ export const routes = [ > }, > { > path: "import", >+ name: "EHoldingsLocalTitlesFormImport", > component: EHoldingsLocalTitlesFormImport, > meta: { > breadcrumb: () => >@@ -332,6 +346,7 @@ export const routes = [ > }, > { > path: "resources/:resource_id", >+ name: "EHoldingsLocalResourcesShow", > component: EHoldingsLocalResourcesShow, > meta: { > breadcrumb: () => >@@ -360,6 +375,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsEBSCOPackagesList", > component: EHoldingsEBSCOPackagesList, > meta: { > breadcrumb: () => >@@ -372,6 +388,7 @@ export const routes = [ > }, > { > path: ":package_id", >+ name: "EHoldingsEBSCOPackagesShow", > component: EHoldingsEBSCOPackagesShow, > meta: { > breadcrumb: () => >@@ -392,6 +409,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "EHoldingsEBSCOTitlesList", > component: EHoldingsEBSCOTitlesList, > meta: { > breadcrumb: () => >@@ -403,6 +421,7 @@ export const routes = [ > }, > { > path: ":title_id", >+ name: "EHoldingsEBSCOTitlesShow", > component: EHoldingsEBSCOTitlesShow, > meta: { > breadcrumb: () => >@@ -420,6 +439,7 @@ export const routes = [ > }, > { > path: "resources/:resource_id", >+ name: "EHoldingsEBSCOResourcesShow", > component: EHoldingsEBSCOResourcesShow, > meta: { > breadcrumb: () => >@@ -441,6 +461,7 @@ export const routes = [ > children: [ > { > path: "", >+ name: "LicensesList", > component: LicensesList, > meta: { > breadcrumb: () => breadcrumb_paths.licenses, >@@ -448,6 +469,7 @@ export const routes = [ > }, > { > path: ":license_id", >+ name: "LicensesShow", > component: LicensesShow, > meta: { > breadcrumb: () => >@@ -459,6 +481,7 @@ export const routes = [ > }, > { > path: "add", >+ name: "LicensesFormAdd", > component: LicensesFormAdd, > meta: { > breadcrumb: () => >@@ -470,6 +493,7 @@ export const routes = [ > }, > { > path: "edit/:license_id", >+ name: "LicensesFormAddEdit", > component: LicensesFormAdd, > meta: { > breadcrumb: () => >-- >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 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