]> git.agnieray.net Git - galette.git/blob - galette/includes/routes/members.routes.php
Small rework and few typo fixes
[galette.git] / galette / includes / routes / members.routes.php
1 <?php
2
3 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
4
5 /**
6 * Members related routes
7 *
8 * PHP version 5
9 *
10 * Copyright © 2014-2020 The Galette Team
11 *
12 * This file is part of Galette (http://galette.tuxfamily.org).
13 *
14 * Galette is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * Galette is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with Galette. If not, see <http://www.gnu.org/licenses/>.
26 *
27 * @category Routes
28 * @package Galette
29 *
30 * @author Johan Cwiklinski <johan@x-tnd.be>
31 * @copyright 2014-2020 The Galette Team
32 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL License 3.0 or (at your option) any later version
33 * @link http://galette.tuxfamily.org
34 * @since 0.8.2dev 2014-11-27
35 */
36
37 use Galette\Controllers\Crud;
38 use Galette\Controllers\CsvController;
39 use Galette\Controllers\GaletteController;
40 use Galette\Controllers\PdfController;
41 use Galette\Entity\Adherent;
42 use Galette\Middleware\MembersNavigate;
43
44 //self subscription
45 $app->get(
46 '/subscribe',
47 [Crud\MembersController::class, 'selfSubscribe']
48 )->setName('subscribe');
49
50 //members list CSV export
51 $app->map(
52 ['GET', 'POST'],
53 '/members/export/csv',
54 [CsvController::class, 'membersExport']
55 )->setName('csv-memberslist')->add($authenticate);
56
57 //members list
58 $app->get(
59 '/members[/{option:page|order}/{value:\d+|\w+}]',
60 [Crud\MembersController::class, 'list']
61 )->setName('members')->add($authenticate);
62
63 //members list filtering
64 $app->post(
65 '/members/filter',
66 [Crud\MembersController::class, 'filter']
67 )->setName('filter-memberslist')->add($authenticate);
68
69 //members self card
70 $app->get(
71 '/member/me',
72 [Crud\MembersController::class, 'showMe']
73 )->setName('me')->add($authenticate);
74
75 //members card
76 $app->get(
77 '/member/{id:\d+}',
78 [Crud\MembersController::class, 'show']
79 )->setName('member')->add($authenticate)->add(MembersNavigate::class);
80
81 $app->get(
82 '/member/edit/{id:\d+}',
83 [Crud\MembersController::class, 'edit']
84 )->setName('editMember')->add($authenticate)->add(MembersNavigate::class);
85
86 $app->get(
87 '/member/add',
88 [Crud\MembersController::class, 'add']
89 )->setName('addMember')->add($authenticate)->add(MembersNavigate::class);
90
91 $app->post(
92 '/subscribe/store',
93 [Crud\MembersController::class, 'doSelfSubscribe']
94 )->setName('storeselfmembers');
95
96 $app->post(
97 '/member/store',
98 [Crud\MembersController::class, 'doAdd']
99 )->setName('doAddMember');
100
101 $app->post(
102 '/member/store/{id:\d+}',
103 [Crud\MembersController::class, 'doEdit']
104 )->setName('doEditMember');
105
106 $app->get(
107 '/member/remove/{id:\d+}',
108 [Crud\MembersController::class, 'confirmDelete']
109 )->setName('removeMember')->add($authenticate);
110
111 $app->get(
112 '/members/remove',
113 [Crud\MembersController::class, 'confirmDelete']
114 )->setName('removeMembers')->add($authenticate);
115
116 $app->post(
117 '/member/remove' . '[/{id:\d+}]',
118 [Crud\MembersController::class, 'delete']
119 )->setName('doRemoveMember')->add($authenticate);
120
121 //advanced search page
122 $app->get(
123 '/advanced-search',
124 [Crud\MembersController::class, 'advancedSearch']
125 )->setName('advanced-search')->add($authenticate);
126
127 //Batch actions on members list
128 $app->post(
129 '/members/batch',
130 [Crud\MembersController::class, 'handleBatch']
131 )->setName('batch-memberslist')->add($authenticate);
132
133 //PDF members cards
134 $app->get(
135 '/members/cards[/{' . Adherent::PK . ':\d+}]',
136 [PdfController::class, 'membersCards']
137 )->setName('pdf-members-cards')->add($authenticate);
138
139 //PDF members labels
140 $app->map(
141 ['GET', 'POST'],
142 '/members/labels',
143 [PdfController::class, 'membersLabels']
144 )->setName('pdf-members-labels')->add($authenticate);
145
146 //PDF adhesion form
147 $app->get(
148 '/members/adhesion-form/{' . Adherent::PK . ':\d+}',
149 [PdfController::class, 'adhesionForm']
150 )->setName('adhesionForm')->add($authenticate);
151
152 //Empty PDF adhesion form
153 $app->get(
154 '/members/empty-adhesion-form',
155 [PdfController::class, 'adhesionForm']
156 )->setName('emptyAdhesionForm');
157
158 //mailing
159 $app->get(
160 '/mailing',
161 [Crud\MailingsController::class, 'add']
162 )->setName('mailing')->add($authenticate);
163
164 $app->post(
165 '/mailing',
166 [Crud\MailingsController::class, 'doAdd']
167 )->setName('doMailing')->add($authenticate);
168
169 $app->map(
170 ['GET', 'POST'],
171 '/mailing/preview[/{id:\d+}]',
172 [Crud\MailingsController::class, 'preview']
173 )->setName('mailingPreview')->add($authenticate);
174
175 $app->get(
176 '/mailing/preview/{id:\d+}/attachment/{pos:\d+}',
177 [Crud\MailingsController::class, 'previewAttachment']
178 )->setName('previewAttachment')->add($authenticate);
179
180 $app->post(
181 '/ajax/mailing/set-recipients',
182 [Crud\MailingsController::class, 'setRecipients']
183 )->setName('mailingRecipients')->add($authenticate);
184
185 //reminders
186 $app->get(
187 '/reminders',
188 [GaletteController::class, 'reminders']
189 )->setName('reminders')->add($authenticate);
190
191 $app->post(
192 '/reminders',
193 [GaletteController::class, 'doReminders']
194 )->setName('doReminders')->add($authenticate);
195
196 $app->get(
197 '/members/reminder-filter/{membership:nearly|late}/{mail:withmail|withoutmail}',
198 [GaletteController::class, 'filterReminders']
199 )->setName('reminders-filter')->add($authenticate);
200
201 $app->map(
202 ['GET', 'POST'],
203 '/attendance-sheet/details',
204 [PdfController::class, 'attendanceSheetConfig']
205 )->setName('attendance_sheet_details')->add($authenticate);
206
207 $app->post(
208 '/attendance-sheet',
209 [PdfController::class, 'attendanceSheet']
210 )->setName('attendance_sheet')->add($authenticate);
211
212 $app->post(
213 '/ajax/members[/{option:page|order}/{value:\d+}]',
214 [Crud\MembersController::class, 'ajaxList']
215 )->setName('ajaxMembers')->add($authenticate);
216
217 $app->post(
218 '/ajax/group/members',
219 [Crud\GroupsController::class, 'ajaxMembers']
220 )->setName('ajaxGroupMembers')->add($authenticate);
221
222 $app->get(
223 '/member/{id:\d+}/file/{fid:\d+}/{pos:\d+}/{name}',
224 [Crud\MembersController::class, 'getDynamicFile']
225 )->setName('getDynamicFile')->add($authenticate);
226
227 $app->get(
228 '/members/mass-change',
229 [Crud\MembersController::class, 'massChange']
230 )->setName('masschangeMembers')->add($authenticate);
231
232 $app->post(
233 '/members/mass-change/validate',
234 [Crud\MembersController::class, 'validateMassChange']
235 )->setName('masschangeMembersReview')->add($authenticate);
236
237 $app->post(
238 '/members/mass-change',
239 [Crud\MembersController::class, 'doMassChange']
240 )->setName('massstoremembers')->add($authenticate);
241
242 //Duplicate member
243 $app->get(
244 '/members/duplicate/{' . Adherent::PK . ':\d+}',
245 [Crud\MembersController::class, 'duplicate']
246 )->setName('duplicateMember')->add($authenticate);
247
248 //saved searches
249 $app->map(
250 ['GET', 'POST'],
251 '/save-search',
252 [Crud\SavedSearchesController::class, 'doAdd']
253 )->setName('saveSearch');
254
255 $app->get(
256 '/saved-searches[/{option:page|order}/{value:\d+}]',
257 [Crud\SavedSearchesController::class, 'list']
258 )->setName('searches')->add($authenticate);
259
260 $app->get(
261 '/search/remove/{id:\d+}',
262 [Crud\SavedSearchesController::class, 'confirmDelete']
263 )->setName('removeSearch')->add($authenticate);
264
265 $app->get(
266 '/searches/remove',
267 [Crud\SavedSearchesController::class, 'confirmDelete']
268 )->setName('removeSearches')->add($authenticate);
269
270 $app->post(
271 '/search/remove' . '[/{id:\d+}]',
272 [Crud\SavedSearchesController::class, 'delete']
273 )->setName('doRemoveSearch')->add($authenticate);
274
275 $app->get(
276 '/save-search/{id}',
277 [Crud\SavedSearchesController::class, 'load']
278 )->setName('loadSearch');