diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 808a213d2c3d665c0631ea46e8d6bdceb4763fb8..0bbd7bf11aac51ba358de7b63ecff4b1b9ea4dbd 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -149,6 +149,7 @@ class MailController extends ActionController { $colspace = 12; } + $this->view->assign('users', BackendService::getFrontendUsers()); $this->view->assign('colspace', $colspace); $this->view->assign('languageTemplates', $templates); $this->view->assign('languageLabels', BackendService::getLanguageLabels()); diff --git a/Classes/Service/BackendService.php b/Classes/Service/BackendService.php index 5e7844b36efed7e386355ba5a21a1bc306fab6da..e5514332e4e9a05fee99b96397a9878c6cd4d4e7 100644 --- a/Classes/Service/BackendService.php +++ b/Classes/Service/BackendService.php @@ -35,6 +35,8 @@ use TYPO3\CMS\Core\Database\DatabaseConnection; use TYPO3\CMS\Core\Imaging\Icon; use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; +use TYPO3\CMS\Extbase\Domain\Model\FrontendUser; +use TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository; use TYPO3\CMS\Extbase\Mvc\Request; use TYPO3\CMS\Extbase\Object\ObjectManager; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; @@ -332,4 +334,18 @@ class BackendService { return $template; } + + /** + * get an array of all frontend users + * + * @return array + * @throws \InvalidArgumentException + */ + public static function getFrontendUsers() { + $objectManager = GeneralUtility::makeInstance(ObjectManager::class); + /** @var FrontendUserRepository $frontendUserRepository */ + $frontendUserRepository = $objectManager->get(FrontendUserRepository::class); + + return $frontendUserRepository->findAll()->toArray(); + } } diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf index bdc39428dc46de76a9978f072ddaf7f13724f701..0f3e41a4988812fe7bb598b9457d0687fc6bae0f 100644 --- a/Resources/Private/Language/de.locallang.xlf +++ b/Resources/Private/Language/de.locallang.xlf @@ -149,6 +149,10 @@ <source>Sender Name</source> <target>Absender-Name</target> </trans-unit> + <trans-unit id="backend.fromUser" approved="yes"> + <source>From User (overwrites other from fields):</source> + <target>Absender Benutzer (hat Vorrang falls gesetzt):</target> + </trans-unit> <trans-unit id="backend.language_default" approved="yes"> <source>Default</source> <target>Standard</target> @@ -311,4 +315,4 @@ </trans-unit> </body> </file> -</xliff> +</xliff> \ No newline at end of file diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index 36058f201acdaeff78afc927858830b6db4c01b4..927ab6cabecdbcbd739b3203bb6ff1e890844e57 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -114,6 +114,9 @@ <trans-unit id="backend.fromName"> <source>Sender Name</source> </trans-unit> + <trans-unit id="backend.fromUser"> + <source>From User (overwrites other from fields):</source> + </trans-unit> <trans-unit id="backend.language_default"> <source>Default</source> </trans-unit> diff --git a/Resources/Private/Templates/Mail/Index.html b/Resources/Private/Templates/Mail/Index.html index 717be9e361c327e4458f618688bee46a34c96d35..8af318e8eb55e8e8761bbf1076d6474f12440efe 100644 --- a/Resources/Private/Templates/Mail/Index.html +++ b/Resources/Private/Templates/Mail/Index.html @@ -94,8 +94,11 @@ </f:if> </f:for> - <div class="col-md-12"> + <div class="row form-group"> + <label for="parameters[templates][{key}][fromUser]" class="">{f:translate(key:'backend.fromUser')}</label> + <f:form.select class="form-control" property="fromName" options="{users}" name="parameters[templates][{key}][fromUser]"/> + </div> <div class="row form-group"> <label for="parameters[templates][{key}][fromName]" class="">{f:translate(key:'backend.fromName')}</label> <f:form.textfield type="text" class="form-control" value="{languageTemplate.fromName}" name="parameters[templates][{key}][fromName]" />