@@ -122,12 +122,12 @@ public function show($id)
122122 */
123123 public function edit ($ id )
124124 {
125- if ($ id == 1 && Auth::guard ('admin ' )->user ()->id !=1 ){//id=1的超级管理员只能自己修改
125+ $ user = User::findOrFail ($ id );
126+
127+ if (!Auth::guard ('admin ' )->user ()->isSuperAdmin && $ user ->isSuperAdmin ){//超级管理员只能自己修改
126128 return response ()->view ('admin.errors.403 ' , ['previousUrl ' =>\URL ::previous ()]);
127129 }
128130
129- $ user = User::findOrFail ($ id );
130-
131131 $ roles = [];
132132 if ($ user ->roles ) {
133133 foreach ($ user ->roles as $ v ) {
@@ -140,6 +140,7 @@ public function edit($id)
140140 }
141141 $ data ['rolesAll ' ] = Role::all ()->toArray ();
142142 $ data ['id ' ] = (int )$ id ;
143+ $ data ['isSuperAdmin ' ] = $ user ->isSuperAdmin ;
143144 return view ('admin.user.edit ' , $ data );
144145 }
145146
@@ -152,11 +153,12 @@ public function edit($id)
152153 */
153154 public function update (Requests \AdminUserUpdateRequest $ request , $ id )
154155 {
155- if ($ id == 1 && Auth::guard ('admin ' )->user ()->id !=1 ){//id=1的超级管理员只能自己修改
156+ $ user = User::findOrFail ($ id );
157+
158+ if (!Auth::guard ('admin ' )->user ()->isSuperAdmin && $ user ->isSuperAdmin ){//超级管理员只能自己修改
156159 return response ()->view ('admin.errors.403 ' , ['previousUrl ' =>\URL ::previous ()]);
157160 }
158161
159- $ user = User::findOrFail ($ id );
160162 foreach ($ this ->fields as $ field => $ default ) {
161163 $ user ->$ field = $ request ->input ($ field );
162164 }
@@ -184,14 +186,18 @@ public function destroy($id)
184186 {
185187 $ user = User::findOrFail ($ id );
186188
189+ if ($ user ->isSuperAdmin ){//超级管理员不能删除
190+ return redirect ()->back ()->withErrors ("操作失败,不能删除超级管理员! " );
191+ }
192+
187193 // foreach ($user->roles as $v) {
188194 // $user->roles()->detach($v);
189195 // }
190196
191197 // 移除用户身上所有身份...
192198 $ user ->roles ()->detach ();
193199
194- if ($ user && $ user ->id != 1 && $ user -> delete ()) {//id=1的超级管理员不能删除
200+ if ($ user && $ user ->delete ()) {//超级管理员不能删除
195201 return redirect ()->back ()->withSuccess ("删除成功! " );
196202 } else {
197203 return redirect ()->back ()->withErrors ("删除失败! " );
0 commit comments