115 self::AVAILABLE_ACTION_VIEW,
118 $groupFields =
$params[
'GROUP'];
120 $queryInitAlias =
$params[
'QUERY_INIT_ALIAS'];
123 'queryInitAlias' =>
$params[
'QUERY_INIT_ALIAS'],
126 if (in_array(
'CURRENT_RELATION', $runtimeFields,
true))
128 $group = $entityManager->wakeUpWorkgroupEntityObject($groupFields);
129 $currentUserRelation = $entityManager->wakeUpCurrentRelationEntityObject($groupFields, $queryInitAlias);
130 $favorites = $entityManager->wakeUpFavoritesEntityObject($groupFields);
132 $accessManager = new \Bitrix\Socialnetwork\Item\Workgroup\AccessManager(
134 $currentUserRelation,
135 $currentUserRelation,
137 'currentUserFavorites' => $favorites,
141 if ($accessManager->canEdit())
143 $result[] = self::AVAILABLE_ACTION_EDIT;
146 if ($accessManager->canSetOwner())
148 $result[] = self::AVAILABLE_ACTION_SET_CURRENT_USER_OWNER;
151 if ($accessManager->canSetScrumMaster())
153 $result[] = self::AVAILABLE_ACTION_SET_CURRENT_USER_SCRUM_MASTER;
156 if ($accessManager->canJoin())
158 $result[] = self::AVAILABLE_ACTION_JOIN;
161 if ($accessManager->canLeave())
163 $result[] = self::AVAILABLE_ACTION_LEAVE;
166 if ($accessManager->canDeleteIncomingRequest())
168 $result[] = self::AVAILABLE_ACTION_DELETE_INCOMING_REQUEST;
171 if ($accessManager->canAddToFavorites())
173 $result[] = self::AVAILABLE_ACTION_ADD_TO_FAVORITES;
176 if ($accessManager->canRemoveFromFavorites())
178 $result[] = self::AVAILABLE_ACTION_REMOVE_FROM_FAVORITES;
181 if ($accessManager->canAddToArchive())
183 $result[] = self::AVAILABLE_ACTION_ADD_TO_ARCHIVE;
186 if ($accessManager->canRemoveFromArchive())
188 $result[] = self::AVAILABLE_ACTION_REMOVE_FROM_ARCHIVE;
191 if ($accessManager->canConvertToCollab())
193 $result[] = self::AVAILABLE_ACTION_CONVERT_TO_COLLAB;
196 if ($accessManager->canDelete())
198 $result[] = self::AVAILABLE_ACTION_DELETE;
263 self::AJAX_ACTION_JOIN,
264 self::AJAX_ACTION_SET_OWNER,
265 self::AJAX_ACTION_SET_SCRUM_MASTER,
266 self::AJAX_ACTION_DELETE_INCOMING_REQUEST,
267 self::AJAX_ACTION_REJECT_OUTGOING_REQUEST,
268 self::AJAX_ACTION_ADD_TO_ARCHIVE,
269 self::AJAX_ACTION_REMOVE_FROM_ARCHIVE,
305 $currentPreset = $this->filterOptions->getCurrentFilterId();
306 $isDefaultPreset = ($this->filterOptions->getDefaultFilterId() === $currentPreset);
307 $additionalFields = $this->filterOptions->getAdditionalPresetFields($currentPreset);
308 $isSearchStringEmpty = ($this->filterOptions->getSearchString() ===
'');
310 return (!$isSearchStringEmpty || !$isDefaultPreset || !empty($additionalFields));