From 6e649291bb7b64dde8ee2ecb6c090517bd9973c4 Mon Sep 17 00:00:00 2001 From: Andreas Fernandez <a.fernandez@scripting-base.de> Date: Fri, 11 Mar 2016 09:45:54 +0100 Subject: [PATCH] [TASK] Use DocHeader buttons in PermissionController The save / abort buttons in the edit view of the permission controller are replaced by DocHeader buttons to ensure are more consistent UI. Change-Id: Ic035f2bd1f5063a8d0b52310b1f011078f7e6c25 Resolves: #68378 Releases: master, 7.6 Reviewed-on: https://review.typo3.org/47186 Reviewed-by: Daniel Goerz <ervaude@gmail.com> Tested-by: Daniel Goerz <ervaude@gmail.com> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../Controller/PermissionController.php | 33 +++++++++++++++++++ .../Private/Templates/Permission/Edit.html | 5 +-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/beuser/Classes/Controller/PermissionController.php b/typo3/sysext/beuser/Classes/Controller/PermissionController.php index ffcb96da9eed..738233785d9d 100644 --- a/typo3/sysext/beuser/Classes/Controller/PermissionController.php +++ b/typo3/sysext/beuser/Classes/Controller/PermissionController.php @@ -155,12 +155,45 @@ class PermissionController extends ActionController $currentRequest = $this->request; $moduleName = $currentRequest->getPluginName(); $getVars = $this->request->getArguments(); + $lang = $this->getLanguageService(); $extensionName = $currentRequest->getControllerExtensionName(); if (empty($getVars)) { $modulePrefix = strtolower('tx_' . $extensionName . '_' . $moduleName); $getVars = array('id', 'M', $modulePrefix); } + + if ($currentRequest->getControllerActionName() === 'edit') { + // CLOSE button: + $closeUrl = $this->uriBuilder->reset()->setArguments(array( + 'action' => 'index', + 'id' => $this->id + ))->buildBackendUri(); + $closeButton = $buttonBar->makeLinkButton() + ->setHref($closeUrl) + ->setTitle($lang->sL('LLL:EXT:lang/locallang_core.xlf:rm.closeDoc')) + ->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon( + 'actions-document-close', + Icon::SIZE_SMALL + )); + $buttonBar->addButton($closeButton); + + // SAVE button: + $saveButton = $buttonBar->makeInputButton() + ->setTitle($lang->sL('LLL:EXT:lang/locallang_core.xlf:rm.saveCloseDoc')) + ->setName('tx_beuser_system_beusertxpermission[submit]') + ->setValue('Save') + ->setForm('PermissionControllerEdit') + ->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon( + 'actions-document-save', + Icon::SIZE_SMALL + )) + ->setShowLabelText(true); + + $buttonBar->addButton($saveButton); + } + + // SHORTCUT botton: $shortcutButton = $buttonBar->makeShortcutButton() ->setModuleName($moduleName) ->setGetVariables($getVars); diff --git a/typo3/sysext/beuser/Resources/Private/Templates/Permission/Edit.html b/typo3/sysext/beuser/Resources/Private/Templates/Permission/Edit.html index af3d6fcf78fa..a5ac1e0beee5 100644 --- a/typo3/sysext/beuser/Resources/Private/Templates/Permission/Edit.html +++ b/typo3/sysext/beuser/Resources/Private/Templates/Permission/Edit.html @@ -11,7 +11,7 @@ </f:section> <f:section name="content"> - <f:form action="update" name="editform"> + <f:form action="update" name="editform" id="PermissionControllerEdit"> <div class="form-group"> <label><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:Owner" /></label> @@ -78,9 +78,6 @@ <f:form.select id="recursionLevel" name="mirror[pages][{id}]" options="{recursiveSelectOptions}" class="form-control" /> </div> - <f:form.submit class="btn btn-default" name="submit" value="{f:translate(key: 'LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:Save')}" /> - <f:link.action class="btn btn-default" action="index" arguments="{id: id}"><f:translate key="LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:Abort" /></f:link.action> - <f:form.hidden name="data[pages][{id}][perms_user]" value="{pageInfo.perms_user}" /> <f:form.hidden name="data[pages][{id}][perms_group]" value="{pageInfo.perms_group}" /> <f:form.hidden name="data[pages][{id}][perms_everybody]" value="{pageInfo.perms_everybody}" /> -- GitLab