View | Details | Raw Unified | Return to bug 32968
Collapse All | Expand All

(-)a/Koha/REST/V1/ERM.pm (-1 / +1 lines)
Lines 42-48 sub list_users { Link Here
42
42
43
    return try {
43
    return try {
44
44
45
        my $patrons_rs = Koha::Patrons->search->filter_by_have_permission('erm');
45
        my $patrons_rs = Koha::Patrons->search->filter_by_have_permission('erm'); #TODO: Double-check that related users are working
46
        my $patrons    = $c->objects->search( $patrons_rs );
46
        my $patrons    = $c->objects->search( $patrons_rs );
47
47
48
        return $c->render(
48
        return $c->render(
(-)a/api/v1/swagger/paths/erm_agreements.yaml (-5 / +15 lines)
Lines 93-99 Link Here
93
          $ref: "../swagger.yaml#/definitions/error"
93
          $ref: "../swagger.yaml#/definitions/error"
94
    x-koha-authorization:
94
    x-koha-authorization:
95
      permissions:
95
      permissions:
96
        erm: 1
96
        erm:
97
          - manage_agreements
98
          - manage_licenses
99
          - manage_packages
100
          - manage_titles
101
          - manage_providers_resources
97
  post:
102
  post:
98
    x-mojo-to: ERM::Agreements#add
103
    x-mojo-to: ERM::Agreements#add
99
    operationId: addErmAgreements
104
    operationId: addErmAgreements
Lines 153-159 Link Here
153
          $ref: "../swagger.yaml#/definitions/error"
158
          $ref: "../swagger.yaml#/definitions/error"
154
    x-koha-authorization:
159
    x-koha-authorization:
155
      permissions:
160
      permissions:
156
        erm: 1
161
        erm: manage_agreements
157
"/erm/agreements/{agreement_id}":
162
"/erm/agreements/{agreement_id}":
158
  get:
163
  get:
159
    x-mojo-to: ERM::Agreements#get
164
    x-mojo-to: ERM::Agreements#get
Lines 195-201 Link Here
195
          $ref: "../swagger.yaml#/definitions/error"
200
          $ref: "../swagger.yaml#/definitions/error"
196
    x-koha-authorization:
201
    x-koha-authorization:
197
      permissions:
202
      permissions:
198
        erm: 1
203
        erm:
204
          - manage_agreements
205
          - manage_licenses
206
          - manage_packages
207
          - manage_titles
208
          - manage_providers_resources
199
    x-koha-embed:
209
    x-koha-embed:
200
      - periods
210
      - periods
201
      - user_roles
211
      - user_roles
Lines 264-270 Link Here
264
          $ref: "../swagger.yaml#/definitions/error"
274
          $ref: "../swagger.yaml#/definitions/error"
265
    x-koha-authorization:
275
    x-koha-authorization:
266
      permissions:
276
      permissions:
267
        erm: 1
277
        erm: manage_agreements
268
    x-koha-embed:
278
    x-koha-embed:
269
      - periods
279
      - periods
270
      - user_roles
280
      - user_roles
Lines 316-319 Link Here
316
          $ref: "../swagger.yaml#/definitions/error"
326
          $ref: "../swagger.yaml#/definitions/error"
317
    x-koha-authorization:
327
    x-koha-authorization:
318
      permissions:
328
      permissions:
319
        erm: 1
329
        erm: manage_agreements
(-)a/api/v1/swagger/paths/erm_licenses.yaml (-5 / +15 lines)
Lines 78-84 Link Here
78
          $ref: "../swagger.yaml#/definitions/error"
78
          $ref: "../swagger.yaml#/definitions/error"
79
    x-koha-authorization:
79
    x-koha-authorization:
80
      permissions:
80
      permissions:
81
        erm: 1
81
        erm:
82
          - manage_agreements
83
          - manage_licenses
84
          - manage_packages
85
          - manage_titles
86
          - manage_providers_resources
82
  post:
87
  post:
83
    x-mojo-to: ERM::Licenses#add
88
    x-mojo-to: ERM::Licenses#add
84
    operationId: addERMLicenses
89
    operationId: addERMLicenses
Lines 138-144 Link Here
138
          $ref: "../swagger.yaml#/definitions/error"
143
          $ref: "../swagger.yaml#/definitions/error"
139
    x-koha-authorization:
144
    x-koha-authorization:
140
      permissions:
145
      permissions:
141
        erm: 1
146
        erm: manage_licenses
142
"/erm/licenses/{license_id}":
147
"/erm/licenses/{license_id}":
143
  get:
148
  get:
144
    x-mojo-to: ERM::Licenses#get
149
    x-mojo-to: ERM::Licenses#get
Lines 180-186 Link Here
180
          $ref: "../swagger.yaml#/definitions/error"
185
          $ref: "../swagger.yaml#/definitions/error"
181
    x-koha-authorization:
186
    x-koha-authorization:
182
      permissions:
187
      permissions:
183
        erm: 1
188
        erm:
189
          - manage_agreements
190
          - manage_licenses
191
          - manage_packages
192
          - manage_titles
193
          - manage_providers_resources
184
    x-koha-embed:
194
    x-koha-embed:
185
      - user_roles
195
      - user_roles
186
      - user_roles.patron
196
      - user_roles.patron
Lines 242-248 Link Here
242
          $ref: "../swagger.yaml#/definitions/error"
252
          $ref: "../swagger.yaml#/definitions/error"
243
    x-koha-authorization:
253
    x-koha-authorization:
244
      permissions:
254
      permissions:
245
        erm: 1
255
        erm: manage_licenses
246
    x-koha-embed:
256
    x-koha-embed:
247
      - user_roles
257
      - user_roles
248
      - documents
258
      - documents
Lines 291-294 Link Here
291
          $ref: "../swagger.yaml#/definitions/error"
301
          $ref: "../swagger.yaml#/definitions/error"
292
    x-koha-authorization:
302
    x-koha-authorization:
293
      permissions:
303
      permissions:
294
        erm: 1
304
        erm: manage_licenses
(-)a/erm/erm.pl (-1 / +1 lines)
Lines 32-38 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
32
        template_name => "erm/erm.tt",
32
        template_name => "erm/erm.tt",
33
        query         => $input,
33
        query         => $input,
34
        type          => "intranet",
34
        type          => "intranet",
35
        flagsrequired => { 'erm' => '1' },
35
        flagsrequired => { 'erm' => '*' },
36
    }
36
    }
37
);
37
);
38
38
(-)a/installer/data/mysql/atomicupdate/bug_32968.pl (+21 lines)
Line 0 Link Here
1
use Modern::Perl;
2
# TODO: 
3
# finish this atomicupdate for 32968
4
# update kohastructure.sql
5
6
return {
7
    bug_number => "32968",
8
    description => "Create granular permissions for ERM",
9
    up => sub {
10
        my ($args) = @_;
11
        my ($dbh, $out) = @$args{qw(dbh out)};
12
    
13
    say $out "Added new permission 'XXX'";
14
    
15
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'manage_agreements', 'Create, edit and delete agreements') });
16
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'manage_licenses', 'Create, edit and delete licenses') });
17
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'manage_packages', 'Create, edit and delete local packages') });
18
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'manage_titles', 'Create, edit and delete local titles') });
19
    $dbh->do(q{ INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (28, 'manage_providers_resources', 'Create, edit and delete providers packages and titles') });
