Skip to content
Snippets Groups Projects
Commit cba63181 authored by Garvin Hicking's avatar Garvin Hicking Committed by Oliver Bartsch
Browse files

[BUGFIX] Allow deleting scheduler task from detail view

The scheduler detail view offers a "delete" button to delete a
task from that view. This button now properly triggers a POST
request, which is required by the controller to actually handle
the delete action.

Resolves: #102078
Releases: main, 12.4
Change-Id: I8553994f0e0a8b0967e3d93c2c5ceba84b96cc22
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81310


Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarTorben Hansen <derhansen@gmail.com>
Reviewed-by: default avatarTorben Hansen <derhansen@gmail.com>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
parent aaf34a3d
Branches
Tags
No related merge requests found
......@@ -23,6 +23,7 @@ use TYPO3\CMS\Backend\Attribute\Controller as BackendController;
use TYPO3\CMS\Backend\Module\ModuleData;
use TYPO3\CMS\Backend\Routing\UriBuilder;
use TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\Buttons\GenericButton;
use TYPO3\CMS\Backend\Template\ModuleTemplate;
use TYPO3\CMS\Backend\Template\ModuleTemplateFactory;
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
......@@ -877,17 +878,19 @@ final class SchedulerModuleController
{
$languageService = $this->getLanguageService();
$buttonBar = $moduleTemplate->getDocHeaderComponent()->getButtonBar();
$deleteButton = $buttonBar->makeLinkButton()
->setHref((string)$this->uriBuilder->buildUriFromRoute('scheduler_manage', ['action' => ['delete' => $taskUid]]))
->setClasses('t3js-modal-trigger')
->setDataAttributes([
'severity' => 'warning',
'title' => $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete'),
'button-close-text' => $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel'),
'bs-content' => $languageService->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.delete'),
$deleteButton = GeneralUtility::makeInstance(GenericButton::class)
->setTag('button')
->setClasses('btn btn-default t3js-modal-trigger')
->setAttributes([
'type' => 'submit',
'data-target-form' => 'tx_scheduler_form_delete_' . $taskUid,
'data-severity' => 'warning',
'data-title' => $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete'),
'data-button-close-text' => $languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel'),
'data-bs-content' => $languageService->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.delete'),
])
->setIcon($this->iconFactory->getIcon('actions-edit-delete', IconSize::SMALL))
->setTitle($languageService->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete'))
->setLabel($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete'))
->setShowLabelText(true);
$buttonBar->addButton($deleteButton, ButtonBar::BUTTON_POSITION_LEFT, 6);
}
......
......@@ -75,6 +75,7 @@
data-severity="warning"
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
data-bs-content="{f:translate(key: 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.delete')}"
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete')}"
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete')}"
>
<core:icon identifier="actions-edit-delete"/>
......@@ -465,6 +466,7 @@
data-severity="warning"
data-button-close-text="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:cancel')}"
data-bs-content="{f:translate(key: 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.delete')}"
data-title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete')}"
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:delete')}"
>
<core:icon identifier="actions-edit-delete"/>
......
......@@ -71,6 +71,10 @@
</fieldset>
</form>
<form name="tx_scheduler_form_delete_{uid}" id="tx_scheduler_form_delete_{uid}" method="post">
<input name="action[delete]" type="hidden" value="{uid}">
</form>
<f:render partial="ServerTime" arguments="{dateFormat: dateFormat}" />
</f:section>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment