mirror of https://gitee.com/karson/fastadmin.git
commit
938671cf2b
|
|
@ -5,6 +5,8 @@ namespace app\admin\controller\auth;
|
||||||
use app\admin\model\AuthGroup;
|
use app\admin\model\AuthGroup;
|
||||||
use app\common\controller\Backend;
|
use app\common\controller\Backend;
|
||||||
use fast\Tree;
|
use fast\Tree;
|
||||||
|
use think\Db;
|
||||||
|
use think\Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色组
|
* 角色组
|
||||||
|
|
@ -151,8 +153,22 @@ class Group extends Backend
|
||||||
$rules = in_array('*', $currentrules) ? $rules : array_intersect($currentrules, $rules);
|
$rules = in_array('*', $currentrules) ? $rules : array_intersect($currentrules, $rules);
|
||||||
$params['rules'] = implode(',', $rules);
|
$params['rules'] = implode(',', $rules);
|
||||||
if ($params) {
|
if ($params) {
|
||||||
$row->save($params);
|
Db::startTrans();
|
||||||
$this->success();
|
try {
|
||||||
|
$row->save($params);
|
||||||
|
$children_auth_groups = model("AuthGroup")->all(['id'=>['in',implode(',',(Tree::instance()->getChildrenIds($row->id)))]]);
|
||||||
|
$childparams = [];
|
||||||
|
foreach ($children_auth_groups as $key=>$children_auth_group) {
|
||||||
|
$childparams[$key]['id'] = $children_auth_group->id;
|
||||||
|
$childparams[$key]['rules'] = implode(',', array_intersect(explode(',', $children_auth_group->rules), $rules));
|
||||||
|
}
|
||||||
|
model("AuthGroup")->saveAll($childparams);
|
||||||
|
Db::commit();
|
||||||
|
$this->success();
|
||||||
|
}catch (Exception $e){
|
||||||
|
Db::rollback();
|
||||||
|
$this->error($e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->error();
|
$this->error();
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue