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 \Psr\Http\Message\ResponseInterface
22     */
23    #[\Override]
24    public function readResponse(
25        \Psr\Http\Message\RequestInterface $request,
26        \Psr\Http\Message\ResponseInterface $response,
27        array $args
28    ) {
29        (new Helper\User($request))->checkPermissions('mailtemplates');
30
31        $mailStatus = $args['mailStatus'];
32        $providerId = $args['providerId'];
33
34        $mainProcessExample = ((new \BO\Zmsentities\Process())->getExample());
35        $mainProcessExample->id = 987654;
36        $mainProcessExample->scope->provider['id'] = $providerId;
37        $dateTime = new \DateTimeImmutable("2015-10-23 08:00:00", new \DateTimeZone('Europe/Berlin'));
38        $mainProcessExample->getFirstAppointment()->setDateTime($dateTime);
39        $mainProcessExample->requests[] = (new \BO\Zmsentities\Request())->getExample();
40
41        $config = (new Config())->readEntity();
42        $mail = (new \BO\Zmsentities\Mail())
43            ->setTemplateProvider(new \BO\Zmsdb\Helper\MailTemplateProvider($mainProcessExample))
44            ->toResolvedEntity($mainProcessExample, $config, $mailStatus);
45
46        $message = Response\Message::create($request);
47        $message->data = array('xy' => 'Missing dummy template.','previewHtml' => $mail->getHtmlPart(),'previewPlain' => $mail->getPlainPart());
48
49        $response = Render::withLastModified($response, time(), '0');
50        $response = Render::withJson($response, $message, $message->getStatuscode());
51
52        return $response;
53    }
54}