File tree Expand file tree Collapse file tree 5 files changed +38
-0
lines changed
classes/ColdTrick/EventManager
views/default/forms/event_manager/event/tabs Expand file tree Collapse file tree 5 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace ColdTrick \EventManager ;
4+
5+ /**
6+ * Event related special permissions
7+ */
8+ class Permissions {
9+
10+ /**
11+ * Gives extra rights to event organizers
12+ *
13+ * @param \Elgg\Event $event 'permissions_check', 'object'
14+ *
15+ * @return null|bool
16+ */
17+ public static function organizersCanEdit (\Elgg \Event $ event ): ?bool {
18+ if ($ event ->getValue ()) {
19+ // already true, leave as is
20+ return null ;
21+ }
22+
23+ $ entity = $ event ->getEntityParam ();
24+ if (!$ entity instanceof \Event) {
25+ return null ;
26+ }
27+
28+ return in_array (elgg_get_logged_in_user_guid (), (array ) $ entity ->organizer_guids );
29+ }
30+ }
Original file line number Diff line number Diff line change 328328 '\ColdTrick\EventManager\Widgets::registerHandlers ' => [],
329329 ],
330330 ],
331+ 'permissions_check ' => [
332+ 'object ' => [
333+ '\ColdTrick\EventManager\Permissions::organizersCanEdit ' => [],
334+ ],
335+ ],
331336 'prepare ' => [
332337 'system:email ' => [
333338 '\ColdTrick\EventManager\Notifications::prepareEventRegistrationSender ' => [],
Original file line number Diff line number Diff line change 8181 'event_manager:edit:form:users:or ' => 'or ' ,
8282 'event_manager:edit:form:users:add ' => 'add user ' ,
8383 'event_manager:edit:form:organizer_guids ' => 'Select organizing users ' ,
84+ 'event_manager:edit:form:organizer_guids:help ' => 'Organizing users also get the right to manage this event ' ,
8485 'event_manager:edit:form:contact_guids ' => 'Select contactpersons ' ,
8586 'event_manager:event:edit:maps_address ' => 'Address ' ,
8687 'event_manager:edit:form:region ' => 'Region ' ,
Original file line number Diff line number Diff line change 102102 'event_manager:edit:form:users:or ' => 'of ' ,
103103 'event_manager:edit:form:users:add ' => 'gebruiker toevoegen ' ,
104104 'event_manager:edit:form:organizer_guids ' => 'Selecteer organiserende gebruikers ' ,
105+ 'event_manager:edit:form:organizer_guids:help ' => 'Organiserende gebruikers krijgen ook de rechten om dit evenement te beheren ' ,
105106 'event_manager:edit:form:contact_guids ' => 'Selecteer contactpersonen ' ,
106107 'event_manager:edit:form:fee_details ' => 'Betalingsinstructies ' ,
107108 'event_manager:edit_program:title ' => 'Bewerk het programma van het evenement ' ,
Original file line number Diff line number Diff line change 4040$ output .= elgg_view_field ([
4141 '#type ' => 'userpicker ' ,
4242 '#label ' => elgg_echo ('event_manager:edit:form:organizer_guids ' ),
43+ '#help ' => elgg_echo ('event_manager:edit:form:organizer_guids:help ' ),
4344 '#class ' => $ field_classes ,
4445 'name ' => 'organizer_guids ' ,
4546 'values ' => $ organizer_guids ,
You can’t perform that action at this time.
0 commit comments