20
    },
21
};
(-)a/installer/data/mysql/mandatory/userpermissions.sql (-1 / +6 lines)
Lines 148-152 INSERT INTO permissions (module_bit, code, description) VALUES Link Here
148
   (25, 'cashup', 'Perform cash register cashup action'),
148
   (25, 'cashup', 'Perform cash register cashup action'),
149
   (25, 'takepayment', 'Access the point of sale page and take payments'),
149
   (25, 'takepayment', 'Access the point of sale page and take payments'),
150
   (26, 'manage_problem_reports', 'Manage OPAC problem reports'),
150
   (26, 'manage_problem_reports', 'Manage OPAC problem reports'),
151
   (27, 'manage_recalls', 'Manage recalls for patrons')
151
   (27, 'manage_recalls', 'Manage recalls for patrons'),
152
   (28, 'manage_agreements', 'Create, edit and delete agreements'),
153
   (28, 'manage_licenses', 'Create, edit and delete licenses'),
154
   (28, 'manage_packages', 'Create, edit and delete local packages'),
155
   (28, 'manage_titles', 'Create, edit and delete local titles'),
156
   (28, 'manage_providers_resources', 'Create, edit and delete providers packages and titles')
152
;
157
;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc (+26 lines)
Lines 846-850 Link Here
846
            Manage authentication providers
