Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Workstation
100.00% covered (success)
100.00%
37 / 37
100.00% covered (success)
100.00%
2 / 2
6
100.00% covered (success)
100.00%
1 / 1
 readResponse
100.00% covered (success)
100.00%
31 / 31
100.00% covered (success)
100.00%
1 / 1
3
 getSelectedDate
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3/**
4 * @package Zmsadmin
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsadmin;
9
10/**
11  * Handle requests concerning services
12  *
13  */
14class Workstation extends BaseController
15{
16    /**
17     * @return String
18     */
19    public function readResponse(
20        \Psr\Http\Message\RequestInterface $request,
21        \Psr\Http\Message\ResponseInterface $response,
22        array $args
23    ) {
24        $workstation = \App::$http->readGetResult('/workstation/', [
25            'resolveReferences' => 2,
26            'gql' => Helper\GraphDefaults::getWorkstation()
27        ])->getEntity();
28        if (! $workstation->hasId()) {
29            return \BO\Slim\Render::redirect(
30                'index',
31                array(
32                    'error' => 'login_failed'
33                )
34            );
35        }
36
37        $validator = $request->getAttribute('validator');
38        $selectedTime = $validator->getParameter('time')->isString()->getValue();
39        $selectedTime = ($selectedTime) ? $selectedTime : null;
40        $selectedProcessId = $validator->getParameter('selectedprocess')->isNumber()->getValue();
41        $calledProcessId = $validator->getParameter('calledprocess')->isNumber()->getValue();
42        $selectedScope = $validator->getParameter('selectedscope')->isNumber()->getValue();
43
44        return \BO\Slim\Render::withHtml(
45            $response,
46            'page/workstation.twig',
47            array(
48                'title' => 'Sachbearbeiter',
49                'menuActive' => 'workstation',
50                'workstation' => $workstation,
51                'selectedDate' => $this->getSelectedDate($validator),
52                'selectedTime' => $selectedTime,
53                'selectedProcess' => $selectedProcessId,
54                'selectedScope' => $selectedScope,
55                'calledProcess' => $calledProcessId,
56            )
57        );
58    }
59
60    protected function getSelectedDate($validator)
61    {
62        $selectedDate = $validator->getParameter('date')->isString()->getValue();
63        $selectedDateTime = $selectedDate ?
64            (new \DateTimeImmutable($selectedDate))->setTime(\App::$now->format('H'), \App::$now->format('i')) :
65            \App::$now;
66        $selectedDate = ($selectedDateTime < \App::$now) ? \App::$now : $selectedDateTime;
67        return $selectedDate->format('Y-m-d');
68    }
69}