assign trainers to user; add email to jwt token

This commit is contained in:
Roland Schneider
2021-10-04 18:13:32 +02:00
parent 439fb12b6e
commit 7a55ca9ff3
21 changed files with 671 additions and 350 deletions

View File

@@ -9,9 +9,10 @@ class UserCreate extends User{
public $password_plain;
public $password_repeat;
public $selected_accounts = [];
public $selected_trainers = [];
public $role;
/**
* @inheritdoc
*/
@@ -25,28 +26,34 @@ class UserCreate extends User{
}
}
],
['selected_trainers',function ($attribute, $params) {
if (!is_array($this->$attribute)) {
$this->addError($attribute, 'Invalid array');
}
}
],
['email' ,'email' ],
['email' ,'unique' ],
['username' ,'unique' ],
[['password_plain' ,'password_repeat'] ,'string','min' =>6 ],
[['password_repeat'] ,'validatePasswordRepeat' ],
[['role'], 'required'],
[['role'], 'string', 'max' => 20],
['status', 'default', 'value' => self::STATUS_ACTIVE],
['status', 'in', 'range' => [self::STATUS_ACTIVE, self::STATUS_DELETED]],
];
}
public function validatePasswordRepeat($attribute,$params){
if ( !$this->hasErrors()){
if ( $this->password_plain != $this->password_repeat ){
$this->addError($attribute, Yii::t('app', 'Jelszó és jelszó újra nem egyezik!') );
}
}
}
public function attributeLabels(){
return [
'status' => 'Státusz',
@@ -55,10 +62,10 @@ class UserCreate extends User{
'created_at' =>'Létrehozás dátuma',
'password_plain' => Yii::t('app','Jelszó'),
'password_repeat' => Yii::t('app','Jelszó újra'),
];
}
public function beforeSave($insert){
if ( parent::beforeSave($insert)){
if ( $insert ){
@@ -70,12 +77,12 @@ class UserCreate extends User{
return false;
}
}
public function afterSave($insert, $changedAttributes){
parent::afterSave($insert, $changedAttributes);
parent::afterSave($insert, $changedAttributes);
$am = Yii::$app->authManager;
$role = $am->getRole($this->role);
Yii::$app->authManager->assign($role, $this->id);
}
}
}