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

(-)a/admin/additional-fields.pl (-3 / +12 lines)
Lines 26-44 use Koha::AdditionalFields; Link Here
26
26
27
my $input = new CGI;
27
my $input = new CGI;
28
28
29
my %flagsrequired;
30
$flagsrequired{parameters} = 'manage_additional_fields';
31
32
my $tablename = $input->param('tablename');
33
my $op = $input->param('op') // ( $tablename ? 'list' : 'list_tables' );
34
35
if( $op ne 'list_tables' ){
36
    $flagsrequired{acquisition} = 'order_manage' if $tablename eq 'aqbasket';
37
    $flagsrequired{serials} = 'edit_subscription' if $tablename eq 'subscription';
38
}
39
29
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
40
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
30
    {
41
    {
31
        template_name   => "admin/additional-fields.tt",
42
        template_name   => "admin/additional-fields.tt",
32
        query           => $input,
43
        query           => $input,
33
        type            => "intranet",
44
        type            => "intranet",
34
        authnotrequired => 0,
45
        authnotrequired => 0,
35
        flagsrequired   => { parameters => 1 },
46
        flagsrequired   => \%flagsrequired,
36
        debug           => 1,
47
        debug           => 1,
37
    }
48
    }
38
);
49
);
39
50
40
my $tablename = $input->param('tablename');
41
my $op = $input->param('op') // ( $tablename ? 'list' : 'list_tables' );
42
my $field_id = $input->param('field_id');
51
my $field_id = $input->param('field_id');
43
my @messages;
52
my @messages;
44
53
(-)a/installer/data/mysql/atomicupdate/Bug_15774_add_additional_fields_permissions.perl (+18 lines)
Line 0 Link Here
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do( q{
4
        INSERT IGNORE INTO permissions (module_bit,code,description)
5
        VALUES
6
        (3,'manage_additional_fields','Add, edit, or delete additional custom fields for baskets or subscriptions (also requires order_manage or edit_subscription permissions)')
7
    });
8
    $dbh->do( q{
9
        INSERT INTO user_permissions (borrowernumber, module_bit, code)
10
        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');
11
    });
12
    $dbh->do( q{
13
        INSERT INTO user_permissions (borrowernumber, module_bit, code)
14
        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);
15
    });
16
    SetVersion( $DBversion );
17
    print "Upgrade to $DBversion done (Bug 15774 - Add permission for managing additional fields)\n";
18
}
(-)a/installer/data/mysql/userpermissions.sql (+1 lines)
Lines 30-35 INSERT INTO permissions (module_bit, code, description) VALUES Link Here
30
   ( 3, 'manage_sms_providers', 'Manage SMS cellular providers'),
30
   ( 3, 'manage_sms_providers', 'Manage SMS cellular providers'),
31
   ( 3, 'manage_audio_alerts', 'Manage audio alerts'),
31
   ( 3, 'manage_audio_alerts', 'Manage audio alerts'),
32
   ( 3, 'manage_usage_stats', 'Manage usage statistics settings'),
32
   ( 3, 'manage_usage_stats', 'Manage usage statistics settings'),
33
   ( 3, 'manage_additional_fields', 'Add, edit, or delete additional custom fields for baskets or subscriptions (also requires order_manage or edit_subscription permissions)'),
33
   ( 4, 'edit_borrowers', 'Add, modify and view patron information'),
34
   ( 4, 'edit_borrowers', 'Add, modify and view patron information'),
34
   ( 4, 'view_borrower_infos_from_any_libraries', 'View patron infos from any libraries'),
35
   ( 4, 'view_borrower_infos_from_any_libraries', 'View patron infos from any libraries'),
35
   ( 6, 'place_holds', 'Place holds for patrons'),
36
   ( 6, 'place_holds', 'Place holds for patrons'),
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc (-2 / +2 lines)
Lines 110-116 Link Here
110
        </ul>
110
        </ul>
111
    [% END %]
111
    [% END %]
112
112
113
    [% 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 ) %]
113
    [% 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 ) %]
114
        <h5>Additional parameters</h5>
114
        <h5>Additional parameters</h5>
115
        <ul>
115
        <ul>
116
            <!-- <li><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></li> -->
116
            <!-- <li><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></li> -->
Lines 132-138 Link Here
132
            [% IF ( CAN_user_parameters_manage_usage_stats ) %]
132
            [% IF ( CAN_user_parameters_manage_usage_stats ) %]
133
                <li><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share usage statistics</a></li>
133
                <li><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share usage statistics</a></li>
134
            [% END %]
134
            [% END %]
135
            [% IF ( CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions ) %]
135
            [% IF ( CAN_user_parameters_manage_additional_fields ) %]
