Bug 37893: Add sip2 module permission

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Pedro Amorim 2025-10-13 11:14:54 +00:00 committed by Lucas Gass
parent f70d7a5405
commit b90f7c88ad
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
9 changed files with 27 additions and 20 deletions

View File

@ -67,7 +67,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
post:
x-mojo-to: SIP2::Accounts#add
operationId: addSip2Accounts
@ -127,7 +127,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
"/sip2/accounts/{sip_account_id}":
get:
x-mojo-to: SIP2::Accounts#get
@ -190,7 +190,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
put:
x-mojo-to: SIP2::Accounts#update
operationId: updateSip2Accounts
@ -247,7 +247,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
delete:
x-mojo-to: SIP2::Accounts#delete
operationId: deleteSip2Accounts
@ -293,4 +293,4 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1

View File

@ -60,7 +60,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
post:
x-mojo-to: SIP2::Institutions#add
operationId: addSip2Institutions
@ -120,7 +120,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
"/sip2/institutions/{sip_institution_id}":
get:
x-mojo-to: SIP2::Institutions#get
@ -166,7 +166,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
put:
x-mojo-to: SIP2::Institutions#update
operationId: updateSip2Institutions
@ -223,7 +223,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
delete:
x-mojo-to: SIP2::Institutions#delete
operationId: deleteSip2Institutions
@ -269,4 +269,4 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1

View File

@ -51,7 +51,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
post:
x-mojo-to: SIP2::SystemPreferenceOverrides#add
operationId: addSip2SystemPreferenceOverrides
@ -111,7 +111,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
"/sip2/system_preference_overrides/{sip_system_preference_override_id}":
get:
x-mojo-to: SIP2::SystemPreferenceOverrides#get
@ -170,7 +170,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
put:
x-mojo-to: SIP2::SystemPreferenceOverrides#update
operationId: updateSip2SystemPreferenceOverrides
@ -227,7 +227,7 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1
delete:
x-mojo-to: SIP2::SystemPreferenceOverrides#delete
operationId: deleteSip2SystemPreferenceOverrides
@ -273,4 +273,4 @@
$ref: "../swagger.yaml#/definitions/error"
x-koha-authorization:
permissions:
superlibrarian: 1 # TODO: Fix this, currently for superlibrarians only
sip2: 1

View File

@ -540,5 +540,9 @@ return {
}
}
$dbh->do(
q{INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES (31, 'sip2', 'Manage SIP2 module', 0) }
);
},
};

View File

@ -27,5 +27,6 @@ INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES
(27, 'recalls', 'Recalls', 0),
(28, 'erm', 'Manage electronic resources', 0),
(29, 'loggedinlibrary', 'Change logged in library', 0),
(30, 'preservation', 'Preservation module', 0)
(30, 'preservation', 'Preservation module', 0),
(31, 'sip2', 'SIP2 module', 0)
;

View File

@ -40,7 +40,7 @@
<li><a href="/cgi-bin/koha/admin/branch_transfer_limits.pl">Library transfer limits</a></li>
<li><a href="/cgi-bin/koha/admin/transport-cost-matrix.pl">Transport cost matrix</a></li>
[% END %]
[% IF ( CAN_user_superlibrarian ) %]
[% IF ( CAN_user_sip2 ) %]
<li><a href="/cgi-bin/koha/sip2/sip2.pl">Self-service circulation (SIP2)</a></li>
[% END %]
[% IF ( CAN_user_parameters_manage_item_circ_alerts ) %]

View File

@ -87,6 +87,9 @@
[%- CASE 'preservation' -%]
<span class="main_permission preservation_permission">Manage the preservation module</span>
<span class="permissioncode">([% name | html %])</span>
[%- CASE 'sip2' -%]
<span class="main_permission sip2_permission">Manage the SIP2 module</span>
<span class="permissioncode">([% name | html %])</span>
[%- END -%]
[%- END -%]

View File

@ -109,7 +109,7 @@
<dt><a href="/cgi-bin/koha/admin/transport-cost-matrix.pl">Transport cost matrix</a></dt>
<dd>Define transport costs between branches</dd>
[% END %]
[% IF ( CAN_user_superlibrarian ) %]
[% IF ( CAN_user_sip2 ) %]
<dt><a href="/cgi-bin/koha/sip2/sip2.pl">Self-service circulation (SIP2)</a></dt>
<dd>Define SIP2 related configurations such as institutions, accounts, server parameters and more.</dd>
[% END %]

View File

@ -29,8 +29,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
template_name => "sip2/sip2.tt",
query => $input,
type => "intranet",
# flagsrequired => { 'plugins' => '*' },
flagsrequired => { 'sip2' => '1' },
}
);