Completed
Push — master ( 6f5d59...afd2c7 )
by Andrey
06:35
created

FeedbackController::actionView()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 1
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace app\controllers\admin;
4
5
use Yii;
6
use app\traits\{AdminBeforeActionTrait, AccessTrait};
7
use app\models\{Feedback, FeedbackSearch};
8
use Itstructure\AdminModule\controllers\CommonAdminController;
9
10
/**
11
 * Class FeedbackController
12
 * FeedbackController implements the CRUD actions for Page model.
13
 *
14
 * @package app\controllers\admin
15
 */
16
class FeedbackController extends CommonAdminController
17
{
18
    use AdminBeforeActionTrait, AccessTrait;
19
20
    /**
21
     * Set read status to "1" after view record.
22
     *
23
     * @param \yii\base\Action $action
24
     * @param mixed $result
25
     *
26
     * @return mixed
27
     */
28
    public function afterAction($action, $result)
29
    {
30
        if ($action->id == 'view') {
31
            $modelId = $action->controller->actionParams['id'];
0 ignored issues
show
Bug introduced by
The property actionParams does not seem to exist. Did you mean action?

An attempt at access to an undefined property has been detected. This may either be a typographical error or the property has been renamed but there are still references to its old name.

If you really want to allow access to undefined properties, you can define magic methods to allow access. See the php core documentation on Overloading.

Loading history...
32
            Feedback::fixReadStatus((int)$modelId);
33
        }
34
35
        return parent::afterAction($action, $result);
36
    }
37
38
    /**
39
     * @return mixed|string
40
     */
41
    public function actionIndex()
42
    {
43
        if (!$this->checkAccessToIndex()) {
44
            return $this->accessError();
45
        }
46
47
        return parent::actionIndex();
48
    }
49
50
    /**
51
     * @param int|string $id
52
     *
53
     * @return mixed
54
     */
55
    public function actionView($id)
56
    {
57
        if (!$this->checkAccessToView()) {
58
            return $this->accessError();
59
        }
60
61
        return parent::actionView($id);
62
    }
63
64
    /**
65
     * @param int|string $id
66
     *
67
     * @return mixed|\yii\web\Response
68
     */
69
    public function actionDelete($id)
70
    {
71
        if (!$this->checkAccessToDelete()) {
72
            return $this->accessError();
73
        }
74
75
        return parent::actionDelete($id);
76
    }
77
78
    /**
79
     * @return mixed|\yii\web\Response
80
     */
81
    public function actionDeleteSelected()
82
    {
83
        if (!$this->checkAccessToDelete()) {
84
            return $this->accessError();
85
        }
86
87
        if (Yii::$app->request->isPost) {
88
            /** @var FeedbackSearch $searchModel */
89
            $searchModel = $this->getNewSearchModel();
90
            $searchModel->setScenario($searchModel::SCENARIO_DELETE_SELECTED);
91
            $searchModel->load(Yii::$app->request->post());
92
            $searchModel->deleteSelected();
93
        }
94
95
        return $this->redirect([
96
            $this->urlPrefix.'index',
97
        ]);
98
    }
99
100
    /**
101
     * Returns Product model name.
102
     *
103
     * @return string
104
     */
105
    protected function getModelName():string
106
    {
107
        return Feedback::class;
108
    }
109
110
    /**
111
     * Returns ProductSearch model name.
112
     *
113
     * @return string
114
     */
115
    protected function getSearchModelName():string
116
    {
117
        return FeedbackSearch::class;
118
    }
119
}
120