Passed
Push — main ( eaa951...b4ca46 )
by Nobufumi
02:42
created

PostController   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 30
dl 0
loc 48
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 20 1
A setViewAttributes() 0 4 1
1
<?php
2
3
namespace Jidaikobo\Kontiki\Controllers;
4
5
use Slim\Views\PhpRenderer;
6
use Jidaikobo\Kontiki\Managers\CsrfManager;
7
use Jidaikobo\Kontiki\Managers\FlashManager;
8
use Jidaikobo\Kontiki\Models\PostModel;
9
use Jidaikobo\Kontiki\Services\RoutesService;
10
use Jidaikobo\Kontiki\Services\FormService;
11
use Jidaikobo\Kontiki\Services\TableService;
12
13
class PostController extends BaseController
14
{
15
    use Traits\IndexTrait;
16
    use Traits\IndexAllTrait;
17
    use Traits\IndexPublishedTrait;
18
    use Traits\IndexPendingTrait;
19
    use Traits\IndexDraftTrait;
20
    use Traits\IndexReservedTrait;
21
    use Traits\IndexExpiredTrait;
22
    use Traits\CreateEditTrait;
0 ignored issues
show
introduced by
The trait Jidaikobo\Kontiki\Contro...\Traits\CreateEditTrait requires some properties which are not provided by Jidaikobo\Kontiki\Controllers\PostController: $backStringAfterSaveKey, $backStringAfterSave
Loading history...
23
    use Traits\TrashRestoreTrait;
24
    use Traits\DeleteTrait;
25
    use Traits\MarkdownHelpTrait;
26
    use Traits\PreviewTrait;
27
28
    protected string $adminDirName = 'post';
29
    protected string $label = 'Post';
30
31
    private PostModel $model;
32
    private FormService $formService;
33
    private TableService $tableService;
34
35
    public function __construct(
36
        CsrfManager $csrfManager,
37
        FlashManager $flashManager,
38
        PhpRenderer $view,
39
        RoutesService $routesService,
40
        FormService $formService,
41
        TableService $tableService,
42
        PostModel $model
43
    ) {
44
        parent::__construct(
45
            $csrfManager,
46
            $flashManager,
47
            $view,
48
            $routesService
49
        );
50
        $this->formService = $formService;
51
        $this->formService->setModel($model);
52
        $this->tableService = $tableService;
53
        $this->tableService->setModel($model);
54
        $this->model = $model;
55
    }
56
57
    protected function setViewAttributes($routesService): void
58
    {
59
        parent::setViewAttributes($routesService);
60
        $this->view->addAttribute('buttonPosition', 'meta');
61
    }
62
}
63