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

[TASK] Sgmail integration

parent b59516a0
No related branches found
No related tags found
No related merge requests found
......@@ -27,6 +27,9 @@ namespace SGalinski\SgJobs\Controller;
***************************************************************/
use SGalinski\SgJobs\Service\BackendService;
use SGalinski\SgMail\Service\MailTemplateService;
use TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException;
use TYPO3\CMS\Core\Exception;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
......@@ -34,6 +37,11 @@ use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
* The joblist plugin controller
*/
class JoblistController extends ActionController {
/**
* @var \TYPO3\CMS\Extbase\Object\ObjectManager
* @inject
*/
protected $objectManager;
/**
* @var \SGalinski\SgJobs\Domain\Repository\CompanyRepository
......@@ -60,17 +68,51 @@ class JoblistController extends ActionController {
// get all jobs for the next root page
$jobs = $this->jobRepository->findJobs(BackendService::getRootUidByPageUid($pageUid));
$this->view->assign('jobs', $jobs);
debug(BackendService::getRootUidByPageUid($pageUid));
debug($jobs);
}
public function applyFormAction() {
/**
* @param string $jobTitle
*/
public function applyFormAction($jobTitle = '') {
$this->view->assign('jobTitle', $jobTitle);
}
/**
* @param array $applyData
* @return void
*/
public function applyAction(array $applyData = []) {
// get an instance of the mail service
/** @var MailTemplateService $mailService */
$mailService = $this->objectManager->get(
MailTemplateService::class, 'application_mail', 'sg_jobs', $this->getApplicationMailMarkers($applyData)
);
$mailService->setIgnoreMailQueue(TRUE);
$mailService->setToAddresses('torsten@sgalinski.de');
try {
$mailService->sendEmail();
} catch (Exception $exception) {
public function applyAction() {
}
}
/**
* @param array $applyData
* @return array
*/
private function getApplicationMailMarkers(array $applyData = []) {
return [
'jobtitle' => $applyData['jobTitle'],
'salutation' => $applyData['salutation'],
'firstname' => $applyData['firstName'],
'lastname' => $applyData['lastName'],
'street' => $applyData['street'],
'city' => $applyData['city'],
'country' => $applyData['country'],
'phone' => $applyData['phone'],
'mobile' => $applyData['mobile'],
'email' => $applyData['email'],
'message' => $applyData['message']
];
}
}
......@@ -42,6 +42,12 @@ return [
'value' => '99999',
'description' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang.xlf:application_mail.marker.zip'
],
[
'marker' => 'city',
'type' => \SGalinski\SgMail\Service\MailTemplateService::MARKER_TYPE_STRING,
'value' => 'München',
'description' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang.xlf:application_mail.marker.city'
],
[
'marker' => 'country',
'type' => \SGalinski\SgMail\Service\MailTemplateService::MARKER_TYPE_STRING,
......
......@@ -9,6 +9,10 @@
<authorEmail>fabian@sgalinski.de</authorEmail>
</header>
<body>
<trans-unit id="application_mail.marker.city" approved="yes">
<source>City</source>
<target>Ort</target>
</trans-unit>
<trans-unit id="application_mail.marker.country" approved="yes">
<source>Country</source>
<target>Land</target>
......@@ -162,6 +166,10 @@
<source>Street</source>
<target>Strasse</target>
</trans-unit>
<trans-unit id="frontend.apply.thank_you" approved="yes">
<source>Thank you for your application!</source>
<target>Vielen Dank für Ihre Bewerbung!</target>
</trans-unit>
<trans-unit id="frontend.apply.title" approved="yes">
<source>Job title</source>
<target>Job-Titel</target>
......
......@@ -9,6 +9,9 @@
<authorEmail>fabian@sgalinski.de</authorEmail>
</header>
<body>
<trans-unit id="application_mail.marker.city">
<source>City</source>
</trans-unit>
<trans-unit id="application_mail.marker.country">
<source>Country</source>
</trans-unit>
......@@ -123,6 +126,9 @@
<trans-unit id="frontend.apply.street">
<source>Street</source>
</trans-unit>
<trans-unit id="frontend.apply.thank_you">
<source>Thank you for your application!</source>
</trans-unit>
<trans-unit id="frontend.apply.title">
<source>Job title</source>
</trans-unit>
......
......@@ -67,6 +67,7 @@
<div>
<f:form action="applyForm" controller="Joblist">
<f:form.hidden value="{job.title}" property="jobTitle" />
<f:form.submit value="{f:translate(key:'frontend.applyNow')}" />
</f:form>
</div>
......
<f:layout name="Default" />
<f:section name="main">
<p>
<f:translate key="frontend.apply.thank_you" />
</p>
</f:section>
......@@ -3,7 +3,7 @@
<f:section name="main">
<f:form action="apply" controller="Joblist" method="post" objectName="applyData" object="{applyData}" enctype="multipart/form-data">
<label for="apply-jobTitle"><f:translate key="frontend.apply.title" /></label>
<f:form.textfield property="jobTitle" id="apply-jobTitle" data="{}" class="" />
<f:form.textfield property="jobTitle" id="apply-jobTitle" data="{}" class="" value="{jobTitle}"/>
<br />
<label for="apply-salutation"><f:translate key="frontend.apply.salutation" /></label>
<f:form.textfield property="salutation" id="apply-salutation" data="{}" class="" />
......
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