Yii2-user override AdminController
Добавлено: 2015.01.15, 16:05
Всем привет, собственно столкнулся с такой проблемой. Для работы с пользователями использую сию вещь:
http://yii2-user.readthedocs.org/en/lat ... rview.html
И хотелось бы мне переписать немного вьюху обновления информации пользователя. А точнее хочется добавить туда выбор роли пользователя:
Так вот в настройках сего модуля указано, что для расширения модели User необходимо использовать:
Собственно я так и сделал, но при апдейте информации о пользователе используя AdminController почему то продолжает использоватся класс 'dektrium\user\models\User'
Вот actionUpdate:
Я честно говоря не так давно пишу на Yii и не совсем понимаю как $this->findModel() работает от имени dektrium\user\models\User если этот $this находится в контроллере и наверняка не является объектом ActiveRecord.
http://yii2-user.readthedocs.org/en/lat ... rview.html
И хотелось бы мне переписать немного вьюху обновления информации пользователя. А точнее хочется добавить туда выбор роли пользователя:
Код: Выделить всё
['admin', 'manager', 'user']
Код: Выделить всё
<?php
return [
...
'modules' => [
...
'user' => [
'class' => 'dektrium\user\Module',
'components' => [
'manager' => [
// Active record classes
'userClass' => 'common\models\User',
Вот actionUpdate:
Код: Выделить всё
public function actionUpdate($id)
{
$user = $this->findModel($id);
$user->scenario = 'update';
$profile = $this->finder->findProfileById($id);
$r = \Yii::$app->request;
$this->performAjaxValidation([$user, $profile]);
if ($user->load($r->post()) && $profile->load($r->post()) && $user->save() && $profile->save()) {
\Yii::$app->getSession()->setFlash('success', \Yii::t('user', 'User has been updated'));
return $this->refresh();
}
return $this->render('update', [
'user' => $user,
'profile' => $profile,
'module' => $this->module,
]);
}