Skip to content

Commit

Permalink
add user group data to the object
Browse files Browse the repository at this point in the history
  • Loading branch information
ipula committed Jan 13, 2025
1 parent 731d834 commit 4f50264
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions pages/invitation/InvitationHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@
use APP\facades\Repo;
use APP\handler\Handler;
use APP\template\TemplateManager;
use PKP\context\Context;
use PKP\core\PKPApplication;
use PKP\facades\Locale;
use PKP\invitation\core\enums\InvitationAction;
use PKP\invitation\core\Invitation;
use PKP\invitation\stepTypes\SendInvitationStep;
use PKP\userGroup\relationships\UserUserGroup;

class InvitationHandler extends Handler
{
Expand Down Expand Up @@ -161,7 +163,7 @@ public function invite(array $args, Request $request): void
$invitationPayload['affiliation'] = $user ? $user->getAffiliation(null) : $payload['affiliation'];
$invitationPayload['country'] = $user ? $user->getCountry() : $payload['userCountry'];
$invitationPayload['userGroupsToAdd'] = $payload['userGroupsToAdd'];
$invitationPayload['currentUserGroups'] = !$invitationModel['userId'] ? [] : $this->getUserUserGroups($invitationModel['userId']);
$invitationPayload['currentUserGroups'] = !$invitationModel['userId'] ? [] : $this->getUserUserGroups($invitationModel['userId'],$request->getContext());
$invitationPayload['userGroupsToRemove'] = !$payload['userGroupsToRemove'] ? null : $payload['userGroupsToRemove'];
$invitationPayload['emailComposer'] = [
'emailBody' => $payload['emailBody'],
Expand Down Expand Up @@ -249,7 +251,7 @@ public function editUser($args, $request): void
$invitationPayload['biography'] = $user->getBiography(null);
$invitationPayload['phone'] = $user->getPhone();
$invitationPayload['userGroupsToAdd'] = [];
$invitationPayload['currentUserGroups'] = $this->getUserUserGroups($args[0]);
$invitationPayload['currentUserGroups'] = $this->getUserUserGroups($args[0],$request->getContext());
$invitationPayload['userGroupsToRemove'] = [];
$invitationPayload['emailComposer'] = [
'emailBody' => '',
Expand Down Expand Up @@ -301,7 +303,7 @@ public function editUser($args, $request): void
),
]);
$templateMgr->assign([
'pageComponent' => 'PageOJS',
'pageComponent' => 'Page',
'breadcrumbs' => $breadcrumbs,
'pageWidth' => TemplateManager::PAGE_WIDTH_FULL,
]);
Expand All @@ -313,9 +315,24 @@ public function editUser($args, $request): void

/**
* Get current user user groups
* @param Context $context
* @param int $id
*/
private function getUserUserGroups(int $id): array
private function getUserUserGroups(int $id , Context $context): array
{
return Repo::userGroup()->userUserGroups($id)->toArray();
$userGroups = [];
$userUserGroups = UserUserGroup::query()
->withUserId($id)
->withContextId($context->getId())
->get()
->toArray();
foreach ($userUserGroups as $key => $userUserGroup) {
$userGroups[$key] = $userUserGroup;
$userGroups[$key]['masthead'] = $userUserGroup['masthead'] === 1;
$userGroups[$key]['name'] = Repo::userGroup()
->get($userUserGroup['userGroupId'])
->toArray()['name'][Locale::getLocale()];
}
return $userGroups;
}
}

0 comments on commit 4f50264

Please sign in to comment.