/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @param $project_id * * @return \Illuminate\Http\Response */ public function store(Request $request, $project_id) { if (Sentinel::hasAccess(["tasks.create"])) { abort(401); } $this->validate($request, $this->rules); $task = new Task(); $task->name = $request->get("name"); $task->is_done = $request->get("is_done") == NULL ? 0 : $request->get("is_done"); $task->progress = $request->get("progress"); $task->taskable_id = $project_id; $task->taskable_type = "App\\Project"; $task->save(); Toastr::success("The Task has been successfully created"); return redirect(action("Admin\\TaskController@index", ["project_id" => $project_id])); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if (!Sentinel::hasAccess(["project.update"])) { abort(401); } $this->rules["name"] = "required|unique:projects,name,{$id},id"; $this->validate($request, $this->rules); $project = Project::findOrNew($id); $project->name = $request->get("name"); $project->is_done = is_null($request->get("is_done")) ? 0 : $request->get("is_done"); $project->mark = $request->get("mark"); foreach ($project->descriptions as $description) { /** @var Description $description */ $description->delete(); } $dutchDesc = new Description(); $dutchDesc->description = $request->get("dutchDesc"); $dutchDesc->language_id = 1; $project->descriptions()->save($dutchDesc); $englishDesc = new Description(); $englishDesc->description = $request->get("englishDesc"); $englishDesc->language_id = 2; $project->descriptions()->save($englishDesc); $project->type = $request->get("type"); $project->save(); Toastr::success("The project {$project->name} has been successfully updated"); return redirect(action("Admin\\ProjectsController@show", $id)); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { if (Sentinel::check()->id != $id) { $user = User::find($id); $user->delete(); Toastr::success("The account has been removed"); return redirect(action("Admin\\UsersController@index")); } else { Toastr::error("You cannot remove your own account"); return back(); } }