From 3c410d2bac3e338ab6d6045577819e292251c066 Mon Sep 17 00:00:00 2001
From: Mateja <mail@matejamaric.com>
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 -------------------------
 4 files changed, 154 insertions(+), 139 deletions(-)
 create mode 100644 app/Http/Controllers/LoginController.php
 create mode 100644 app/Http/Controllers/ReservationsController.php

(limited to 'app/Http/Controllers')

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 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use function dd;
+use function redirect;
+
+use Illuminate\Support\Facades\Validator;
+use Illuminate\Support\Facades\Redirect;
+use Illuminate\Support\Facades\Auth;
+
+class LoginController extends Controller
+{
+    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)
+    {
+        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 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Http\Request;
+use function dd;
+use function redirect;
+
+use Illuminate\Support\Facades\Validator;
+use Illuminate\Support\Facades\Redirect;
+
+use App\Models\Reservation;
+use App\Models\SpecialCall;
+
+class ReservationsController extends Controller
+{
+    public function reserve(Request $request)
+    {
+        $signs = SpecialCall::all();
+        return view('pages.reserve', compact('signs'));
+    }
+
+    public function reserveForm(Request $request)
+    {
+        //$validatedData = $request->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);
-- 
cgit v1.2.3