55 $view->assign(
'actions', $this->availableActions);
56 return $view->render();
67 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_action');
68 $queryBuilder->getRestrictions()
70 ->add(GeneralUtility::makeInstance(HiddenRestriction::class))
71 ->add(GeneralUtility::makeInstance(RootLevelRestriction::class, [
76 ->select(
'sys_action.*')
79 if (!empty(
$GLOBALS[
'TCA'][
'sys_action'][
'ctrl'][
'sortby'])) {
80 $queryBuilder->orderBy(
'sys_action.' .
$GLOBALS[
'TCA'][
'sys_action'][
'ctrl'][
'sortby']);
83 if (!$backendUser->isAdmin()) {
84 $groupList = $backendUser->groupList ?:
'0';
91 $queryBuilder->expr()->eq(
92 'sys_action_asgr_mm.uid_local',
93 $queryBuilder->quoteIdentifier(
'sys_action.uid')
100 $queryBuilder->expr()->eq(
101 'sys_action_asgr_mm.uid_foreign',
102 $queryBuilder->quoteIdentifier(
'be_groups.uid')
106 $queryBuilder->expr()->in(
108 $queryBuilder->createNamedParameter(
109 GeneralUtility::intExplode(
',', $groupList,
true),
110 Connection::PARAM_INT_ARRAY
114 ->groupBy(
'sys_action.uid');
118 $uriBuilder = GeneralUtility::makeInstance(\
TYPO3\CMS\Backend\Routing\UriBuilder::class);
119 $result = $queryBuilder->execute();
120 while ($actionRow = $result->fetch()) {
121 $actionRow[
'link'] = sprintf(
122 '%s&SET[mode]=tasks&SET[function]=sys_action.%s&show=%u',
123 (
string)$uriBuilder->buildUriFromRoute(
'user_task'),
127 $actionEntries[] = $actionRow;
130 $this->availableActions = $actionEntries;
161 return !empty($this->availableActions);
192 $view = GeneralUtility::makeInstance(StandaloneView::class);
193 $view->setLayoutRootPaths([
'EXT:sys_action/Resources/Private/Layouts']);
194 $view->setPartialRootPaths([
195 'EXT:backend/Resources/Private/Partials/ToolbarItems',
196 'EXT:sys_action/Resources/Private/Partials'
198 $view->setTemplateRootPaths([
'EXT:sys_action/Resources/Private/Templates/ToolbarItems']);
199 $view->setTemplate($filename);
201 $view->getRequest()->setControllerExtensionName(
'SysAction');