ManagerUpdatePasswordForm.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace backend\forms;
  3. use Yii;
  4. use yii\base\Model;
  5. use yii\web\NotFoundHttpException;
  6. use common\models\member\Member;
  7. /**
  8. * Class ManagerUpdatePasswordForm
  9. * @package backend\forms
  10. */
  11. class ManagerUpdatePasswordForm extends Model
  12. {
  13. public $username;
  14. public $password;
  15. /**
  16. * @var Member
  17. */
  18. public $manager;
  19. /**
  20. * @return \string[][]
  21. */
  22. public function rules()
  23. {
  24. return [
  25. [['password', 'username'], 'required'],
  26. [['password'], 'string', 'min' => 6],
  27. ];
  28. }
  29. /**
  30. * @return string[]
  31. */
  32. public function attributeLabels()
  33. {
  34. return [
  35. 'username' => '账号',
  36. 'password' => '密码',
  37. ];
  38. }
  39. /**
  40. * @return bool
  41. * @throws \yii\db\Exception
  42. */
  43. public function save()
  44. {
  45. try {
  46. $manager = $this->manager;
  47. $manager->password_hash = Yii::$app->security->generatePasswordHash($this->password);;
  48. if (!$manager->save()) {
  49. $this->addErrors($manager->getErrors());
  50. throw new NotFoundHttpException('用户编辑错误');
  51. }
  52. return true;
  53. } catch (\Exception $e) {
  54. return false;
  55. }
  56. }
  57. }
粤ICP备19079148号