/** * @param $id * @return \Illuminate\Http\RedirectResponse * */ private function storeORUpdate(Request $request, Course $course) { $this->validate($request, ['institution' => 'required|integer', 'courseName' => 'required|max:64', 'description' => 'required|min:10', 'price' => 'numeric|required|min:0|max:9999', 'startDate' => 'required|date', 'duration' => 'required|min:0|max:480|integer', 'participantNum' => 'required|min:1|max:50|Integer']); $institution = Institution::find($request->institution); #TODO validate the institute here. #$this->validator->after(function($validator) { # if ($this->somethingElseIsInvalid()) { # $validator->errors()->add('field', 'Something is wrong with this field!'); # } #}); $course->institution()->associate($institution); $course->courseName = $request->courseName; $course->description = $request->description; $course->price = $request->price; $course->startDate = $request->startDate; $course->duration = $request->duration; $course->participantNum = $request->participantNum; $course->user()->associate(Auth::user()); if ($course->save()) { \Session::flash('flash_message', "Der Kurs wurde erfolgreich gespeichert"); \Session::flash('flash_message_type', "success"); return redirect()->action('CourseController@show', [$course->id]); } else { return Redirect::back()->withError("Der Kurs konnte leider nicht gespeichert werden.")->withInput(); } }