ProjectsController.php 1.76 KB
<?php
    namespace frontend\controllers;

    use common\models\ProjectSearch;
    use common\models\User;
    use common\modules\comment\models\CommentProject;
    use common\modules\comment\models\CommentProjectSearch;
    use yii\filters\AccessControl;
    use yii\web\Controller;

    class ProjectsController extends Controller
    {

        public function behaviors()
        {
            return [
                'access' => [
                    'class' => AccessControl::className(),
                    'rules' => [
                        [
                            //'actions' => ['cabinet','change-password', 'bookmarks', 'projects'],
                            'allow' => true,
                            'roles' => [ '@' ],
                        ],
                    ],
                ],
            ];
        }

        public function actionIndex()
        {
            $model = new CommentProjectSearch([ 'scenario' => CommentProjectSearch::SCENARIO_SEARCH ]);
            $groups = CommentProject::find()
                                    ->select([
                                        'COUNT(*)',
                                        'state',
                                    ])
                                    ->asArray()
                                    ->indexBy('state')
                                    ->where([ 'user_id' => \Yii::$app->user->getId() ])
                                    ->groupBy([ 'state' ])
                                    ->column();
            $comments = $model->search(\Yii::$app->request->queryParams);
            return $this->render('projects', [
                'comments' => $comments,
                'groups'   => $groups,
            ]);
        }
    }