/**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create($roleId)
 {
     //
     $role = Role::findOrFail($roleId);
     $permissionIds = RolePermission::where('role_id', $roleId)->select('permission_id')->get();
     $permissionList = Permission::whereNotIn('id', $permissionIds)->select('id', DB::raw('concat(name, \' - \', display_name) as name'))->lists('name', 'id');
     if ($role != null) {
         return view('system.rolepermissions.create', compact('role', 'permissionList'));
     } else {
         return '无此角色';
     }
 }
 public function update(GroupRequest $request, $id)
 {
     if ($this->currentUser->hasAccess('wts.group.edit')) {
         DB::transaction(function () use($request, $id) {
             $permissions = $request->permissions;
             for ($i = 0; $i < count($permissions); $i++) {
                 $permissions[$i] = Crypt::decrypt($permissions[$i]);
             }
             $availiblePermissions = Permission::whereIn("id", $permissions)->get(array("name"))->toArray();
             $finallyPermissions = [];
             foreach ($availiblePermissions as $key => $value) {
                 $finallyPermissions[$value["name"]] = 1;
             }
             $notAvailiblePermissions = Permission::whereNotIn("id", $permissions)->get(array("name"))->toArray();
             foreach ($notAvailiblePermissions as $key => $value) {
                 $finallyPermissions[$value["name"]] = 0;
             }
             //standart store
             $updateGroupQuery = Sentry::findGroupById($id);
             $updateGroupQuery->name = $request->group_name;
             $updateGroupQuery->slug = $request->slug_name;
             $updateGroupQuery->permissions = $finallyPermissions;
             $updateGroupQuery->save();
         });
         return response()->json($this->editResponseMessage);
     } else {
         abort(403, $this->accessForbidden);
     }
 }