User.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace app\models\user;
  3. use dektrium\user\helpers\Password;
  4. use dektrium\user\models\Token;
  5. use Exception;
  6. use RuntimeException;
  7. use Yii;
  8. use yii\helpers\Html;
  9. use yii\helpers\Url;
  10. use dektrium\user\models\User as BaseUser;
  11. /**
  12. *
  13. * @property Organizations $organization
  14. */
  15. class User extends BaseUser
  16. {
  17. /** @inheritdoc */
  18. public function attributeLabels()
  19. {
  20. return [
  21. 'uuid' => \Yii::t('user', 'Nomer Dogovora'),
  22. 'username' => \Yii::t('user', 'Username'),
  23. 'fio' => \Yii::t('user', 'Fio'),
  24. 'cname' => \Yii::t('user', 'Company name'),
  25. 'type' => \Yii::t('user', 'Role'),
  26. 'email' => \Yii::t('user', 'Email'),
  27. 'phone' => \Yii::t('user', 'Phone'),
  28. 'address' => \Yii::t('user', 'Address'),
  29. 'registration_ip' => \Yii::t('user', 'Registration ip'),
  30. 'unconfirmed_email' => \Yii::t('user', 'New email'),
  31. 'password' => \Yii::t('user', 'Password'),
  32. 'created_at' => \Yii::t('user', 'Registration time'),
  33. 'last_login_at' => \Yii::t('user', 'Last login'),
  34. 'confirmed_at' => \Yii::t('user', 'Confirmation time'),
  35. ];
  36. }
  37. /** @inheritdoc */
  38. public function rules()
  39. {
  40. return [
  41. // username rules
  42. 'usernameTrim' => ['username', 'trim'],
  43. 'usernameRequired' => ['username', 'required', 'on' => ['register', 'create', 'connect', 'update']],
  44. 'usernameMatch' => ['username', 'match', 'pattern' => static::$usernameRegexp],
  45. 'usernameLength' => ['username', 'string', 'min' => 3, 'max' => 255],
  46. 'usernameUnique' => [
  47. 'username',
  48. 'unique',
  49. 'message' => \Yii::t('user', 'This username has already been taken')
  50. ],
  51. // uuid rules
  52. 'uuidInt' => ['uuid', 'integer'],
  53. 'uuidRequired' => ['uuid', 'required', 'on' => ['register', 'create', 'connect', 'update']],
  54. 'uuidUnique' => [
  55. 'username',
  56. 'unique',
  57. 'message' => \Yii::t('user', 'This username has already been taken')
  58. ],
  59. // email rules
  60. 'emailTrim' => ['email', 'trim'],
  61. 'emailRequired' => ['email', 'required', 'on' => ['register', 'connect', 'create', 'update']],
  62. 'emailPattern' => ['email', 'email'],
  63. 'emailLength' => ['email', 'string', 'max' => 255],
  64. 'emailUnique' => [
  65. 'email',
  66. 'unique',
  67. 'message' => \Yii::t('user', 'This email address has already been taken')
  68. ],
  69. // password rules
  70. 'passwordRequired' => ['password', 'required', 'on' => ['register']],
  71. 'passwordLength' => ['password', 'string', 'min' => 6, 'max' => 72, 'on' => ['register', 'create']],
  72. ];
  73. }
  74. public static function typeNames()
  75. {
  76. return [
  77. 'admin' => t('Адміністратор майданчика'),
  78. ];
  79. }
  80. public static function findIdentityByAccessToken($token, $type = null)
  81. {
  82. return static::findOne(['auth_key' => $token]);
  83. }
  84. }