/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy(ResourceInterface $resource) { $response = null; if (Auth::user()->can('delete', $resource)) { if ($this->repository->delete($resource)) { $response = Redirect::route('roles.resource.index')->with('message', trans('roles::privileg.delete success', ['name' => $resource->getName()])); } else { $errors = new MessageBag(); $errors->add('error', trans('roles::resource.delete failed')); $response = Redirect::back()->withErrors($errors); } } else { $errors = new MessageBag(); $errors->add('error', trans('roles::resource.delete permission denied')); $response = Redirect::back()->withErrors($errors); } return $response; }