user() != null && auth()->user()->fireStationID != null ){ $trainings = DB::table('trainings')->where("fireStationID", '=', auth()->user()->fireStationID) ->whereNull('deleted_at') ->paginate(10); $fireFighters = array(); foreach($trainings as $training) { $id = $training->id; $fireFighters[$id] = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID) ->leftJoin('trainingsFirefighters', function ($join) use ($id) { $join->on('users.id', '=', 'trainingsFirefighters.firefighterID'); $join->where('trainingsFirefighters.trainingID', '=', $id); }) ->select('trainingsFirefighters.*', 'users.name', 'users.surname', 'users.id as userID') ->get(); } return View::make("trainings")->with(compact( "trainings", "fireFighters")); } else{ return view('trainings'); } } public function store(){ $this->validate(request(), [ 'name' => 'required', ], [ 'required' => ':attribute jest wymagany(a).', ]); $request = request(); $equipment = trainings::create([ 'fireStationID' => auth()->user()->fireStationID, 'trainingName' => $request-> name, ]); return redirect()->to('/szkolenia'); } public function addForm(){ } public function addTrainingsFireFighters($id){ if(auth()->user() != null && auth()->user()->fireStationID != null ){ $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID ) ->leftJoin('trainingsFirefighters', function ($join) use($id){ $join->on('users.id', '=', 'trainingsFirefighters.firefighterID'); $join->where('trainingsFirefighters.trainingID', '=', $id); }) ->select('trainingsFirefighters.*', 'users.name', 'users.surname', 'users.id as userID') ->paginate(10); $training = DB::table('trainings')->where("id", '=', $id) ->whereNull('deleted_at')->first(); return View::make("trainingsAddFireFighters")->with(compact( "training", "fireFighters")); } else{ return view('trainings'); } } public function ajaxRequest(Request $request){ $validator = Validator::make($request->all(), [ 'firefighterID' => 'required', 'trainingID' => 'required', 'dateOfComplete' => 'required|date', 'dateOfExpiry' => 'required|date', ], [ 'required' => ':attribute jest wymagany(a).', 'dateOfComplete.required' => 'Data wystawienia szkolenia/badania jest wymagana.', 'dateOfExpiry.required' => 'Data ważności szkolenia/badania jest wymagana.' ]); // WALIDACJA if ($validator->fails()) { if($request->ajax()) { return response()->json(array( 'success' => false, 'message' => 'There are incorect values in the form!', 'errors' => $validator->getMessageBag()->toArray() ), 422); } $this->throwValidationException( $request, $validator ); // WYKONANIE ZAPYTAŃ PO POPRAWNEJ WALIDACJI } else{ $trainingFirefighter = trainingsFirefighters::where([ ['firefighterID', '=', $request->firefighterID], ['trainingID', '=', $request-> trainingID] ])->first(); if($trainingFirefighter == null){ // CREATE $trainings = trainingsFirefighters::create([ 'firefighterID' => $request-> firefighterID, 'trainingID' => $request-> trainingID, 'dateOfComplete' => $request-> dateOfComplete, 'dateOfExpiry' => $request-> dateOfExpiry, 'lifetime' => 1, ]); }else{ // UPDATE $trainingFirefighter->update([ 'dateOfComplete' => $request-> dateOfComplete, 'dateOfExpiry' => $request-> dateOfExpiry, ]); } } } public function deleteFireFighterTrainings(Request $request){ $validator = Validator::make($request->all(), [ 'firefighterID' => 'required', 'trainingID' => 'required', ]); trainingsFirefighters::where([ ['fireFighterID', '=', $request->firefighterID], ['trainingID', '=', $request->trainingID], ])->delete(); } public function update(){ } public function destroy($id) { trainings::find($id)->delete($id); return response()->json([ 'success' => 'Record deleted successfully!' ]); } public function trainingsRename(Request $request){ $validator = Validator::make($request->all(), [ 'trainingID' => 'required', 'trainingName' => 'required', ]); trainings::where('id', '=', $request->trainingID) ->update(['trainingName' => $request->trainingName]); } }