3declare(strict_types=1);
5namespace Bitrix\Socialnetwork\Collab\Controller;
7use Bitrix\Main\DI\ServiceLocator;
8use Bitrix\Main\Engine\AutoWire\Parameter;
9use Bitrix\Main\Engine\Controller;
10use Bitrix\Main\Engine\CurrentUser;
12use Bitrix\SocialNetwork\Collab\Access\CollabAccessController;
13use Bitrix\SocialNetwork\Collab\Access\CollabDictionary;
14use Bitrix\SocialNetwork\Collab\Access\Model\CollabModel;
15use Bitrix\Socialnetwork\Collab\Control\Member\CollabMemberFacade;
16use Bitrix\Socialnetwork\Collab\Controller\Dto\Moderator\AddModeratorDto;
17use Bitrix\Socialnetwork\Collab\Controller\Dto\Moderator\DeleteModeratorDto;
18use Bitrix\Socialnetwork\Collab\Controller\Filter\BooleanPostFilter;
19use Bitrix\Socialnetwork\Collab\Controller\Filter\IntranetUserFilter;
20use Bitrix\Socialnetwork\Collab\Controller\Trait\GetCollabIdBySourceTrait;
21use Bitrix\Socialnetwork\Control\Member\Command\MembersCommand;
25 use GetCollabIdBySourceTrait;
34 AddModeratorDto::class,
37 $requestData =
$request->getPostList()->toArray();
38 $requestData[
'groupId'] = $this->resolveCollabId(
$request,
'groupId');
44 DeleteModeratorDto::class,
47 $requestData =
$request->getPostList()->toArray();
48 $requestData[
'groupId'] = $this->resolveCollabId(
$request,
'groupId');
78 if (empty($dto->moderatorMembers))
84 ->setMembers($dto->moderatorMembers)
85 ->setInitiatorId($this->userId)
86 ->setGroupId($dto->groupId)
89 $model = CollabModel::createFromId($dto->groupId)
90 ->setAddModeratorMembers($dto->moderatorMembers);
96 $this->addError(
new Error(
'Access denied'));
101 $result = $this->memberFacade->addModerators($command);
104 $this->addErrors(
$result->getErrors());
117 if (empty($dto->moderatorMembers))
123 ->setMembers($dto->moderatorMembers)
124 ->setInitiatorId($this->userId)
125 ->setGroupId($dto->groupId)
128 $model = CollabModel::createFromId($dto->groupId)
129 ->setDeleteModeratorMembers($dto->moderatorMembers);
135 $this->addError(
new Error(
'Access denied'));
140 $result = $this->memberFacade->deleteModerators($command);
143 $this->addErrors(
$result->getErrors());
151 protected function init(): void
155 $this->memberFacade = ServiceLocator::getInstance()->get(
'socialnetwork.collab.member.facade');
156 $this->userId = (int)CurrentUser::get()->getId();
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
static createFromRequest(mixed $request)
deleteAction(DeleteModeratorDto $dto)
CollabMemberFacade $memberFacade
addAction(AddModeratorDto $dto)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)