1191

parent 87a14e84
...@@ -49,7 +49,10 @@ class SiteController extends Controller ...@@ -49,7 +49,10 @@ class SiteController extends Controller
public function actionError() public function actionError()
{ {
$this->layout = "clear"; $this->layout = "clear";
return $this->render('error');
$exception = Yii::$app->errorHandler->exception;
return $this->render('error', ['exception' => $exception]);
} }
public function actionLogin() public function actionLogin()
......
...@@ -17,9 +17,9 @@ use common\models\Settings; ...@@ -17,9 +17,9 @@ use common\models\Settings;
<div id="page-container" class="fade"> <div id="page-container" class="fade">
<!-- begin error --> <!-- begin error -->
<div class="error"> <div class="error">
<div class="error-code m-b-10">404 <i class="fa fa-warning"></i></div> <div class="error-code m-b-10"><?=($exception?$exception->statusCode:'404')?> <i class="fa fa-warning"></i></div>
<div class="error-content"> <div class="error-content">
<div class="error-message">Произошла какая-то ошибка</div> <div class="error-message"><?=($exception?$exception->getMessage():'Произошла какая-то ошибка')?></div>
<div class="error-desc m-b-20"> <div class="error-desc m-b-20">
Страница не существует или у вас нет прав для ее просмотра.<br /> Страница не существует или у вас нет прав для ее просмотра.<br />
Проверьте введенный URL-адрес страницы или обратитесь в Службу технической поддержки для решения данного вопроса Проверьте введенный URL-адрес страницы или обратитесь в Службу технической поддержки для решения данного вопроса
......
...@@ -26,16 +26,11 @@ abstract class AdminController extends \common\components\BaseController ...@@ -26,16 +26,11 @@ abstract class AdminController extends \common\components\BaseController
return $this->redirect('/site/login'); return $this->redirect('/site/login');
} }
if(Yii::$app->user->identity->role != User::ROLE_ADMIN)
{
throw new NotSupportedException('The requested page does not exist.');
}
$module = $this->getModuleName(); $module = $this->getModuleName();
if($module && !Yii::$app->authManager->checkAccess(Yii::$app->user->id, $module)) if(Yii::$app->user->identity->role != User::ROLE_ADMIN || ($module && !Yii::$app->authManager->checkAccess(Yii::$app->user->id, $module)))
{ {
throw new \Exception('There is no access to this page', 403); throw new \yii\web\HttpException(403, 'У Вас нет прав для просмотра этой страницы');
} }
} }
......
...@@ -44,11 +44,18 @@ class LoginForm extends Model ...@@ -44,11 +44,18 @@ class LoginForm extends Model
*/ */
public function validatePassword($attribute, $params) public function validatePassword($attribute, $params)
{ {
if (!$this->hasErrors()) { if (!$this->hasErrors())
{
$user = $this->getUser(); $user = $this->getUser();
if (!$user || !$user->validatePassword($this->password)) {
if (!$user || !$user->validatePassword($this->password))
{
$this->addError($attribute, 'Неверно указан e-mail или пароль. Проверьте правильность ввода.'); $this->addError($attribute, 'Неверно указан e-mail или пароль. Проверьте правильность ввода.');
} }
elseif($user->status == User::STATUS_BLOCKED)
{
$this->addError($attribute, 'У Вас нет прав для просмотра данного раздела. Обратитесь к Администратору для изменения параметров авторизации.');
}
} }
} }
...@@ -61,12 +68,17 @@ class LoginForm extends Model ...@@ -61,12 +68,17 @@ class LoginForm extends Model
{ {
$user = $this->getUser(); $user = $this->getUser();
if($user)
{
$user->last_logon = time(); $user->last_logon = time();
$user->save(false, ['last_logon']); $user->save(false, ['last_logon']);
return Yii::$app->user->login($user, $this->rememberMe ? 3600 * 24 * 30 : 0); return Yii::$app->user->login($user, $this->rememberMe ? 3600 * 24 * 30 : 0);
} }
return false;
}
/** /**
* Finds user by [[username]] * Finds user by [[username]]
* *
......
...@@ -182,14 +182,14 @@ class UserAdminController extends \common\components\AdminController ...@@ -182,14 +182,14 @@ class UserAdminController extends \common\components\AdminController
]; ];
if($model->load(Yii::$app->request->post())) if($model->load(Yii::$app->request->post()))
{
if($model->password)
{ {
if($model->send_email) if($model->send_email)
{ {
$model->sendPassword(); $model->sendPassword();
} }
if($model->password)
{
$model->password = $model->password_c = \Yii::$app->security->generatePasswordHash($model->password); $model->password = $model->password_c = \Yii::$app->security->generatePasswordHash($model->password);
} }
else else
......
...@@ -286,7 +286,7 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter ...@@ -286,7 +286,7 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
*/ */
public static function findByUsername($username) public static function findByUsername($username)
{ {
return static::findOne(['email' => $username, 'status' => self::STATUS_ACTIVE]); return static::findOne(['email' => $username/*, 'status' => self::STATUS_ACTIVE*/]);
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment