提交者
Gitee
!153 增加移除权限组节点后所有子权限组也一并移除相应权限
Merge pull request !153 from MrCai/pull2fastadmin
正在显示
1 个修改的文件
包含
18 行增加
和
2 行删除
@@ -5,6 +5,8 @@ namespace app\admin\controller\auth; | @@ -5,6 +5,8 @@ namespace app\admin\controller\auth; | ||
5 | use app\admin\model\AuthGroup; | 5 | use app\admin\model\AuthGroup; |
6 | use app\common\controller\Backend; | 6 | use app\common\controller\Backend; |
7 | use fast\Tree; | 7 | use fast\Tree; |
8 | +use think\Db; | ||
9 | +use think\Exception; | ||
8 | 10 | ||
9 | /** | 11 | /** |
10 | * 角色组 | 12 | * 角色组 |
@@ -151,8 +153,22 @@ class Group extends Backend | @@ -151,8 +153,22 @@ class Group extends Backend | ||
151 | $rules = in_array('*', $currentrules) ? $rules : array_intersect($currentrules, $rules); | 153 | $rules = in_array('*', $currentrules) ? $rules : array_intersect($currentrules, $rules); |
152 | $params['rules'] = implode(',', $rules); | 154 | $params['rules'] = implode(',', $rules); |
153 | if ($params) { | 155 | if ($params) { |
154 | - $row->save($params); | ||
155 | - $this->success(); | 156 | + Db::startTrans(); |
157 | + try { | ||
158 | + $row->save($params); | ||
159 | + $children_auth_groups = model("AuthGroup")->all(['id'=>['in',implode(',',(Tree::instance()->getChildrenIds($row->id)))]]); | ||
160 | + $childparams = []; | ||
161 | + foreach ($children_auth_groups as $key=>$children_auth_group) { | ||
162 | + $childparams[$key]['id'] = $children_auth_group->id; | ||
163 | + $childparams[$key]['rules'] = implode(',', array_intersect(explode(',', $children_auth_group->rules), $rules)); | ||
164 | + } | ||
165 | + model("AuthGroup")->saveAll($childparams); | ||
166 | + Db::commit(); | ||
167 | + $this->success(); | ||
168 | + }catch (Exception $e){ | ||
169 | + Db::rollback(); | ||
170 | + $this->error($e->getMessage()); | ||
171 | + } | ||
156 | } | 172 | } |
157 | $this->error(); | 173 | $this->error(); |
158 | return; | 174 | return; |
-
请 注册 或 登录 后发表评论