Bug 15774: Add permission for managing additional fields
To test: 1 - Have three borrowers, one with order_manage permission, one with edit_subscription permisson, andone with both 2 - Apply patch, updatedatabase 3 - Verify all three now have the manage_additional_fields permission 4 - Visit the admin page with these users, they should all see the 'Manage additional fields' link 5 - Click the link 6 - User with order_manage should see 'Order baskest' 7 - User with edit_subscription should see 'Subscriptions' 8 - User with both should see both 9 - Remove the additional permissions from a user - they should see a note about needing additional permissions Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
fe8bc587f6
commit
9cfcd21f24
|
|
@ -26,19 +26,28 @@ use Koha::AdditionalFields;
|
|||
|
||||
my $input = new CGI;
|
||||
|
||||
my %flagsrequired;
|
||||
$flagsrequired{parameters} = 'manage_additional_fields';
|
||||
|
||||
my $tablename = $input->param('tablename');
|
||||
my $op = $input->param('op') // ( $tablename ? 'list' : 'list_tables' );
|
||||
|
||||
if( $op ne 'list_tables' ){
|
||||
$flagsrequired{acquisition} = 'order_manage' if $tablename eq 'aqbasket';
|
||||
$flagsrequired{serials} = 'edit_subscription' if $tablename eq 'subscription';
|
||||
}
|
||||
|
||||
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
||||
{
|
||||
template_name => "admin/additional-fields.tt",
|
||||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
flagsrequired => { parameters => 1 },
|
||||
flagsrequired => \%flagsrequired,
|
||||
debug => 1,
|
||||
}
|
||||
);
|
||||
|
||||
my $tablename = $input->param('tablename');
|
||||
my $op = $input->param('op') // ( $tablename ? 'list' : 'list_tables' );
|
||||
my $field_id = $input->param('field_id');
|
||||
my @messages;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
$DBversion = 'XXX';
|
||||
if( CheckVersion( $DBversion ) ) {
|
||||
$dbh->do( q{
|
||||
INSERT IGNORE INTO permissions (module_bit,code,description)
|
||||
VALUES
|
||||
(3,'manage_additional_fields','Add, edit, or delete additional custom fields for baskets or subscriptions (also requires order_manage or edit_subscription permissions)')
|
||||
});
|
||||
$dbh->do( q{
|
||||
INSERT INTO user_permissions (borrowernumber, module_bit, code)
|
||||
SELECT borrowernumber, 3, 'manage_additional_fields' FROM borrowers WHERE borrowernumber IN (SELECT DISTINCT borrowernumber FROM user_permissions WHERE code = 'order_manage' OR code = 'edit_subscription');
|
||||
});
|
||||
$dbh->do( q{
|
||||
INSERT INTO user_permissions (borrowernumber, module_bit, code)
|
||||
SELECT borrowernumber, 3, 'manage_additional_fields' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM borrowers WHERE MOD(flags DIV POWER(2,11),2)=1 OR MOD(flags DIV POWER(2,15),2) =1);
|
||||
});
|
||||
SetVersion( $DBversion );
|
||||
print "Upgrade to $DBversion done (Bug 15774 - Add permission for managing additional fields)\n";
|
||||
}
|
||||
|
|
@ -31,6 +31,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
|
|||
( 3, 'manage_audio_alerts', 'Manage audio alerts'),
|
||||
( 3, 'manage_usage_stats', 'Manage usage statistics settings'),
|
||||
( 3, 'manage_mana', 'Manage Mana KB content sharing'),
|
||||
( 3, 'manage_additional_fields', 'Add, edit, or delete additional custom fields for baskets or subscriptions (also requires order_manage or edit_subscription permissions)'),
|
||||
( 4, 'edit_borrowers', 'Add, modify and view patron information'),
|
||||
( 4, 'view_borrower_infos_from_any_libraries', 'View patron infos from any libraries'),
|
||||
( 6, 'place_holds', 'Place holds for patrons'),
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@
|
|||
</ul>
|
||||
[% END %]
|
||||
|
||||
[% IF ( CAN_user_parameters_manage_search_targets || CAN_user_parameters_manage_didyoumean || CAN_user_parameters_manage_column_config || CAN_user_parameters_manage_audio_alerts || ( CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) || CAN_user_parameters_manage_usage_stats || CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions ) %]
|
||||
[% IF ( CAN_user_parameters_manage_search_targets || CAN_user_parameters_manage_didyoumean || CAN_user_parameters_manage_column_config || CAN_user_parameters_manage_audio_alerts || ( CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) || CAN_user_parameters_manage_usage_stats || CAN_user_parameters_manage_additional_fields ) %]
|
||||
<h5>Additional parameters</h5>
|
||||
<ul>
|
||||
<!-- <li><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></li> -->
|
||||
|
|
@ -135,7 +135,7 @@
|
|||
[% IF ( CAN_user_parameters_manage_mana ) %]
|
||||
<li><a href="/cgi-bin/koha/admin/share_content.pl">Share content with Mana KB</a></li>
|
||||
[% END %]
|
||||
[% IF ( CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions ) %]
|
||||
[% IF ( CAN_user_parameters_manage_additional_fields ) %]
|
||||
<li><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@
|
|||
[%- CASE 'manage_didyoumean' -%]<span>Manage Did you mean? configuration</span>
|
||||
[%- CASE 'manage_column_config' -%]<span>Manage column configuration</span>
|
||||
[%- CASE 'manage_audio_alerts' -%]<span>Manage audio alerts</span>
|
||||
[%- CASE 'manage_additional_fields' -%]<span>Manage additional fields for baskets or subscriptions (requires edit_subscription or order_manage permissions)</span>
|
||||
[%- CASE 'manage_sms_providers' -%]<span>Manage SMS cellular providers</span>
|
||||
[%- CASE 'manage_usage_stats' -%]<span>Manage usage statistics settings</span>
|
||||
[%- CASE 'manage_mana' -%]<span>Manage Mana KB content sharing</span>
|
||||
|
|
|
|||
|
|
@ -64,15 +64,23 @@
|
|||
[% END %]
|
||||
|
||||
[% IF op == 'list_tables' %]
|
||||
[% IF CAN_user_acquisitions_order_manage || CAN_user_serials_edit_subscription %]
|
||||
<h3>Additional fields</h3>
|
||||
<p>Select a table:</p>
|
||||
[% BLOCK table_option %]
|
||||
<li><a href="?tablename=[% value | uri %]">[% content | html %] (<tt>[% value | html %]</tt>)</a></li>
|
||||
[% END %]
|
||||
<ul>
|
||||
[% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
|
||||
[% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
|
||||
[% IF CAN_user_acquisition_order_manage %]
|
||||
[% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
|
||||
[% END %]
|
||||
[% IF CAN_user_serials_edit_subscription %]
|
||||
[% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
|
||||
[% END %]
|
||||
</ul>
|
||||
[% ELSE %]
|
||||
Additional permissions in the acquisitions or serials modules are required for editing additional fields
|
||||
[% END %]
|
||||
[% ELSIF op == 'list' %]
|
||||
<h3>Additional fields for '[% tablename | html %]'</h3>
|
||||
[% IF fields %]
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@
|
|||
</dl>
|
||||
[% END %]
|
||||
|
||||
[% IF ( ( CAN_user_parameters_manage_search_targets || CAN_user_parameters_manage_didyoumean || CAN_user_parameters_manage_column_config || CAN_user_parameters_manage_audio_alerts || CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) || CAN_user_parameters_manage_usage_stats || CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions || CAN_user_parameters_manage_mana ) %]
|
||||
[% IF ( ( CAN_user_parameters_manage_search_targets || CAN_user_parameters_manage_didyoumean || CAN_user_parameters_manage_column_config || CAN_user_parameters_manage_audio_alerts || CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) || CAN_user_parameters_manage_usage_stats || CAN_user_parameters_manage_additional_fields || CAN_user_parameters_manage_mana ) %]
|
||||
<h3>Additional parameters</h3>
|
||||
<dl>
|
||||
<!-- <dt><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></dt>
|
||||
|
|
@ -203,11 +203,15 @@
|
|||
<dt><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share your usage statistics</a></dt>
|
||||
<dd>Share with the Koha community the usage statistics of your Koha installation.</dd>
|
||||
[% END %]
|
||||
<<<<<<< HEAD
|
||||
[% IF ( CAN_user_parameters_manage_mana ) %]
|
||||
<dt><a href="/cgi-bin/koha/admin/share_content.pl">Share content with Mana KB</a></dt>
|
||||
<dd>Share content (subscriptions, reports) with the Koha community</dd>
|
||||
[% END %]
|
||||
[% IF ( CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions ) %]
|
||||
=======
|
||||
[% IF ( CAN_user_parameters_manage_additional_fields ) %]
|
||||
>>>>>>> Bug 15774: Add permission for managing additional fields
|
||||
<dt><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></dt>
|
||||
<dd>Add additional fields to certain tables</dd>
|
||||
[% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue