public function insert(Request $request) { $role = $this->repository->create($request->all()); $permissions = Permission::whereIn('id', $request->permissions)->get(); foreach ($permissions as $permission) { $role->grantPermission($permission); } }
/** * Reverse the migrations. * * @return void */ public function down() { $new_permissions = array('can_edit_station_data', 'can_add_station_data', 'can_delete_station_data', 'can_view_station_data'); $roles = Role::get(); $permissions = Permission::whereIn('name', $new_permissions)->get(); $permission_ids = $permissions->lists('id'); // First detach the permissions from the roles foreach ($roles as $role) { $role->detachPermissions($permission_ids); } // Now delete the permission altogether foreach ($permissions as $permission) { $permission->delete(); } }
public function deleteByIds($ids) { $result = Permission::whereIn('id', $ids)->delete(); return $result; }
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); } }