Skip to content
Snippets Groups Projects
Commit 70e534db authored by Torsten Oppermann's avatar Torsten Oppermann
Browse files

[TASK] Refactoring MailController

parent 9db515a0
No related branches found
No related tags found
1 merge request!1Feature sg mail
......@@ -41,9 +41,17 @@ class MailController extends ActionController {
protected $languageRepository = NULL;
/**
*
* @param string $selectedTemplate
* @param string $selectedExtension
* @param string $selectedLanguageLeft
* @param string $selectedLanguageRight
* @param string $selectedExtensionKey
* @param string $selectedTemplateKey
*/
public function indexAction() {
public function indexAction(
$selectedTemplate = NULL, $selectedExtension = NULL, $selectedLanguageLeft = NULL,
$selectedLanguageRight = NULL, $selectedExtensionKey = NULL, $selectedTemplateKey = NULL
) {
$activatedLanguages = $this->languageRepository->findSelected();
$languages = ['en'];
......@@ -54,48 +62,48 @@ class MailController extends ActionController {
$this->view->assign('languages', $languages);
$this->view->assign('templates', MailTemplateService::getRegisterArray());
if ($this->request->hasArgument('selectedTemplate')
&& !$this->request->hasArgument('selectedLanguageLeft')
&& !$this->request->hasArgument('selectedLanguageRight')) {
if (isset($selectedTemplate)
&& !isset($selectedLanguageLeft)
&& !isset($selectedLanguageRight)
) {
$registerArray = MailTemplateService::getRegisterArray();
$selectedExtensionArg = $this->request->getArgument('selectedExtension');
$selectedTemplateArg = $this->request->getArgument('selectedTemplate');
$selectedTemplateArray = $registerArray[$selectedExtension][$selectedTemplate];
$selectedTemplate = $registerArray[$selectedExtensionArg][$selectedTemplateArg];
$this->view->assign('selectedTemplate', $selectedTemplateArray);
$this->view->assign('selectedTemplateKey', $selectedTemplate);
$this->view->assign('selectedExtensionKey', $selectedExtension);
$this->view->assign('selectedTemplate', $selectedTemplate);
$this->view->assign('selectedTemplateKey', (int) $selectedTemplateArg);
$this->view->assign('selectedExtensionKey', $selectedExtensionArg);
} elseif (!$this->request->hasArgument('selectedLanguageLeft')
&& !$this->request->hasArgument('selectedLanguageRight')) {
} elseif (!isset($selectedLanguageLeft) && !isset($selectedLanguageRight)) {
reset(MailTemplateService::getRegisterArray());
$firstEntry = key(MailTemplateService::getRegisterArray());
$secondLevelFirstEntry = key(MailTemplateService::getRegisterArray()[$firstEntry]);
$this->view->assign('selectedTemplate', MailTemplateService::getRegisterArray()[$firstEntry][0]);
$this->view->assign('selectedTemplateKey', (int) $firstEntry);
$this->view->assign(
'selectedTemplate', MailTemplateService::getRegisterArray()[$firstEntry][$secondLevelFirstEntry]
);
$this->view->assign('selectedTemplateKey', $secondLevelFirstEntry);
$this->view->assign('selectedExtensionKey', $firstEntry);
}
if ($this->request->hasArgument('selectedLanguageLeft')
&& $this->request->hasArgument('selectedLanguageRight')
&& $this->request->hasArgument('selectedTemplate')
&& $this->request->hasArgument('selectedExtensionKey')) {
if (isset($selectedLanguageLeft)
&& isset($selectedLanguageRight)
&& isset($selectedTemplate)
&& isset($selectedExtensionKey)) {
$this->view->assign('selectedLanguageLeft', $this->request->getArgument('selectedLanguageLeft'));
$this->view->assign('selectedLanguageRight', $this->request->getArgument('selectedLanguageRight'));
$this->view->assign('selectedTemplate', $this->request->getArgument('selectedTemplate'));
$this->view->assign('selectedTemplateKey', $this->request->getArgument('selectedTemplateKey'));
$this->view->assign('selectedExtensionKey', (int) $this->request->getArgument('selectedExtensionKey'));
$this->view->assign('selectedLanguageLeft', $selectedLanguageLeft);
$this->view->assign('selectedLanguageRight', $selectedLanguageRight);
$this->view->assign(
'selectedTemplate', MailTemplateService::getRegisterArray()[$selectedExtensionKey][$selectedTemplateKey]
);
$this->view->assign('selectedTemplateKey',$selectedTemplateKey);
$this->view->assign('selectedExtensionKey', $selectedExtensionKey);
} else {
$this->view->assign('selectedLanguageLeft', 'en');
$this->view->assign('selectedLanguageRight', 'en');
}
}
}
......@@ -33,14 +33,14 @@
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplate, selectedExtensionKey: selectedExtensionKey, selectedTemplateKey: selectedTemplateKey}"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplate, selectedExtensionKey: selectedExtensionKey, selectedTemplateKey: selectedTemplateKey}" />
arguments="{selectedLanguageLeft: language, selectedLanguageRight: selectedLanguageRight, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
......@@ -63,14 +63,14 @@
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplate, selectedExtensionKey: selectedExtensionKey, selectedTemplateKey: selectedTemplateKey}"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}"
additionalAttributes="{selected: 'selected'}" />
</f:then>
<f:else>
<sgm:be.menus.actionMenuItem label="{language}"
controller="Mail"
action="index"
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplate, selectedExtensionKey: selectedExtensionKey, selectedTemplateKey: selectedTemplateKey}" />
arguments="{selectedLanguageLeft: selectedLanguageLeft, selectedLanguageRight: language, selectedTemplate: selectedTemplateKey, selectedExtensionKey: selectedTemplate.extension, selectedTemplateKey: selectedTemplateKey}" />
</f:else>
</sgm:extendedIf>
</f:for>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment