aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Http/Controllers/SpecialCallsController.php51
-rw-r--r--resources/views/pages/activities.blade.php23
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>