diff --git a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php index 77f267d69f532d5dc3bc12e29a925f5397655720..06d674eea5a34e20c49c7542b2b7bc960868a192 100644 --- a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php +++ b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php @@ -122,6 +122,7 @@ class ReviewController 'availableStages' => $this->stagesService->getStagesForWSUser(), 'availableSelectStages' => $this->getAvailableSelectStages(), 'stageActions' => $this->getStageActions(), + 'showEntireWorkspaceDropDown' => !(($backendUser->workspaceRec['publish_access'] ?? 0) & 4), 'selectedLanguage' => $selectedLanguage, 'selectedDepth' => (int)$moduleData->get('depth', ($pageUid === 0 ? 999 : 1)), 'selectedStage' => (int)$moduleData->get('stage'), diff --git a/typo3/sysext/workspaces/Configuration/TCA/sys_workspace.php b/typo3/sysext/workspaces/Configuration/TCA/sys_workspace.php index 16ad3c6b09f660f60c72a70198d160d794ee0f33..a3da1470d328f011ac3db82b07c20a773f7e20b9 100644 --- a/typo3/sysext/workspaces/Configuration/TCA/sys_workspace.php +++ b/typo3/sysext/workspaces/Configuration/TCA/sys_workspace.php @@ -107,6 +107,7 @@ return [ 'items' => [ ['LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xlf:sys_workspace.publish_access.1'], ['LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xlf:sys_workspace.publish_access.2'], + ['LLL:EXT:workspaces/Resources/Private/Language/locallang_db.xlf:sys_workspace.publish_access.3'], ], ], ], diff --git a/typo3/sysext/workspaces/Resources/Private/Language/locallang_db.xlf b/typo3/sysext/workspaces/Resources/Private/Language/locallang_db.xlf index ebdb94112d4bb7e09da716585d6a58ed7758d5a5..aea6a0329766b79f7b3829e0e68d987f423ae541 100644 --- a/typo3/sysext/workspaces/Resources/Private/Language/locallang_db.xlf +++ b/typo3/sysext/workspaces/Resources/Private/Language/locallang_db.xlf @@ -105,6 +105,9 @@ <trans-unit id="sys_workspace.publish_access.2" resname="sys_workspace.publish_access.2"> <source>Restrict publishing to workspace owners</source> </trans-unit> + <trans-unit id="sys_workspace.publish_access.3" resname="sys_workspace.publish_access.3"> + <source>Hide "Entire workspace" action drop down</source> + </trans-unit> <trans-unit id="sys_workspace.stagechg_notification" resname="sys_workspace.stagechg_notification"> <source>Notification settings during state change</source> </trans-unit> diff --git a/typo3/sysext/workspaces/Resources/Private/Partials/WorkingTable.html b/typo3/sysext/workspaces/Resources/Private/Partials/WorkingTable.html index 0f955ec8ff1d8b3e35a6a9f87cfdc49c5e7c89dc..d9430a647851838bc09ec841bdf0735b3d24d4a3 100644 --- a/typo3/sysext/workspaces/Resources/Private/Partials/WorkingTable.html +++ b/typo3/sysext/workspaces/Resources/Private/Partials/WorkingTable.html @@ -46,7 +46,7 @@ </div> </div> </form> - <f:render section="multiRecordSelectionActions" arguments="{stageActions: stageActions, availableStages: availableStages, position: 'top'}" /> + <f:render section="multiRecordSelectionActions" arguments="{stageActions: stageActions, availableStages: availableStages, showEntireWorkspaceDropDown: showEntireWorkspaceDropDown, position: 'top'}" /> <div id="workspace-content-wrapper"> <div id="workspace-contents" class="table-fit mb-0" style="display: none"> <table class="table table-striped"> @@ -94,16 +94,16 @@ </div> </div> </div> - <f:render section="multiRecordSelectionActions" arguments="{stageActions: stageActions, availableStages: availableStages, position: 'bottom'}" /> + <f:render section="multiRecordSelectionActions" arguments="{stageActions: stageActions, availableStages: availableStages, showEntireWorkspaceDropDown: showEntireWorkspaceDropDown, position: 'bottom'}" /> <nav id="workspace-pagination" class="mt-3"></nav> </div> </html> <f:section name="multiRecordSelectionActions"> <div class="row workspace-actions multi-record-selection-actions-wrapper gx-0 hidden"> - <f:if condition="{stageActions}"> + <f:if condition="{stageActions} && {showEntireWorkspaceDropDown}"> <div class="col-auto"> - <div class="row row-cols-auto align-items-center g-2"> + <div class="row row-cols-auto align-items-center g-2 me-2"> <label class="col" for="mass-action-{position}"> <strong><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:entireWorkspace" /></strong> </label> @@ -119,7 +119,7 @@ </div> </f:if> <div class="col-auto"> - <div class="row row-cols-auto align-items-center g-2 mx-2 t3js-multi-record-selection-actions hidden"> + <div class="row row-cols-auto align-items-center g-2 t3js-multi-record-selection-actions hidden"> <div class="col"> <strong><f:translate key="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.selection"/></strong> </div>