Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
MailTemplatePreviewMail
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 1
 readResponse
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3 namespace BO\Zmsadmin\Helper;
4
5 use BO\Zmsadmin\BaseController;
6 use BO\Zmsadmin\Helper\MailTemplateArrayProvider;
7 use Twig\Error\LoaderError;
8 use Twig\Error\RuntimeError;
9 use Twig\Error\SyntaxError;
10 use Twig\Environment;
11 use Symfony\Bridge\Twig\Extension\TranslationExtension;
12 use Twig\Extra\Intl\IntlExtension;
13
14class MailTemplatePreviewMail extends BaseController
15{
16    public function readResponse(
17        \Psr\Http\Message\RequestInterface $request,
18        \Psr\Http\Message\ResponseInterface $response,
19        array $args
20    ) {
21
22        $mailStatus = $args['mailStatus'];
23        $validator = $request->getAttribute('validator');
24        $input = $validator->getInput()->isJson()->getValue();
25
26        $mainProcessExample = ((new \BO\Zmsentities\Process())->getExample());
27        $mainProcessExample->id = 987654;
28        $dateTime = new \DateTimeImmutable("2015-10-23 08:00:00", new \DateTimeZone('Europe/Berlin'));
29        $mainProcessExample->getFirstAppointment()->setDateTime($dateTime);
30        $mainProcessExample->requests[] = (new \BO\Zmsentities\Request())->getExample();
31
32        $templates = array();
33
34        foreach ($input['templates'] as $template) {
35            $templates[$template['templateName']] = $template['templateContent'];
36        };
37
38        $templateProvider = new MailTemplateArrayProvider();
39        $templateProvider->setTemplates($templates);
40
41        $config = new \BO\Zmsentities\Config();
42
43        try {
44            $mail = (new \BO\Zmsentities\Mail())
45            ->setTemplateProvider($templateProvider)
46            ->toResolvedEntity($mainProcessExample, $config, $mailStatus);
47        } catch (\Exception $e) {
48            return \BO\Slim\Render::withJson(
49                $response,
50                array(
51                    'error' => $e->getMessage()
52                )
53            );
54        }
55
56        return \BO\Slim\Render::withJson(
57            $response,
58            array(
59                'previewHtml' => $mail->getHtmlPart(),
60                'previewPlain' => $mail->getPlainPart()
61            )
62        );
63    }
64}