Skip to content

Commit

Permalink
added: setting to add a river event on group ownership transfer
Browse files Browse the repository at this point in the history
fixes #59
  • Loading branch information
jdalsem committed Jun 18, 2024
1 parent ca148f4 commit f90cf9d
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 0 deletions.
1 change: 1 addition & 0 deletions elgg-plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
'creation_reason' => 0,
'concept_groups' => 0,
'admin_transfer' => 'no',
'owner_transfer_river' => 0,
'simple_access_tab' => 'no',
'simple_tool_presets' => 'no',
'auto_accept_membership_requests' => 'no',
Expand Down
5 changes: 5 additions & 0 deletions languages/en.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
'group_tools:settings:admin_transfer' => "Allow group owner transfer",
'group_tools:settings:admin_transfer:admin' => "Site admin only",
'group_tools:settings:admin_transfer:owner' => "Group owners and site admins",

'group_tools:settings:owner_transfer_river' => "Add river activity when ownership is transferred",

'group_tools:settings:multiple_admin' => "Allow multiple group admins",
'group_tools:settings:auto_suggest_groups' => "Auto suggest groups on the 'Suggested' groups page based on profile information",
Expand Down Expand Up @@ -428,6 +430,9 @@
'group_tools:action:toggle_special_state:error:state' => "Invalid state provided",
'group_tools:action:toggle_special_state:suggested' => "The new suggested settings were saved successfully",

// river
'river:group:owner_transfer' => '%s is now the owner of the group %s',

// Widgets
// Group River Widget
'widgets:group_river_widget:name' => "Group activity",
Expand Down
1 change: 1 addition & 0 deletions languages/nl.php
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@
'group_tools:settings:admin_transfer' => 'Sta groep eigenaar overdracht toe',
'group_tools:settings:admin_transfer:admin' => 'Alleen site beheerders',
'group_tools:settings:admin_transfer:owner' => 'Groep eigenaren en site beheerder',
'group_tools:settings:owner_transfer_river' => 'Voeg melding toe aan de activiteitenstroom als eigenaarsschap wordt overgedragen',
'group_tools:settings:multiple_admin' => 'Sta meerdere groepsbeheerders toe',
'group_tools:settings:invite' => 'Mogen alle gebruikers worden uitgenodigd (niet alleen vrienden)',
'group_tools:settings:invite_email' => 'Nodig gebruikers uit op basis van e-mailadres',
Expand Down
8 changes: 8 additions & 0 deletions lib/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -528,6 +528,14 @@ function group_tools_transfer_group_ownership(\ElggGroup $group, \ElggUser $new_
$old_owner->addRelationship($group->guid, 'group_admin');
}

if (elgg_get_plugin_setting('owner_transfer_river', 'group_tools')) {
elgg_create_river_item([
'action_type' => 'owner_transfer',
'subject_guid' => $new_owner->guid,
'object_guid' => $group->guid,
]);
}

// unregister event handler to make sure transfer can complete
elgg_unregister_event_handler('permissions_check', 'group', '\ColdTrick\GroupTools\Permissions::allowGroupOwnerTransfer');

Expand Down
10 changes: 10 additions & 0 deletions views/default/plugins/group_tools/settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,16 @@
'value' => $plugin->admin_transfer,
]);

$group_edit .= elgg_view_field([
'#type' => 'checkbox',
'#label' => elgg_echo('group_tools:settings:owner_transfer_river'),
'name' => 'params[owner_transfer_river]',
'checked' => (bool) $plugin->owner_transfer_river,
'switch' => true,
'default' => 0,
'value' => 1,
]);

$group_edit .= elgg_view_field([
'#type' => 'checkbox',
'#label' => elgg_echo('group_tools:settings:simple_access_tab'),
Expand Down

0 comments on commit f90cf9d

Please sign in to comment.