Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
MailTemplatesPreview
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 readResponse
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * @package ZMS API
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsapi;
9
10use BO\Slim\Render;
11use BO\Mellon\Validator;
12use BO\Zmsdb\Mail;
13use BO\Zmsdb\Config;
14use BO\Zmsdb\MailTemplates as MailTemplatesQuery;
15use BO\Zmsapi\Helper\User;
16
17class MailTemplatesPreview extends BaseController
18{
19    /**
20     * @SuppressWarnings(Param)
21     * @return String
22     */
23    public function readResponse(
24        \Psr\Http\Message\RequestInterface $request,
25        \Psr\Http\Message\ResponseInterface $response,
26        array $args
27    ) {
28        (new Helper\User($request))->checkRights('superuser');
29
30        $mailStatus = $args['mailStatus'];
31        $providerId = $args['providerId'];
32
33        $mainProcessExample = ((new \BO\Zmsentities\Process())->getExample());
34        $mainProcessExample->id = 987654;
35        $mainProcessExample->scope->provider['id'] = $providerId;
36        $dateTime = new \DateTimeImmutable("2015-10-23 08:00:00", new \DateTimeZone('Europe/Berlin'));
37        $mainProcessExample->getFirstAppointment()->setDateTime($dateTime);
38        $mainProcessExample->requests[] = (new \BO\Zmsentities\Request())->getExample();
39
40        $config = (new Config())->readEntity();
41        $mail = (new \BO\Zmsentities\Mail())
42            ->setTemplateProvider(new \BO\Zmsdb\Helper\MailTemplateProvider($mainProcessExample))
43            ->toResolvedEntity($mainProcessExample, $config, $mailStatus);
44
45        $message = Response\Message::create($request);
46        $message->data = array('xy' => 'Missing dummy template.','previewHtml' => $mail->getHtmlPart(),'previewPlain' => $mail->getPlainPart());
47
48        $response = Render::withLastModified($response, time(), '0');
49        $response = Render::withJson($response, $message, $message->getStatuscode());
50
51        return $response;
52    }
53}