Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
18 / 18
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
DialogHandler
100.00% covered (success)
100.00%
18 / 18
100.00% covered (success)
100.00%
1 / 1
5
100.00% covered (success)
100.00%
1 / 1
 readResponse
100.00% covered (success)
100.00%
18 / 18
100.00% covered (success)
100.00%
1 / 1
5
1<?php
2
3/**
4 *
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 *
7 */
8
9namespace BO\Zmsadmin\Helper;
10
11class DialogHandler extends \BO\Zmsadmin\BaseController
12{
13    /**
14     * @SuppressWarnings(UnusedFormalParameter)
15     * @return \Psr\Http\Message\ResponseInterface
16     */
17    #[\Override]
18    public function readResponse(
19        \Psr\Http\Message\RequestInterface $request,
20        \Psr\Http\Message\ResponseInterface $response,
21        array $args
22    ): \Psr\Http\Message\ResponseInterface {
23        $validator = $request->getAttribute('validator');
24        $template = $validator->getParameter('template')->isString()->getValue();
25        $parameter = $validator->getParameter('parameter')->isArray()->getValue();
26        $parameter = ($parameter) ? $parameter : array();
27
28        if (isset($parameter['id'])) {
29            $result = \App::$http->readGetResult('/process/' . $parameter['id'] . '/');
30            if ($result) {
31                $process = $result->getEntity();
32                $parameter['settings']['isWithAppointment'] = $process->isWithAppointment();
33                $parameter['settings']['hasMail'] = (
34                    $process->getFirstClient()->hasEmail() && $process->scope->hasEmailFrom()
35                );
36                $parameter['id'] = $process->queue->number;
37            }
38        }
39
40        return \BO\Slim\Render::withHtml(
41            $response,
42            'element/helper/dialog/' . $template . '.twig',
43            $parameter
44        );
45    }
46}