add backend theme AdminLte, bind reception/transaction to a permission
This commit is contained in:
46
backend/models/RoleForm.php
Normal file
46
backend/models/RoleForm.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
namespace backend\models;
|
||||
|
||||
use yii\base\Model;
|
||||
use common\models\User;
|
||||
|
||||
class RoleForm extends Model{
|
||||
|
||||
|
||||
public $permissions =[];
|
||||
public $availablePermissions = [];
|
||||
/**
|
||||
* @inheritdoc
|
||||
* @formatter:off
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
['permissions',function ($attribute, $params) {
|
||||
if (!is_array($this->$attribute)) {
|
||||
echo "invalid arr";
|
||||
$this->addError($attribute, 'Invalid array');
|
||||
}
|
||||
}
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function save(){
|
||||
$am = \Yii::$app->authManager;
|
||||
//remove all reception permission
|
||||
$receptionItem = $am->getRole(User::ROLE_RECEPTION);
|
||||
$am->removeChildren($receptionItem);
|
||||
|
||||
if ( isset($receptionItem)){
|
||||
foreach ($this->permissions as $permissionName){
|
||||
$permission = $am->getPermission($permissionName);
|
||||
if ( isset( $permission )){
|
||||
$am->addChild($receptionItem, $permission);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user