From 7da551916ed0ca82d589e9bde510eb102fa3265a Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Tue, 28 Feb 2023 17:56:56 +0000 Subject: [PATCH] Bug 32968: ERM granular permissions - Navigation guards Signed-off-by: Jonathan Field --- .../intranet-tmpl/prog/js/vue/routes/erm.js | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) 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..0521ef2538 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js @@ -128,6 +128,9 @@ export const routes = [ }, { path: "/cgi-bin/koha/erm/agreements", + beforeEnter: () => { + return !permissions.agreement.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, children: [ { path: "", @@ -138,6 +141,9 @@ export const routes = [ }, { path: ":agreement_id", + beforeEnter: () => { + return !permissions.agreement.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsShow, meta: { breadcrumb: () => @@ -149,6 +155,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.agreement.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsFormAdd, meta: { breadcrumb: () => @@ -160,6 +169,9 @@ export const routes = [ }, { path: "edit/:agreement_id", + beforeEnter: () => { + return !permissions.agreement.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsFormAdd, meta: { breadcrumb: () => @@ -173,6 +185,9 @@ export const routes = [ }, { path: "/cgi-bin/koha/erm/eholdings", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, meta: { breadcrumb: () => breadcrumb_paths.eholdings, }, @@ -209,6 +224,9 @@ export const routes = [ }, { path: ":package_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesShow, meta: { breadcrumb: () => @@ -224,6 +242,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesFormAdd, meta: { breadcrumb: () => @@ -239,6 +260,9 @@ export const routes = [ }, { path: "edit/:package_id", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesFormAdd, meta: { breadcrumb: () => @@ -270,6 +294,9 @@ export const routes = [ }, { path: ":title_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesShow, meta: { breadcrumb: () => @@ -285,6 +312,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormAdd, meta: { breadcrumb: () => @@ -300,6 +330,9 @@ export const routes = [ }, { path: "edit/:title_id", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormAdd, meta: { breadcrumb: () => @@ -315,6 +348,9 @@ export const routes = [ }, { path: "import", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormImport, meta: { breadcrumb: () => @@ -332,6 +368,9 @@ export const routes = [ }, { path: "resources/:resource_id", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalResourcesShow, meta: { breadcrumb: () => @@ -372,6 +411,9 @@ export const routes = [ }, { path: ":package_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsEBSCOPackagesShow, meta: { breadcrumb: () => @@ -403,6 +445,9 @@ export const routes = [ }, { path: ":title_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsEBSCOTitlesShow, meta: { breadcrumb: () => @@ -438,6 +483,9 @@ export const routes = [ }, { path: "/cgi-bin/koha/erm/licenses", + beforeEnter: () => { + return !permissions.licensing.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, children: [ { path: "", @@ -448,6 +496,9 @@ export const routes = [ }, { path: ":license_id", + beforeEnter: () => { + return !permissions.licensing.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesShow, meta: { breadcrumb: () => @@ -459,6 +510,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.licensing.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesFormAdd, meta: { breadcrumb: () => @@ -470,6 +524,9 @@ export const routes = [ }, { path: "edit/:license_id", + beforeEnter: () => { + return !permissions.licensing.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesFormAdd, meta: { breadcrumb: () => -- 2.30.2