diff options
-rw-r--r-- | app/Http/Controllers/SpecialCallsController.php | 51 | ||||
-rw-r--r-- | resources/views/pages/activities.blade.php | 23 |
2 files changed, 70 insertions, 4 deletions
diff --git a/app/Http/Controllers/SpecialCallsController.php b/app/Http/Controllers/SpecialCallsController.php index dcfbbf0..01e7af7 100644 --- a/app/Http/Controllers/SpecialCallsController.php +++ b/app/Http/Controllers/SpecialCallsController.php @@ -10,11 +10,14 @@ use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Auth; +use App\Models\Reservation; + class SpecialCallsController extends Controller { public function activities(Request $request) { - return view('pages.activities'); + $activities = Reservation::all(); + return view('pages.activities', compact('activities')); } public function reserve(Request $request) @@ -24,7 +27,21 @@ class SpecialCallsController extends Controller public function reserveForm(Request $request) { - $validatedData = $request->validate([ + //$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', @@ -36,7 +53,35 @@ class SpecialCallsController extends Controller '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 = 1; + $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.'); } diff --git a/resources/views/pages/activities.blade.php b/resources/views/pages/activities.blade.php index e15266f..889453c 100644 --- a/resources/views/pages/activities.blade.php +++ b/resources/views/pages/activities.blade.php @@ -5,13 +5,34 @@ @section('navbar', View::make('inc.special_navbar')) @section('content') -@if (1==2) +@if (isset($activities)) <div class="table-responsive"> <table class="table table-striped table-bordered"><!-- table-hover --> <thead class="thead-dark"> <tr><th>Operator</th><th>From</th><th>To</th><th>Special Callsign</th><th>Frequencies</th><th>QSO</th></tr> </thead> <tbody> + @foreach ($activities as $row) +{{--'approved'--}} +{{--'specialCall'--}} +{{--'fromTime'--}} +{{--'toTime'--}} +{{--'frequencies'--}} +{{--'modes'--}} +{{--'operatorCall'--}} +{{--'operatorName'--}} +{{--'operatorEmail'--}} +{{--'operatorPhone'--}} +{{--'qso'--}} + <tr> + <td>{{ $row->operatorCall }}</td> + <td>{{ $row->fromTime }}</td> + <td>{{ $row->toTime }}</td> + <td>{{ $row->specialCall }}</td> + <td>{{ $row->frequencies }}</td> + <td>{{ $row->qso }}</td> + </tr> + @endforeach </tbody> </table> </div> |