From a2c0d85c012aa9f0237497091f78acd58e06d52f Mon Sep 17 00:00:00 2001 From: Krzysztof Strzelecki Date: Tue, 24 Dec 2019 01:37:01 +0100 Subject: [PATCH] =?UTF-8?q?dodanie=20widoku=20profil=20u=C5=BCytkownika=20?= =?UTF-8?q?-=20wy=C5=9Bwietlanie=20i=20edycja=20podstawowych=20danych,=20b?= =?UTF-8?q?ez=20zmiany=20has=C5=82a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/userProfileController.php | 72 +++++++++++++++++++ resources/views/layout/app.blade.php | 7 +- resources/views/userProfile.blade.php | 51 +++++++++++++ resources/views/userProfileEdit.blade.php | 45 ++++++++++++ routes/web.php | 4 ++ 5 files changed, 176 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/userProfileController.php create mode 100644 resources/views/userProfile.blade.php create mode 100644 resources/views/userProfileEdit.blade.php diff --git a/app/Http/Controllers/userProfileController.php b/app/Http/Controllers/userProfileController.php new file mode 100644 index 0000000..03209cc --- /dev/null +++ b/app/Http/Controllers/userProfileController.php @@ -0,0 +1,72 @@ +user() != null && auth()->user()->fireStationID != null ){ + $userData = DB::table('users')->where("users.id", '=', auth()->user()->id) + ->leftJoin('ranks', 'users.degreeID', '=', 'ranks.id') + ->leftJoin('unitFunctions', 'users.functionID', '=', 'unitFunctions.id') + ->select('users.id','users.name', 'users.surname', 'users.PESEL','users.phoneNumber', 'users.email', 'ranks.rank', 'unitFunctions.unitFunction', 'users.number') + ->first(); + return view("userProfile", ["userData" => $userData]); + } else{ + return redirect()->to('/login'); + } + } + + public function editForm() + { + if(auth()->user() != null && auth()->user()->fireStationID != null ) + { + + $userData = DB::table('users')->where("id", '=', auth()->user()->id) + ->first(); + + return view("userProfileEdit", ["userData" => $userData]); + } + else + return redirect()->to('/login'); + + } + + public function update(){ + $this->validate(request(), [ + 'name' => 'required|alpha|min:3|max:45', + 'surname' => 'required|alpha|min:3|max:45', + 'PESEL' => new Pesel, + 'phoneNumber' => 'required|digits:9', + 'email' => 'required|email|unique:users,email,'.auth()->user()->id, //wymagaj unikalnego adresu email ale pozwól na zachowanie starego adresu + ], + [ + 'required' => ':attribute jest wymagany(e).', + 'min' => ':attribute musi mieć przynajmniej :min znaki.', + 'max' => ':attribute musi mieć nie więcej niż :max znaków.', + 'alpha' => ':attribute może zawierać tylko litery.', + 'alpha_num' => ':attribute może zawierać tylko litery i cyfry.', + '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(); + $user = User::find( $request->userID); + $user-> name = $request->name; + $user-> surname = $request->surname; + $user-> PESEL = $request->PESEL; + $user-> phoneNumber = $request->phoneNumber; + $user-> email = $request->email; + $user-> changingID = auth()->user()-> id; + $user->save(); + + return redirect()->to('/userprofile');; + } +} diff --git a/resources/views/layout/app.blade.php b/resources/views/layout/app.blade.php index c9ceed6..756d9cb 100644 --- a/resources/views/layout/app.blade.php +++ b/resources/views/layout/app.blade.php @@ -15,10 +15,11 @@ @if( auth()->check() ) {{ auth()->user()->name }} {{ auth()->user()->surname }} - Logout + Wyloguj + Mój profil @else - Login - Register + Zaloguj się + Rejestracja @endif