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

(-)a/installer/data/mysql/atomicupdate/bug14391_granular_admin_permissions.perl (-4 / +1 lines)
Lines 115-124 if( CheckVersion( $DBversion ) ) { Link Here
115
    });
115
    });
116
    $dbh->do(q{
116
    $dbh->do(q{
117
        INSERT INTO user_permissions (borrowernumber, module_bit, code)
117
        INSERT INTO user_permissions (borrowernumber, module_bit, code)
118
            SELECT borrowernumber, 3, 'manage_item_search_fields'
118
            SELECT borrowernumber, 3, 'manage_item_search_fields' FROM borrowers WHERE flags & (1 << 2);
119
            FROM borrowers
120
            WHERE borrowernumber IN
121
                (SELECT borrowernumber FROM user_permissions WHERE code = 'catalogue');
122
    });
119
    });
123
    SetVersion( $DBversion );
120
    SetVersion( $DBversion );
124
    print "Upgrade to $DBversion done (Bug 14391: Add granular permissions to the administration module)\n";
121
    print "Upgrade to $DBversion done (Bug 14391: Add granular permissions to the administration module)\n";
(-)a/installer/data/mysql/atomicupdate/bug14391_granular_admin_permissions.sql (-79 lines)
Lines 1-78 Link Here
1
INSERT INTO permissions (module_bit, code, description) VALUES
2
   ( 3, 'manage_sysprefs', 'Manage global system preferences'),
3
   ( 3, 'manage_libraries', 'Manage libraries and library groups'),
4
   ( 3, 'manage_itemtypes', 'Manage item types'),
5
   ( 3, 'manage_auth_values', 'Manage authorized values'),
6
   ( 3, 'manage_patron_categories', 'Manage patron categories'),
7
   ( 3, 'manage_patron_attributes', 'Manage extended patron attributes'),
8
   ( 3, 'manage_transfers', 'Manage library transfer limits and transport cost matrix'),
9
   ( 3, 'manage_item_circ_alerts', 'Manage item circulation alerts'),
10
   ( 3, 'manage_cities', 'Manage cities and towns'),
11
   ( 3, 'manage_marc_frameworks', 'Manage MARC bibliographic and authority frameworks'),
12
   ( 3, 'manage_keywords2koha_mappings', 'Manage keywords to Koha mappings'),
13
   ( 3, 'manage_classifications', 'Manage classification sources'),
14
   ( 3, 'manage_matching_rules', 'Manage record matching rules'),
15
   ( 3, 'manage_oai_sets', 'Manage OAI sets'),
16
   ( 3, 'manage_item_search_fields', 'Manage item search fields'),
17
   ( 3, 'manage_search_engine_config', 'Manage search engine configuration'),
18
   ( 3, 'manage_search_targets', 'Manage Z39.50 and SRU server configuration'),
19
   ( 3, 'manage_didyoumean', 'Manage Did you mean? configuration'),
20
   ( 3, 'manage_column_config', 'Manage column configuration'),
21
   ( 3, 'manage_sms_providers', 'Manage SMS cellular providers'),
22
   ( 3, 'manage_audio_alerts', 'Manage audio alerts'),
23
   ( 3, 'manage_usage_stats', 'Manage usage statistics settings');
24
25
/* User has parameters_remaining_permissions */
26
INSERT INTO user_permissions (borrowernumber, module_bit, code)
27
    SELECT borrowernumber, 3, 'manage_sysprefs' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
28
INSERT INTO user_permissions (borrowernumber, module_bit, code)
29
    SELECT borrowernumber, 3, 'manage_libraries' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
30
INSERT INTO user_permissions (borrowernumber, module_bit, code)
31
    SELECT borrowernumber, 3, 'manage_itemtypes' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
32
INSERT INTO user_permissions (borrowernumber, module_bit, code)
33
    SELECT borrowernumber, 3, 'manage_auth_values' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
34
INSERT INTO user_permissions (borrowernumber, module_bit, code)
35
    SELECT borrowernumber, 3, 'manage_patron_categories' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
36
INSERT INTO user_permissions (borrowernumber, module_bit, code)
37
    SELECT borrowernumber, 3, 'manage_patron_attributes' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
38
INSERT INTO user_permissions (borrowernumber, module_bit, code)
39
    SELECT borrowernumber, 3, 'manage_transfers' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
40
INSERT INTO user_permissions (borrowernumber, module_bit, code)
41
    SELECT borrowernumber, 3, 'manage_item_circ_alerts' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
42
INSERT INTO user_permissions (borrowernumber, module_bit, code)
43
    SELECT borrowernumber, 3, 'manage_cities' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
44
INSERT INTO user_permissions (borrowernumber, module_bit, code)
45
    SELECT borrowernumber, 3, 'manage_marc_frameworks' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
46
INSERT INTO user_permissions (borrowernumber, module_bit, code)
47
    SELECT borrowernumber, 3, 'manage_keywords2koha_mappings' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
48
INSERT INTO user_permissions (borrowernumber, module_bit, code)
49
    SELECT borrowernumber, 3, 'manage_classifications' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
50
INSERT INTO user_permissions (borrowernumber, module_bit, code)
51
    SELECT borrowernumber, 3, 'manage_matching_rules' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
52
INSERT INTO user_permissions (borrowernumber, module_bit, code)
53
    SELECT borrowernumber, 3, 'manage_oai_sets' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
54
INSERT INTO user_permissions (borrowernumber, module_bit, code)
55
    SELECT borrowernumber, 3, 'manage_item_search_fields' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
56
INSERT INTO user_permissions (borrowernumber, module_bit, code)
57
    SELECT borrowernumber, 3, 'manage_search_engine_config' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
58
INSERT INTO user_permissions (borrowernumber, module_bit, code)
59
    SELECT borrowernumber, 3, 'manage_search_targets' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
60
INSERT INTO user_permissions (borrowernumber, module_bit, code)
61
    SELECT borrowernumber, 3, 'manage_didyoumean' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
62
INSERT INTO user_permissions (borrowernumber, module_bit, code)
63
    SELECT borrowernumber, 3, 'manage_column_config' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
64
INSERT INTO user_permissions (borrowernumber, module_bit, code)
65
    SELECT borrowernumber, 3, 'manage_sms_providers' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
66
INSERT INTO user_permissions (borrowernumber, module_bit, code)
67
    SELECT borrowernumber, 3, 'manage_audio_alerts' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
68
INSERT INTO user_permissions (borrowernumber, module_bit, code)
69
    SELECT borrowernumber, 3, 'manage_usage_stats' FROM borrowers WHERE borrowernumber IN (SELECT borrowernumber FROM user_permissions WHERE code = 'parameters_remaining_permissions');
70
71
/* User has catalogue permission */
72
INSERT INTO user_permissions (borrowernumber, module_bit, code)
73
    SELECT borrowernumber, 3, 'manage_item_search_fields'
74
    FROM borrowers
75
    WHERE borrowernumber IN
76
        (SELECT borrowernumber FROM user_permissions WHERE code = 'catalogue');
77
78
-- Bug 14391: Add granular permissions to the administration module
79
- 

Return to bug 14391