846
            Manage authentication providers
847
        </span>
847
        </span>
848
        <span class="permissioncode">([% name | html %])</span>
848
        <span class="permissioncode">([% name | html %])</span>
849
  [%# erm %]
850
    [%- CASE 'manage_agreements' -%]
851
        <span class="sub_permission manage_agreements_subpermission">
852
            Create, edit and delete agreements
853
        </span>
854
        <span class="permissioncode">([% name | html %])</span>
855
    [%- CASE 'manage_licenses' -%]
856
        <span class="sub_permission manage_licenses_subpermission">
857
            Create, edit and delete licenses
858
        </span>
859
        <span class="permissioncode">([% name | html %])</span>
860
    [%- CASE 'manage_packages' -%]
861
        <span class="sub_permission manage_packages_subpermission">
862
            Create, edit and delete local packages
863
        </span>
864
        <span class="permissioncode">([% name | html %])</span>
865
    [%- CASE 'manage_titles' -%]
866
        <span class="sub_permission manage_titles_subpermission">
867
            Create, edit and delete local titles
868
        </span>
869
        <span class="permissioncode">([% name | html %])</span>
870
    [%- CASE 'manage_providers_resources' -%]
871
        <span class="sub_permission manage_providers_resources_subpermission">
872
            Create, edit and delete providers' packages and titles
873
        </span>
874
        <span class="permissioncode">([% name | html %])</span>
849
  [%- END -%]
875
  [%- END -%]
850
[%- END -%]
876
[%- END -%]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/erm/erm.tt (+8 lines)
Lines 60-65 Link Here
60
60
61
        const logged_in_user_lists = [% To.json(logged_in_user.virtualshelves.unblessed) | $raw %];
61
        const logged_in_user_lists = [% To.json(logged_in_user.virtualshelves.unblessed) | $raw %];
62
62
63
        const permissions = {
64
            manage_agreements: [% CAN_user_erm_manage_agreements ? 1 : 0 %],
65
            manage_licenses: [% CAN_user_erm_manage_licenses ? 1 : 0 %],
66
            manage_packages: [% CAN_user_erm_manage_packages ? 1 : 0 %],
67
            manage_titles: [% CAN_user_erm_manage_titles ? 1 : 0 %],
68
            manage_providers_resources: [% CAN_user_erm_manage_providers_resources ? 1 : 0 %]
69
        }
70
63
    </script>
71
    </script>
64
72
65
    [% Asset.js("js/vue/dist/main.js") | $raw %]
73
    [% Asset.js("js/vue/dist/main.js") | $raw %]
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/ERMMain.vue (-1 / +6 lines)
Lines 1-5 Link Here
1
<template>
1
<template>
2
    <div v-if="ERMModule">
2
    <div v-if="ERMModule">
3
        <!-- TODO: This is for testing only, remove later -->
4
        <div v-if="permissions.manage_agreements">
5
            <p>has permission</p>
6
        </div>
7
        <!-- TODO: This is for testing only, remove later -->
3
        <Breadcrumb />
8
        <Breadcrumb />
4
        <div class="main container-fluid">
9
        <div class="main container-fluid">
5
            <div class="row">
10
            <div class="row">
Lines 146-151 export default { Link Here
146
            vendorStore,
151
            vendorStore,
147
            erm_providers,
152
            erm_providers,
148
            ERMModule,
153
            ERMModule,
154
            permissions
149
        }
155
        }
150
    },
156
    },
151
    data() {
157
    data() {
152
- 

Return to bug 32968