Bugzilla – Attachment 150060 Details for
Bug 32968
Create granular permissions for ERM
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 32968: ERM granular permissions - Preparation
Bug-32968-ERM-granular-permissions---Preparation.patch (text/plain), 14.71 KB, created by
Pedro Amorim
on 2023-04-21 16:57:07 UTC
(
hide
)
Description:
Bug 32968: ERM granular permissions - Preparation
Filename:
MIME Type:
Creator:
Pedro Amorim
Created:
2023-04-21 16:57:07 UTC
Size:
14.71 KB
patch
obsolete
>From ee49738aa11395808d463473621eb2928a2206f2 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Date: Tue, 28 Feb 2023 17:53:22 +0000 >Subject: [PATCH] Bug 32968: ERM granular permissions - Preparation > >Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com> >--- > erm/erm.pl | 2 +- > .../prog/en/includes/permissions.inc | 26 ++++ > .../intranet-tmpl/prog/en/modules/erm/erm.tt | 15 ++ > .../prog/js/vue/components/ERM/Main.vue | 139 +++++++++--------- > 4 files changed, 113 insertions(+), 69 deletions(-) > >diff --git a/erm/erm.pl b/erm/erm.pl >index df841c98bd..896d73e6c5 100755 >--- a/erm/erm.pl >+++ b/erm/erm.pl >@@ -32,7 +32,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > template_name => "erm/erm.tt", > query => $input, > type => "intranet", >- flagsrequired => { 'erm' => '1' }, >+ flagsrequired => { 'erm' => '*' }, > } > ); > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc >index e4c4cbe2a6..9207a91648 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc >@@ -849,5 +849,31 @@ > Manage authentication providers > </span> > <span class="permissioncode">([% name | html %])</span> >+ [%# erm %] >+ [%- CASE 'erm_admin' -%] >+ <span class="sub_permission manage_agreements_subpermission"> >+ Create, edit and delete all ERM related content >+ </span> >+ <span class="permissioncode">([% name | html %])</span> >+ [%- CASE 'erm_show' -%] >+ <span class="sub_permission manage_licenses_subpermission"> >+ Read-only access for all ERM related content >+ </span> >+ <span class="permissioncode">([% name | html %])</span> >+ [%- CASE 'erm_licensing' -%] >+ <span class="sub_permission manage_packages_subpermission"> >+ Create, edit and delete licenses >+ </span> >+ <span class="permissioncode">([% name | html %])</span> >+ [%- CASE 'erm_agreement' -%] >+ <span class="sub_permission manage_titles_subpermission"> >+ Create, edit and delete agreements. Grants read-only access to licenses and eHoldings >+ </span> >+ <span class="permissioncode">([% name | html %])</span> >+ [%- CASE 'erm_eholdings' -%] >+ <span class="sub_permission manage_providers_resources_subpermission"> >+ Create, edit and delete EHoldings local titles and local packages. Grants read-only access to agreements >+ </span> >+ <span class="permissioncode">([% name | html %])</span> > [%- END -%] > [%- END -%] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/erm/erm.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/erm/erm.tt >index 98c0a4294b..863a0de6de 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/erm/erm.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/erm/erm.tt >@@ -39,6 +39,21 @@ > > const logged_in_user = [% To.json(logged_in_user.unblessed) | $raw %]; > >+ const permissions = { >+ licensing: { >+ write: [% CAN_user_erm_erm_licensing || CAN_user_erm_erm_admin ? 1 : 0 | $raw %], >+ read: [% CAN_user_erm_erm_licensing || CAN_user_erm_erm_admin || CAN_user_erm_erm_show || CAN_user_erm_erm_agreement ? 1 : 0 | $raw %], >+ }, >+ agreement: { >+ write: [% CAN_user_erm_erm_agreement || CAN_user_erm_erm_admin ? 1 : 0 | $raw %], >+ read: [% CAN_user_erm_erm_agreement || CAN_user_erm_erm_admin || CAN_user_erm_erm_show || CAN_user_erm_erm_eholdings ? 1 : 0 | $raw %], >+ }, >+ eholdings: { >+ write: [% CAN_user_erm_erm_eholdings || CAN_user_erm_erm_admin ? 1 : 0 | $raw %], >+ read: [% CAN_user_erm_erm_eholdings || CAN_user_erm_erm_admin || CAN_user_erm_erm_show || CAN_user_erm_erm_agreement ? 1 : 0 | $raw %], >+ }, >+ } >+ > </script> > > [% Asset.js("js/vue/dist/erm.js") | $raw %] >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 dd1e27a2d6..c0351db5f5 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 >@@ -19,7 +19,7 @@ > <div id="navmenulist"> > <h5>{{ $__("E-resource management") }}</h5> > <ul> >- <li> >+ <li v-if="permissions.agreement.read"> > <router-link > to="/cgi-bin/koha/erm/agreements" > > >@@ -27,7 +27,7 @@ > {{ $__("Agreements") }}</router-link > > > </li> >- <li> >+ <li v-if="permissions.licensing.read"> > <router-link > to="/cgi-bin/koha/erm/licenses" > > >@@ -35,75 +35,77 @@ > {{ $__("Licenses") }}</router-link > > > </li> >- <li> >- <router-link >- to="/cgi-bin/koha/erm/eholdings" >- class="disabled" >- > >- <i class="fa fa-crosshairs"></i> >- {{ $__("eHoldings") }} >- </router-link> >- </li> >- >- <li> >- <ul> >- <li >- v-for="provider in sysprefs.ERMProviders" >- :key="provider" >+ <div v-if="permissions.eholdings.read"> >+ <li> >+ <router-link >+ to="/cgi-bin/koha/erm/eholdings" >+ class="disabled" > > >- <router-link >- v-if="provider == 'local'" >- :to="`/cgi-bin/koha/erm/eholdings/local`" >- class="disabled" >- > >- <i >- class="fa fa-map-marker" >- ></i> >- {{ >- $__("Local") >- }}</router-link >+ <i class="fa fa-crosshairs"></i> >+ {{ $__("eHoldings") }} >+ </router-link> >+ </li> >+ <li> >+ <ul> >+ <li >+ v-for="provider in sysprefs.ERMProviders" >+ :key="provider" > > >- <router-link >- v-else-if=" >- provider == 'ebsco' >- " >- :to="`/cgi-bin/koha/erm/eholdings/ebsco`" >- class="disabled" >- > >- <i class="fa fa-globe"></i> >- {{ >- $__("EBSCO") >- }}</router-link >- > >- <ul> >- <li> > <router-link >- :to="`/cgi-bin/koha/erm/eholdings/${provider}/packages`" >- > >- <i >- class="fa fa-archive" >- ></i> >- {{ >- $__("Packages") >- }}</router-link >- > >- </li> >- <li> >- <router-link >- :to="`/cgi-bin/koha/erm/eholdings/${provider}/titles`" >- > >- <i >- class="fa fa-sort-alpha-asc" >- ></i> >- {{ >- $__("Titles") >- }}</router-link >- > >- </li> >- </ul> >- </li> >- </ul> >- </li> >+ v-if="provider == 'local'" >+ :to="`/cgi-bin/koha/erm/eholdings/local`" >+ class="disabled" >+ > >+ <i >+ class="fa fa-map-marker" >+ ></i> >+ {{ >+ $__("Local") >+ }}</router-link >+ > >+ <router-link >+ v-else-if=" >+ provider == 'ebsco' >+ " >+ :to="`/cgi-bin/koha/erm/eholdings/ebsco`" >+ class="disabled" >+ > >+ <i class="fa fa-globe"></i> >+ {{ >+ $__("EBSCO") >+ }}</router-link >+ > >+ <ul> >+ <li> >+ <router-link >+ :to="`/cgi-bin/koha/erm/eholdings/${provider}/packages`" >+ > >+ <i >+ class="fa fa-archive" >+ ></i> >+ {{ >+ $__("Packages") >+ }}</router-link >+ > >+ </li> >+ <li> >+ <router-link >+ :to="`/cgi-bin/koha/erm/eholdings/${provider}/titles`" >+ > >+ <i >+ class="fa fa-sort-alpha-asc" >+ ></i> >+ {{ >+ $__("Titles") >+ }}</router-link >+ > >+ </li> >+ </ul> >+ </li> >+ </ul> >+ </li> >+ </div> >+ <!-- END eholdings wrapper --> > </ul> > </div> > </div> >@@ -148,6 +150,7 @@ export default { > setError, > loading, > loaded, >+ permissions, > } > }, > data() { >-- >2.30.2
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 32968
:
146698
|
147466
|
147510
|
147511
|
147513
|
147514
|
147515
|
147516
|
147517
|
147518
|
147559
|
148797
|
148798
|
148799
|
148800
|
148801
|
148802
|
148803
|
148804
|
148959
|
148960
|
148961
|
148962
|
148963
|
148964
|
148965
|
148966
|
149423
|
149424
|
149425
|
149426
|
149427
|
149428
|
149429
|
149430
| 150060 |
150061
|
150062
|
150063
|
150064
|
150065
|
150066
|
150067