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,
]
);
}
}

View File

@ -27,7 +27,6 @@ use yii\web\NotFoundHttpException;
class RegistrationController extends Controller
{
use ModuleTrait;
use ContainerTrait;
protected $userQuery;

View File

@ -2,8 +2,6 @@
namespace Da\User\Factory;
use Da\User\Model\Token;
use Da\User\Model\User;
use Da\User\Traits\ContainerTrait;
use Yii;

View File

@ -5,5 +5,8 @@ use yii\db\ActiveQuery;
class ProfileQuery extends ActiveQuery
{
public function whereId($id)
{
return $this->andWhere(['id' => $id]);
}
}