]> git.agnieray.net Git - galette.git/blob - galette/includes/core_acls.php
3238244fe5e4baa4f6a7ceab964e97acdc394050
[galette.git] / galette / includes / core_acls.php
1 <?php
2
3 /**
4 * Copyright © 2003-2024 The Galette Team
5 *
6 * This file is part of Galette (https://galette.eu).
7 *
8 * Galette is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * Galette is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with Galette. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 $core_acls = [
23 // Main core rules.
24 'impersonate' => 'superadmin',
25 'unimpersonate' => 'member',
26 '/(.+)?admin(.+)?/i' => 'superadmin',
27 '/(.+)?telemetry(.+)?/i' => 'admin',
28 'setRegistered' => 'admin',
29 '/(.+)?preferences(.+)?/i' => 'admin',
30 '/(.+)?(Core|Dynamic|List)Field(.+)?/i' => 'admin', //dynamic fields are for admins only
31 '/(.+)?removeSearch(.+)?/i' => 'member',
32 '/(.+)?remove(.+)?/i' => 'staff', //per default, removal is limited to staff
33 'advanced-search' => 'groupmanager',
34 '/(.+)?search(.+)?/i' => 'member',
35 'testEmail' => 'admin',
36 'dashboard' => 'member',
37 'sysinfos' => 'staff',
38 'charts' => 'staff',
39 '/(.+)?plugin(.+)?/i' => 'admin',
40 '/(.+)?mailing(.+)?/i' => 'staff',
41 'mailing' => 'groupmanager',
42 'doMailing' => 'groupmanager',
43 'mailingPreview' => 'groupmanager',
44 'mailingRecipients' => 'groupmanager',
45 '/(.+)?history(.+)?/i' => 'staff',
46 '/(.+)?import(.+)?/i' => 'staff',
47 '/(.+)?export(.+)?/i' => 'staff',
48 // /Main core rule
49 // Contributions rules
50 'contributions' => 'member',
51 'printContribution' => 'member',
52 'myContributions' => 'member',
53 'contributionMembers' => 'groupmanager',
54 '/(.+)?contribution(.+)?/i' => 'staff',
55 '/(.+)?transaction(.+)?/i' => 'staff',
56 // /Contributions rules
57 // Members rules
58 'me' => 'member',
59 'member' => 'member',
60 'pdf-members-cards' => 'member',
61 'editMember' => 'member',
62 'addMemberChild' => 'member',
63 //most of members routes are accessible to groups manager, including mass changes pages
64 '/(.+)?member(.+)?/i' => 'groupmanager',
65 'ajaxGroupMembers' => 'staff',
66 'duplicateMember' => 'staff',
67 'payments_filter' => 'member',
68 'adhesionForm' => 'member',
69 'getDynamicFile' => 'member',
70 'photoDnd' => 'staff',
71 // /Members rules
72 // Groups rules
73 '/(.+)?group(.+)?/i' => 'groupmanager',
74 'add_group' => 'staff', //adding group is for staff only
75 // /Groups rules
76
77 '/(.+)?text(.+)?/i' => 'staff',
78 '/(.+)?status(.+)?/i' => 'staff',
79 '/(.+)?contributions?Types?(.+)?/i' => 'staff',
80 '/(.+)?title(.+)?/i' => 'staff',
81 '/(.+)?reminder(.+)?/i' => 'staff',
82 '/(.+)?paymentType(.+)?/i' => 'staff',
83 '/(.+)?dynamicTranslation(.+)?/i' => 'staff',
84 'previewAttachment' => 'groupmanager',
85 'getCsv' => 'staff',
86 'pdfModels' => 'staff',
87 'attendance_sheet_details' => 'groupmanager',
88 'attendance_sheet' => 'groupmanager',
89 ];