added profile controller

This commit is contained in:
Antonio Ramirez
2016-12-09 09:43:46 +01:00
parent 0be1644e75
commit f6dcb21205
4 changed files with 58 additions and 4 deletions

View File

@ -0,0 +1,54 @@
<?php
namespace Da\User\Controller;
use Da\User\Query\ProfileQuery;
use yii\base\Module;
use yii\filters\AccessControl;
use yii\web\Controller;
use Yii;
use yii\web\NotFoundHttpException;
class ProfileController extends Controller
{
protected $profileQuery;
public function __construct($id, Module $module, ProfileQuery $profileQuery, array $config)
{
$this->profileQuery = $profileQuery;
parent::__construct($id, $module, $config);
}
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
['allow' => true, 'actions' => ['index'], 'roles' => ['@']],
['allow' => true, 'actions' => ['show'], 'roles' => ['?', '@']],
],
],
];
}
public function actionIndex()
{
return $this->redirect(['show', 'id' => Yii::$app->user->getId()]);
}
public function actionShow($id)
{
$profile = $this->profileQuery->whereId($id)->one();
if ($profile === null) {
throw new NotFoundHttpException();
}
return $this->render(
'show',
[
'profile' => $profile,
]
);
}
}