136
                <li><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></li>
136
                <li><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></li>
137
            [% END %]
137
            [% END %]
138
        </ul>
138
        </ul>
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc (+1 lines)
Lines 57-62 Link Here
57
    [%- CASE 'manage_didyoumean' -%]<span>Manage Did you mean? configuration</span>
57
    [%- CASE 'manage_didyoumean' -%]<span>Manage Did you mean? configuration</span>
58
    [%- CASE 'manage_column_config' -%]<span>Manage column configuration</span>
58
    [%- CASE 'manage_column_config' -%]<span>Manage column configuration</span>
59
    [%- CASE 'manage_audio_alerts' -%]<span>Manage audio alerts</span>
59
    [%- CASE 'manage_audio_alerts' -%]<span>Manage audio alerts</span>
60
    [%- CASE 'manage_additional_fields' -%]<span>Manage additional fields for baskets or subscriptions (requires edit_subscription or order_manage permissions)</span>
60
    [%- CASE 'manage_sms_providers' -%]<span>Manage SMS cellular providers</span>
61
    [%- CASE 'manage_sms_providers' -%]<span>Manage SMS cellular providers</span>
61
    [%- CASE 'manage_usage_stats' -%]<span>Manage usage statistics settings</span>
62
    [%- CASE 'manage_usage_stats' -%]<span>Manage usage statistics settings</span>
62
    [%- CASE 'edit_borrowers' -%]<span>Add, modify and view patron information</span>
63
    [%- CASE 'edit_borrowers' -%]<span>Add, modify and view patron information</span>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/additional-fields.tt (-2 / +10 lines)
Lines 64-78 Link Here
64
    [% END %]
64
    [% END %]
65
65
66
    [% IF op == 'list_tables' %]
66
    [% IF op == 'list_tables' %]
67
        [% IF CAN_user_acquisitions_order_manage || CAN_user_serials_edit_subscription %]
67
        <h3>Additional fields</h3>
68
        <h3>Additional fields</h3>
68
        <p>Select a table:</p>
69
        <p>Select a table:</p>
69
        [% BLOCK table_option %]
70
        [% BLOCK table_option %]
70
            <li><a href="?tablename=[% value | uri %]">[% content | html %] (<tt>[% value | html %]</tt>)</a></li>
71
            <li><a href="?tablename=[% value | uri %]">[% content | html %] (<tt>[% value | html %]</tt>)</a></li>
71
        [% END %]
72
        [% END %]
72
        <ul>
73
        <ul>
73
            [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
74
            [% IF CAN_user_acquisition_order_manage %]
74
            [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
75
                [% WRAPPER table_option value="aqbasket" %]Order baskets[% END %]
76
            [% END %]
77
            [% IF CAN_user_serials_edit_subscription %]
78
                [% WRAPPER table_option value="subscription" %]Subscriptions[% END %]
79
            [% END %]
75
        </ul>
80
        </ul>
81
        [% ELSE %]
82
            Additional permissions in the acquisitions or serials modules are required for editing additional fields
83
        [% END %]
76
    [% ELSIF op == 'list' %]
84
    [% ELSIF op == 'list' %]
77
        <h3>Additional fields for '[% tablename | html %]'</h3>
85
        <h3>Additional fields for '[% tablename | html %]'</h3>
78
        [% IF fields %]
86
        [% IF fields %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt (-3 / +2 lines)
Lines 158-164 Link Here
158
                </dl>
158
                </dl>
159
            [% END %]
159
            [% END %]
160
160
161
            [% 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 ) %]
161
            [% 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 ) %]
162
                <h3>Additional parameters</h3>
162
                <h3>Additional parameters</h3>
163
                <dl>
163
                <dl>
164
                        <!-- <dt><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></dt>
164
                        <!-- <dt><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></dt>
Lines 187-193 Link Here
187
                        <dt><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share your usage statistics</a></dt>
187
                        <dt><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share your usage statistics</a></dt>
188
                        <dd>Share with the Koha community the usage statistics of your Koha installation.</dd>
188
                        <dd>Share with the Koha community the usage statistics of your Koha installation.</dd>
189
                    [% END %]
189
                    [% END %]
190
                    [% IF ( CAN_user_parameters_manage_additional_fields_baskets || CAN_user_parameters_manage_additional_fields_subscriptions ) %]
190
                    [% IF ( CAN_user_parameters_manage_additional_fields ) %]
191
                    <dt><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></dt>
191
                    <dt><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></dt>
192
                    <dd>Add additional fields to certain tables</dd>
192
                    <dd>Add additional fields to certain tables</dd>
193
                    [% END %]
193
                    [% END %]
194
- 

Return to bug 15774