user() != null && auth()->user()->accessLevel() >= 20) //prezes,naczelnik,sekretarz { // $users = user::where("fireStationID", auth()->user()->fireStationID)->get(); // $users = DB::table('users')->where("fireStationID", '=', auth()->user()->fireStationID)->get(); $users = DB::table('users')->where("fireStationID", '=', auth()->user()->fireStationID) ->leftJoin('ranks', 'users.degreeID', '=', 'ranks.id') ->leftJoin('unitFunctions', 'users.functionID', '=', 'unitFunctions.id') ->select('users.id','users.name', 'users.surname', 'users.PESEL', 'users.email', 'users.statusID', 'ranks.rank', 'unitFunctions.unitFunction') ->paginate(10); return view("fireFighters", ["users" => $users]); } else { return redirect()->to('/userprofile'); } } public function addForm(){ if(auth()->user() != null && auth()->user()->accessLevel() == 50 ){ //prezes,naczelnik $fireStation = fireStation::find(auth()->user()->fireStationID); if($fireStation-> creatorID == auth()->user()->id){ //if do usunięcia w pzyszłości $ranks = DB::table('ranks')->pluck("rank","id"); $unitFunctions = DB::table('unitFunctions')->pluck("unitFunction","id"); return view('fireFightersAdd',compact('ranks'), compact('unitFunctions')); } else return fireFightersController::create(); // ??? } else return redirect()->to('/strazacy'); } public function editForm($id){ if(auth()->user() != null && auth()->user()->accessLevel() == 50 ){ //prezes,naczelnik $userFireStation = auth()->user()->fireStationID; $fireFighterFireStation = DB::table('users')->where("id", $id)->value('fireStationID'); $fireStationCreatorId = DB::table('fireStations')->where("id", $userFireStation)->value('creatorID'); $fireFighter = DB::table('users')->where("id", $id)->first(); if($userFireStation == $fireFighterFireStation && auth()->user()->id == $fireStationCreatorId) { // if do usunięcia w pzyszłości return view('fireFightersEdit', ["fireFighter" => $fireFighter]); } else{ return "Brak dostepu"; } }else{ return redirect()->to('/strazacy'); } } public function store(){ $this->validate(request(), [ 'name' =>'required|min:2|max:45|regex:/^[\p{L}\040\x27-]+$/', 'surname' =>'required|min:2|max:45|regex:/^[\p{L}\040\x27-]+$/', 'PESEL' => new Pesel, 'phoneNumber' => 'required|digits:9', 'email' => 'required|email|unique:users', 'rank' => 'required', 'unitFunction' => 'required', ], [ 'required' => ':attribute jest wymagany(e).', 'min' => ':attribute musi mieć przynajmniej :min znaki.', 'max' => ':attribute musi mieć nie więcej niż :max znaków.', 'regex' => ':attribute może zawierać tylko litery, spacje, myślniki i apostrofy', 'digits' => ':attribute musi składać się z :digits cyfr.', 'unique' =>':attribute jest już zajęty.', 'confirmed' =>':attribute się nie zgadza.', 'email' => 'Niepoprawny adres e-mail.' ]); $request = request(); $confirmation_code = str_random(30); $password = str_random(10); $user = User::create([ 'password' => $password, 'email' => $request-> email, 'name' => $request-> name, 'surname' => $request-> surname, 'PESEL' => $request-> PESEL, 'phoneNumber' => $request-> phoneNumber, 'functionID' => $request-> unitFunction, 'degreeID' => $request-> rank, 'number' => 'ABC123', 'fireStationID' => auth()->user()->fireStationID, 'creatorID' => auth()->user()-> id, 'changingID' => auth()->user()-> id, 'confirmation_code' => $confirmation_code, ]); Mail::send('emails.newUserVerification', compact('password', 'confirmation_code'), function($message) { $message->to(Input::get('email'), Input::get('name'))->subject('Witamy w serwisie eOSP'); }); return fireFightersController::create(); } public function update(){ $this->validate(request(), [ 'name' =>'required|min:2|max:45|regex:/^[\p{L}\040\x27-]+$/', 'surname' =>'required|min:2|max:45|regex:/^[\p{L}\040\x27-]+$/', 'PESEL' => new Pesel, 'phoneNumber' => 'required|digits:9', ], [ 'required' => ':attribute jest wymagany(e).', 'min' => ':attribute musi mieć przynajmniej :min znaki.', 'max' => ':attribute musi mieć nie więcej niż :max znaków.', 'regex' => ':attribute może zawierać tylko litery, spacje, myślniki i apostrofy', 'digits' => ':attribute musi składać się z :digits cyfr.', 'unique' =>':attribute jest już zajęty.', 'confirmed' =>':attribute się nie zgadza.', 'email' => 'Niepoprawny adres e-mail.' ]); $request = request(); $fireFighter = User::find( $request->userID); $fireFighter-> name = $request->name; $fireFighter-> surname = $request->surname; $fireFighter-> PESEL = $request->PESEL; $fireFighter-> phoneNumber = $request->phoneNumber; $fireFighter->save(); return fireFightersController::create(); } public function activate() { $request = request(); $user = User::find( $request-> userID); $user-> statusID = 0; $user->save(); return redirect()->to('/strazacy'); } public function deactivate() { $request = request(); $user = User::find( $request-> userID); $user-> statusID = 1; $user->save(); return redirect()->to('/strazacy'); } }