Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
85.19% covered (warning)
85.19%
23 / 27
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
WarehouseSubject
85.19% covered (warning)
85.19%
23 / 27
0.00% covered (danger)
0.00%
0 / 1
3.03
0.00% covered (danger)
0.00%
0 / 1
 readResponse
85.19% covered (warning)
85.19%
23 / 27
0.00% covered (danger)
0.00%
0 / 1
3.03
1<?php
2
3/**
4 * @package Zmsadmin
5 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
6 **/
7
8namespace BO\Zmsstatistic;
9
10use BO\Slim\Render;
11use BO\Zmsstatistic\Download\WarehouseSubject as Download;
12use Psr\Http\Message\RequestInterface;
13use Psr\Http\Message\ResponseInterface;
14
15class WarehouseSubject extends BaseController
16{
17    /**
18     * @SuppressWarnings(Param)
19     * @return ResponseInterface
20     */
21    #[\Override]
22    public function readResponse(
23        RequestInterface $request,
24        ResponseInterface $response,
25        array $args
26    ) {
27        $validator = $request->getAttribute('validator');
28        $subjectList = \App::$http->readGetResult('/warehouse/' . $args['subject'] . '/')->getEntity();
29
30        $type = $validator->getParameter('type')->isString()->getValue();
31        if ($type) {
32            $args['category'] = 'raw-' . $args['subject'];
33            $args['reports'][] = $subjectList;
34            $args['department'] = $this->department;
35            $args['organisation'] = $this->organisation;
36            return (new Download(\App::$slim->getContainer()))->readResponse($request, $response, $args);
37        }
38        if (count($subjectList['data']) == 1) {
39            return Render::redirect("WarehousePeriod", [
40                'subject' => $args['subject'],
41                'subjectid' => $subjectList['data'][0][0],
42            ]);
43        }
44
45        return Render::withHtml(
46            $response,
47            'page/warehouseSubject.twig',
48            array(
49                'title' => 'Kategorien',
50                'menuActive' => 'warehouse',
51                'dictionary' => $subjectList->dictionary,
52                'subjectList' => $subjectList->toHashed(),
53                'category' => $args['subject'],
54                'categoryName' => $subjectList['title'],
55                'workstation' => $this->workstation->getArrayCopy()
56            )
57        );
58    }
59}