Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 55
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
ConfigInfo
0.00% covered (danger)
0.00%
0 / 55
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 / 55
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3/**
4 * @package Zmsadmin
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsadmin;
9
10use BO\Zmsentities\Config as Entity;
11
12class ConfigInfo extends BaseController
13{
14    /**
15     * @SuppressWarnings(Param)
16     * @return String
17     */
18    public function readResponse(
19        \Psr\Http\Message\RequestInterface $request,
20        \Psr\Http\Message\ResponseInterface $response,
21        array $args
22    ) {
23        $workstation = \App::$http->readGetResult('/workstation/', ['resolveReferences' => 1])->getEntity();
24        if (!$workstation->getUseraccount()->hasPermissions(['config'])) {
25            throw new \BO\Zmsentities\Exception\UserAccountMissingRights();
26        }
27        $config = \App::$http->readGetResult('/config/')->getEntity();
28
29        $mailtemplates = \App::$http->readGetResult('/mailtemplates/')->getCollection();
30
31        $mainProcessExample = ((new \BO\Zmsentities\Process())->getExample());
32        $mainProcessExample->id = 987654;
33        $dateTime = new \DateTimeImmutable("2015-10-23 08:00:00", new \DateTimeZone('Europe/Berlin'));
34        $mainProcessExample->getFirstAppointment()->setDateTime($dateTime);
35        $mainProcessExample->requests[] = (new \BO\Zmsentities\Request())->getExample();
36
37        $processExample = ((new \BO\Zmsentities\Process())->getExample());
38        $processExample->scope = ((new \BO\Zmsentities\Scope())->getExample());
39        $processExample2 = clone $processExample;
40        $dateTime = new \DateTimeImmutable("2015-12-30 11:55:00", new \DateTimeZone('Europe/Berlin'));
41        $processExample2->getFirstAppointment()->setDateTime($dateTime);
42
43        $processListExample = new \BO\Zmsentities\Collection\ProcessList();
44        $processListExample->addEntity($processExample);
45        $processListExample->addEntity($processExample2);
46        $success = $request->getAttribute('validator')->getParameter('success')->isString()->getValue();
47
48        if ($request->getMethod() === 'POST') {
49            $input = $request->getParsedBody();
50            $entity = clone $config;
51            $entity->setPreference($input['key'], $input['property'], $input['value']);
52            $entity = \App::$http->readPostResult(
53                '/config/',
54                $entity
55            )->getEntity();
56            return \BO\Slim\Render::redirect(
57                'configinfo',
58                array(
59                    'title' => 'Konfiguration System',
60                    'workstation' => $workstation,
61                    'config' => $config,
62                    'processExample' => $mainProcessExample,
63                    'processListExample' => $processListExample,
64                    'menuActive' => 'configinfo'
65                ),
66                array(
67                    'success' => 'config_saved'
68                )
69            );
70        }
71
72        return \BO\Slim\Render::withHtml(
73            $response,
74            'page/configinfo.twig',
75            array(
76                'title' => 'Konfiguration System',
77                'workstation' => $workstation,
78                'config' => $config,
79                'mailtemplates' => $mailtemplates,
80                'processExample' => $mainProcessExample,
81                'processListExample' => $processListExample,
82                'menuActive' => 'configinfo',
83                'success' => $success
84            )
85        );
86    }
87}