Skip to content

Commit 250898b

Browse files
committed
added: organizing users now also have the right to edit/manage an event
1 parent 8c9ccf1 commit 250898b

File tree

5 files changed

+38
-0
lines changed

5 files changed

+38
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
}

elgg-plugin.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,11 @@
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' => [],

languages/en.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
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',

languages/nl.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
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',

views/default/forms/event_manager/event/tabs/contact.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
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,

0 commit comments

Comments
 (0)