Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 23 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
OlzTerminTemplatesListParams | n/a |
0 / 0 |
n/a |
0 / 0 |
0 | n/a |
0 / 0 |
|||
OlzTerminTemplatesList | |
0.00% |
0 / 23 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 1 |
getHtml | |
0.00% |
0 / 23 |
|
0.00% |
0 / 1 |
12 |
1 | <?php |
2 | |
3 | namespace Olz\Termine\Components\OlzTerminTemplatesList; |
4 | |
5 | use Olz\Components\Common\OlzComponent; |
6 | use Olz\Components\Page\OlzFooter\OlzFooter; |
7 | use Olz\Components\Page\OlzHeader\OlzHeader; |
8 | use Olz\Entity\Termine\TerminTemplate; |
9 | use Olz\Termine\Components\OlzTerminTemplatesListItem\OlzTerminTemplatesListItem; |
10 | use Olz\Utils\HttpParams; |
11 | |
12 | /** @extends HttpParams<array{}> */ |
13 | class OlzTerminTemplatesListParams extends HttpParams { |
14 | } |
15 | |
16 | /** @extends OlzComponent<array<string, mixed>> */ |
17 | class OlzTerminTemplatesList extends OlzComponent { |
18 | public function getHtml(mixed $args): string { |
19 | $this->httpUtils()->validateGetParams(OlzTerminTemplatesListParams::class); |
20 | $code_href = $this->envUtils()->getCodeHref(); |
21 | |
22 | if (!$this->authUtils()->hasPermission('termine')) { |
23 | $this->httpUtils()->dieWithHttpError(401); |
24 | throw new \Exception('should already have failed'); |
25 | } |
26 | |
27 | $out = OlzHeader::render([ |
28 | 'back_link' => "{$code_href}termine", |
29 | 'title' => 'Termin-Vorlagen', |
30 | 'description' => "Vorlagen, um OL Zimmerberg-Termine zu erstellen.", |
31 | 'norobots' => true, |
32 | ]); |
33 | |
34 | $out .= <<<ZZZZZZZZZZ |
35 | <div class='content-right'> |
36 | </div> |
37 | <div class='content-middle'> |
38 | <button |
39 | id='create-termin-template-button' |
40 | class='btn btn-secondary' |
41 | onclick='return olz.initOlzEditTerminTemplateModal()' |
42 | > |
43 | <img src='{$code_href}assets/icns/new_white_16.svg' class='noborder' /> |
44 | Neue Vorlage erstellen |
45 | </button> |
46 | <h1>Termin-Vorlagen</h1> |
47 | ZZZZZZZZZZ; |
48 | $termin_template_repo = $this->entityManager()->getRepository(TerminTemplate::class); |
49 | $termin_templates = $termin_template_repo->findAll(); |
50 | foreach ($termin_templates as $termin_template) { |
51 | $out .= OlzTerminTemplatesListItem::render([ |
52 | 'termin_template' => $termin_template, |
53 | ]); |
54 | } |
55 | |
56 | $out .= <<<'ZZZZZZZZZZ' |
57 | </div> |
58 | ZZZZZZZZZZ; |
59 | |
60 | $out .= OlzFooter::render(); |
61 | |
62 | return $out; |
63 | } |
64 | } |