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

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

Return to bug 14391