Lines 0.00% 0 / 20
Functions and Methods 0.00% 0 / 1
Classes and Traits 0.00% 0 / 1
Name Lines Functions and Methods CRAP Classes and Traits
Info 0.00% 0 / 20 0.00% 0 / 1 12 0.00% 0 / 1
 readResponse 0.00% 0 / 20 0.00% 0 / 1 12
1<?php
2
3/**
4 *
5 * @package Zmscalldisplay
6 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
7 *
8 */
9
10namespace BO\Zmscalldisplay;
11
12use BO\Slim\Render;
13use Psr\Http\Message\RequestInterface;
14use Psr\Http\Message\ResponseInterface;
15use BO\Zmsentities\Collection\QueueList;
16
17class Info extends BaseController
18{
19    /**
20     * @SuppressWarnings(UnusedFormalParameter)
21     * @return ResponseInterface
22     * @psalm-api
23     */
24    public function readResponse(
25        RequestInterface $request,
26        ResponseInterface $response
27    ) {
28        $calldisplay = new Helper\Calldisplay($request);
29        $queueListFull = \App::$http
30            ->readPostResult('/calldisplay/queue/', $calldisplay->getEntity(false))
31            ->getCollection();
32
33        $filteredQueue = $queueListFull
34            ->withoutStatus(QueueList::STATUS_FAKE)
35            ->getCountWithWaitingTime();
36
37        $lastClient = $filteredQueue->getLast();
38        $waitingTimeFull = $lastClient ? $lastClient->waitingTimeEstimate : 0;
39        $waitingTimeOptimistic = $lastClient ? $lastClient->waitingTimeOptimistic : 0;
40
41        return Render::withHtml(
42            $response,
43            'element/tempWaitingValues.twig',
44            array(
45                'calldisplay' => $calldisplay,
46                'waitingClients' => $filteredQueue->count(),
47                'waitingTime' => $waitingTimeFull,
48                'waitingTimeOptimistic' => $waitingTimeOptimistic
49            )
50        );
51    }
52}