From e0747bec0615c683bab0a4978d60035378a17d8d 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 --- .../intranet-tmpl/prog/js/vue/routes/erm.js | 69 +++++++++++++++++++ 1 file changed, 69 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 1f3576db91..725e4f7b76 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/routes/erm.js @@ -132,6 +132,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: "", @@ -142,6 +145,9 @@ export const routes = [ }, { path: ":agreement_id", + beforeEnter: () => { + return !permissions.agreement.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsShow, meta: { breadcrumb: () => @@ -153,6 +159,9 @@ export const routes = [ }, { path: "delete/:agreement_id", + beforeEnter: () => { + return !permissions.agreement.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsFormConfirmDelete, meta: { breadcrumb: () => @@ -164,6 +173,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.agreement.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: AgreementsFormAdd, meta: { breadcrumb: () => @@ -175,6 +187,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: () => @@ -188,6 +203,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, }, @@ -224,6 +242,9 @@ export const routes = [ }, { path: ":package_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesShow, meta: { breadcrumb: () => @@ -239,6 +260,9 @@ export const routes = [ }, { path: "delete/:package_id", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesFormConfirmDelete, meta: { @@ -255,6 +279,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalPackagesFormAdd, meta: { breadcrumb: () => @@ -270,6 +297,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: () => @@ -301,6 +331,9 @@ export const routes = [ }, { path: ":title_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesShow, meta: { breadcrumb: () => @@ -316,6 +349,9 @@ export const routes = [ }, { path: "delete/:title_id", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormConfirmDelete, meta: { @@ -332,6 +368,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormAdd, meta: { breadcrumb: () => @@ -347,6 +386,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: () => @@ -362,6 +404,9 @@ export const routes = [ }, { path: "import", + beforeEnter: () => { + return !permissions.eholdings.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsLocalTitlesFormImport, meta: { breadcrumb: () => @@ -379,6 +424,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: () => @@ -419,6 +467,9 @@ export const routes = [ }, { path: ":package_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsEBSCOPackagesShow, meta: { breadcrumb: () => @@ -450,6 +501,9 @@ export const routes = [ }, { path: ":title_id", + beforeEnter: () => { + return !permissions.eholdings.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: EHoldingsEBSCOTitlesShow, meta: { breadcrumb: () => @@ -485,6 +539,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: "", @@ -495,6 +552,9 @@ export const routes = [ }, { path: ":license_id", + beforeEnter: () => { + return !permissions.licensing.read ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesShow, meta: { breadcrumb: () => @@ -506,6 +566,9 @@ export const routes = [ }, { path: "delete/:license_id", + beforeEnter: () => { + return !permissions.licensing.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesFormConfirmDelete, meta: { breadcrumb: () => @@ -517,6 +580,9 @@ export const routes = [ }, { path: "add", + beforeEnter: () => { + return !permissions.licensing.write ? { path: '/cgi-bin/koha/erm/erm.pl' } : null; + }, component: LicensesFormAdd, meta: { breadcrumb: () => @@ -528,6 +594,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