From 3c410d2bac3e338ab6d6045577819e292251c066 Mon Sep 17 00:00:00 2001 From: Mateja Date: Sun, 1 Nov 2020 22:05:34 +0100 Subject: Reorganize controllers. --- app/Http/Controllers/LoginController.php | 57 +++++++++++++++ app/Http/Controllers/PagesController.php | 58 ++++----------- app/Http/Controllers/ReservationsController.php | 85 ++++++++++++++++++++++ app/Http/Controllers/SpecialCallsController.php | 93 ------------------------- routes/web.php | 19 ++--- 5 files changed, 165 insertions(+), 147 deletions(-) create mode 100644 app/Http/Controllers/LoginController.php create mode 100644 app/Http/Controllers/ReservationsController.php diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/LoginController.php new file mode 100644 index 0000000..02779bf --- /dev/null +++ b/app/Http/Controllers/LoginController.php @@ -0,0 +1,57 @@ + 'required|email', + 'password' => 'required', + ]; + + $messages = [ + 'email.required' => 'Your email address is required.', + 'password.required' => 'Your password is required.', + ]; + + $validator = Validator::make($request->all(), $rules, $messages); + + if ($validator->fails()) { + return Redirect::back() + ->withErrors($validator) + ->withInput(); + } + + //$validatedData = $request->validate([ + //'email' => 'required|email', + //'password' => 'required', + //]); + //return redirect('login')->with('status', 'Submitted.'); + //return Redirect::back()->with('status', 'Submitted.'); + if (Auth::attempt($request->only('email', 'password'))) + return redirect()->intended(route('home')); + else return Redirect::back() + ->withErrors(['failed' => ['Bad credentials!']]); + } + + public function logout(Request $request) + { + Auth::logout(); + return Redirect::back(); + } +} diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php index ebd6b13..ac7abab 100644 --- a/app/Http/Controllers/PagesController.php +++ b/app/Http/Controllers/PagesController.php @@ -3,13 +3,10 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; -use App\Models\Post; use function dd; -use function redirect; -use Illuminate\Support\Facades\Validator; -use Illuminate\Support\Facades\Redirect; -use Illuminate\Support\Facades\Auth; +use App\Models\Post; +use App\Models\Reservation; class PagesController extends Controller { @@ -38,47 +35,16 @@ class PagesController extends Controller return view('pages.sponsoring'); } - // LOGIN SYSTEM - public function login(Request $request) - { - return view('pages.login'); - } - - public function loginForm(Request $request) - { - $rules = [ - 'email' => 'required|email', - 'password' => 'required', - ]; - - $messages = [ - 'email.required' => 'Your email address is required.', - 'password.required' => 'Your password is required.', - ]; - - $validator = Validator::make($request->all(), $rules, $messages); - - if ($validator->fails()) { - return Redirect::back() - ->withErrors($validator) - ->withInput(); - } - - //$validatedData = $request->validate([ - //'email' => 'required|email', - //'password' => 'required', - //]); - //return redirect('login')->with('status', 'Submitted.'); - //return Redirect::back()->with('status', 'Submitted.'); - if (Auth::attempt($request->only('email', 'password'))) - return redirect()->intended(route('home')); - else return Redirect::back() - ->withErrors(['failed' => ['Bad credentials!']]); - } - - public function logout(Request $request) + public function activities(Request $request) { - Auth::logout(); - return Redirect::back(); + $activities = Reservation::where('approved', '1')->get(); + //$activities = Reservation::addSelect([ + //'specialCall' => SpecialCall::select('sign') + ////->whereColumn('reservations.specialCall', 'special_calls.id') + //->whereColumn('specialCall', 'id') + //->limit(1) + //])->get(); + + return view('pages.activities', compact('activities')); } } diff --git a/app/Http/Controllers/ReservationsController.php b/app/Http/Controllers/ReservationsController.php new file mode 100644 index 0000000..4816993 --- /dev/null +++ b/app/Http/Controllers/ReservationsController.php @@ -0,0 +1,85 @@ +validate([ + //... + //]); + + $rules = [ + 'scall' => 'required|alphanum', + 'sdate' => 'required|date', + 'stime' => 'required', + 'edate' => 'required|date', + 'etime' => 'required', + 'freqs' => 'required', + 'modes' => 'required', + 'ocall' => 'required|alphanum', + 'oname' => 'required', + 'email' => 'required|email', + 'phone' => ['required', 'regex:/^[0-9 ]+$/'], + ]; + + $messages = [ + 'freqs.required' => 'You need to choose at least one frequency.', + 'modes.required' => 'You need to choose at least one mode.', + 'ocall.alphanum' => 'Callsigns must be alpha-numeric!', + ]; + + $validator = Validator::make($request->all(), $rules, $messages); + + if ($validator->fails()) { + return Redirect::back() + ->withErrors($validator) + ->withInput(); + } + + $reservation = new Reservation(); + + $reservation->specialCall = $request->scall; + $reservation->fromTime = $request->sdate . ' ' . $request->stime; + $reservation->toTime = $request->edate . ' ' . $request->etime; + $reservation->frequencies = implode(', ', $request->freqs); + $reservation->modes = implode(', ', $request->modes); + $reservation->operatorCall = $request->ocall; + $reservation->operatorName = $request->oname; + $reservation->operatorEmail = $request->email; + $reservation->operatorPhone = $request->phone; + + $reservation->saveOrFail(); + + return redirect()->route('reserve')->with('status', 'Reservation submitted.'); + } + + // Administration + public function reservations(Request $request) + { + $data = Reservation::all(); + return view('pages.reservations', compact('data')); + } + + public function reservationsForm(Request $request) + { + return Redirect::back(); + } +} diff --git a/app/Http/Controllers/SpecialCallsController.php b/app/Http/Controllers/SpecialCallsController.php index 3d6f2b9..2c63c22 100644 --- a/app/Http/Controllers/SpecialCallsController.php +++ b/app/Http/Controllers/SpecialCallsController.php @@ -8,93 +8,11 @@ use function redirect; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Redirect; -use Illuminate\Support\Facades\Auth; -use App\Models\Reservation; use App\Models\SpecialCall; class SpecialCallsController extends Controller { - public function activities(Request $request) - { - $activities = Reservation::where('approved', '1')->get(); - //$activities = Reservation::addSelect([ - //'specialCall' => SpecialCall::select('sign') - ////->whereColumn('reservations.specialCall', 'special_calls.id') - //->whereColumn('specialCall', 'id') - //->limit(1) - //])->get(); - - return view('pages.activities', compact('activities')); - } - - public function reserve(Request $request) - { - $signs = SpecialCall::all(); - return view('pages.reserve', compact('signs')); - } - - public function reserveForm(Request $request) - { - //$validatedData = $request->validate([ - //'scall' => 'required|alphanum', - //'sdate' => 'required|date', - //'stime' => 'required', - //'edate' => 'required|date', - //'etime' => 'required', - //'freqs' => 'required', - //'modes' => 'required', - //'ocall' => 'required|alphanum', - //'oname' => 'required', - //'email' => 'required|email', - //'phone' => ['required', 'regex:/^[0-9 ]+$/'], - //]); - - $rules = [ - 'scall' => 'required|alphanum', - 'sdate' => 'required|date', - 'stime' => 'required', - 'edate' => 'required|date', - 'etime' => 'required', - 'freqs' => 'required', - 'modes' => 'required', - 'ocall' => 'required|alphanum', - 'oname' => 'required', - 'email' => 'required|email', - 'phone' => ['required', 'regex:/^[0-9 ]+$/'], - ]; - - $messages = [ - 'freqs.required' => 'You need to choose at least one frequency.', - 'modes.required' => 'You need to choose at least one mode.', - 'ocall.alphanum' => 'Callsigns must be alpha-numeric!', - ]; - - $validator = Validator::make($request->all(), $rules, $messages); - - if ($validator->fails()) { - return Redirect::back() - ->withErrors($validator) - ->withInput(); - } - - $reservation = new Reservation(); - - $reservation->specialCall = $request->scall; - $reservation->fromTime = $request->sdate . ' ' . $request->stime; - $reservation->toTime = $request->edate . ' ' . $request->etime; - $reservation->frequencies = implode(', ', $request->freqs); - $reservation->modes = implode(', ', $request->modes); - $reservation->operatorCall = $request->ocall; - $reservation->operatorName = $request->oname; - $reservation->operatorEmail = $request->email; - $reservation->operatorPhone = $request->phone; - - $reservation->saveOrFail(); - - return redirect()->route('reserve')->with('status', 'Reservation submitted.'); - } - public function add(Request $request) { $data = SpecialCall::all(); @@ -121,17 +39,6 @@ class SpecialCallsController extends Controller return Redirect::back()->with('status', 'Callsign added.'); } - public function reservations(Request $request) - { - $data = Reservation::all(); - return view('pages.reservations', compact('data')); - } - - public function reservationsForm(Request $request) - { - return Redirect::back(); - } - public function edit(Request $request, int $id) { $data = SpecialCall::findOrFail($id); diff --git a/routes/web.php b/routes/web.php index d5f0ae3..f743652 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,9 @@ name('news'); Route::get('/gallery', [PagesController::class, 'gallery'])->name('gallery'); Route::get('/sponsoring', [PagesController::class, 'sponsoring'])->name('sponsoring'); -Route::get('/special-calls', [SpecialCallsController::class, 'activities'])->name('activities'); -Route::get('/special-calls/reserve', [SpecialCallsController::class, 'reserve'])->name('reserve'); -Route::post('/special-calls/reserve', [SpecialCallsController::class, 'reserveForm'])->name('reserveForm'); +Route::get('/special-calls', [PagesController::class, 'activities'])->name('activities'); +Route::get('/special-calls/reserve', [ReservationsController::class, 'reserve'])->name('reserve'); +Route::post('/special-calls/reserve', [ReservationsController::class, 'reserveForm'])->name('reserveForm'); Route::get('/special-calls/add', [SpecialCallsController::class, 'add'])->name('addSign') @@ -36,12 +38,13 @@ Route::post('/special-calls/edit/{id}', [SpecialCallsController::class, 'editFor ->middleware(['auth']); -Route::get('/special-calls/reservations', [SpecialCallsController::class, 'reservations'])->name('reservations') +Route::get('/special-calls/reservations', [ReservationsController::class, 'reservations'])->name('reservations') ->middleware(['auth']); -Route::post('/special-calls/reservations', [SpecialCallsController::class, 'reservationsForm'])->name('reservationsForm') +Route::post('/special-calls/reservations', [ReservationsController::class, 'reservationsForm'])->name('reservationsForm') ->middleware(['auth']); -Route::get('/login', [PagesController::class, 'login'])->name('login'); -Route::post('/login', [PagesController::class, 'loginForm'])->name('loginForm'); -Route::get('/logout', [PagesController::class, 'logout'])->name('logout'); +Route::get('/login', [LoginController::class, 'login'])->name('login'); +Route::post('/login', [LoginController::class, 'loginForm'])->name('loginForm'); +Route::get('/logout', [LoginController::class, 'logout'])->name('logout'); + -- cgit v1.2.3