Skip to content

Commit 9229c83

Browse files
committed
修改权限,角色,用户的CURD 操作错误
1 parent 92c798c commit 9229c83

File tree

14 files changed

+34
-28
lines changed

14 files changed

+34
-28
lines changed

app/Http/Controllers/Admin/PermissionController.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,9 @@ public function create(int $cid)
9393
*/
9494
public function store(PermissionCreateRequest $request)
9595
{
96-
9796
$permission = new Permission();
9897
foreach (array_keys($this->fields) as $field) {
99-
$permission->$field = $request->get($field);
98+
$permission->$field = $request->get($field,$this->fields[$field]);
10099
}
101100
$permission->save();
102101
Event::fire(new permChangeEvent());
@@ -144,7 +143,7 @@ public function update(PermissionUpdateRequest $request, $id)
144143
{
145144
$permission = Permission::find((int)$id);
146145
foreach (array_keys($this->fields) as $field) {
147-
$permission->$field = $request->get($field);
146+
$permission->$field = $request->get($field,$this->fields[$field]);
148147
}
149148
$permission->save();
150149
Event::fire(new permChangeEvent());
@@ -167,6 +166,9 @@ public function destroy($id)
167166
->withErrors("请先将该权限的子权限删除后再做删除操作!");
168167
}
169168
$tag = Permission::find((int)$id);
169+
foreach ($tag->roles as $v){
170+
$tag->roles()->detach($v->id);
171+
}
170172
if ($tag) {
171173
$tag->delete();
172174
} else {

app/Http/Controllers/Admin/RoleController.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ class RoleController extends Controller
1717
{
1818
protected $fields = [
1919
'name' => '',
20-
'label' => '',
2120
'description' => '',
2221
'permissions' => [],
2322
];
@@ -173,6 +172,14 @@ public function update(RoleUpdateRequest $request, $id)
173172
public function destroy($id)
174173
{
175174
$role = Role::find((int)$id);
175+
foreach ($role->users as $v){
176+
$role->users()->detach($v);
177+
}
178+
179+
foreach ($role->permissions as $v){
180+
$role->permissions()->detach($v);
181+
}
182+
176183
if ($role) {
177184
$role->delete();
178185
} else {

app/Http/Controllers/Admin/UserController.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public function store(Request $request)
9494
if (is_array($request->get('roles'))) {
9595
$user->giveRoleTo($request->get('roles'));
9696
}
97-
event(new \App\Events\userActionEvent('\App\Models\Admin\AdminUser',$user->id,1,'添加了用户'.$user->name));
97+
event(new \App\Events\userActionEvent('\App\Models\Admin\AdminUser', $user->id, 1, '添加了用户' . $user->name));
9898
return redirect('/admin/user')->withSuccess('添加成功!');
9999
}
100100

@@ -131,7 +131,7 @@ public function edit($id)
131131
}
132132
$data['rolesAll'] = Role::all()->toArray();
133133
$data['id'] = (int)$id;
134-
event(new \App\Events\userActionEvent('\App\Models\Admin\AdminUser',$user->id,3,'编辑了用户'.$user->name));
134+
event(new \App\Events\userActionEvent('\App\Models\Admin\AdminUser', $user->id, 3, '编辑了用户' . $user->name));
135135
return view('admin.user.edit', $data);
136136
}
137137

@@ -158,8 +158,8 @@ public function update(Request $request, $id)
158158
}
159159

160160
unset($user->roles);
161-
162-
$user->giveRoleTo($request->get('roles',[]));
161+
162+
$user->giveRoleTo($request->get('roles', []));
163163

164164
return redirect('/admin/user')->withSuccess('添加成功!');
165165
}
@@ -173,6 +173,9 @@ public function update(Request $request, $id)
173173
public function destroy($id)
174174
{
175175
$tag = User::find((int)$id);
176+
foreach ($tag->roles as $v) {
177+
$tag->roles()->detach($v);
178+
}
176179
if ($tag && $tag->id != 1) {
177180
$tag->delete();
178181
} else {

app/Http/Requests/PermissionCreateRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function authorize()
2424
public function rules()
2525
{
2626
return [
27-
'name'=>'required|unique:permissions|max:255',
27+
'name'=>'required|unique:admin_permissions|max:255',
2828
'label'=>'required|max:255',
2929
'cid'=>'required|int',
3030
];

app/Http/Requests/PermissionUpdateRequest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ public function authorize()
2424
public function rules()
2525
{
2626
return [
27-
'name'=>'required|unique:permissions,name,'.$this->get('id').'|max:255',
28-
'label'=>'unique:permissions,label,'.$this->get('id').'|max:255',
27+
'name'=>'required|unique:admin_permissions,name,'.$this->get('id').'|max:255',
28+
'label'=>'unique:admin_permissions,label,'.$this->get('id').'|max:255',
2929
'cid'=>'int',
3030
];
3131
}

app/Http/Requests/RoleCreateRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function authorize()
2424
public function rules()
2525
{
2626
return [
27-
'name'=>'required|unique:roles|max:255',
27+
'name'=>'required|unique:admin_roles|max:255',
2828
];
2929
}
3030
}

app/Http/Requests/RoleUpdateRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function authorize()
2424
public function rules()
2525
{
2626
return [
27-
'name'=>'required|unique:roles,name,'.$this->get('id').'|max:255',
27+
'name'=>'required|unique:admin_roles,name,'.$this->get('id').'|max:255',
2828
];
2929
}
3030
}

app/Models/Admin/AdminUser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class AdminUser extends Authenticatable
2626
//用户角色
2727
public function roles()
2828
{
29-
return $this->belongsToMany(Role::class,'admin_role_user','role_id','user_id');
29+
return $this->belongsToMany(Role::class,'admin_role_user','user_id','role_id');
3030
}
3131

3232
// 判断用户是否具有某个角色

app/Models/Admin/Role.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ public function permissions()
1212
{
1313
return $this->belongsToMany(Permission::class,'admin_permission_role','role_id','permission_id');
1414
}
15-
15+
public function users()
16+
{
17+
return $this->belongsToMany(AdminUser::class,'admin_role_user','role_id','user_id');
18+
}
1619
//给角色添加权限
1720
public function givePermissionTo($permission)
1821
{

resources/views/admin/permission/index.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class="btn btn-warning btn-md animation-shake reloadBtn"><i class="fa fa-mail-re
7171
<div class="modal-body">
7272
<p class="lead">
7373
<i class="fa fa-question-circle fa-lg"></i>
74-
确认要删除这个软件吗?
74+
确认要删除这个权限吗?
7575
</p>
7676
</div>
7777
<div class="modal-footer">

0 commit comments

Comments
 (0)