aboutsummaryrefslogtreecommitdiff
path: root/app/Http
diff options
context:
space:
mode:
Diffstat (limited to 'app/Http')
-rw-r--r--app/Http/Controllers/SpecialCallsController.php51
1 files changed, 48 insertions, 3 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.');
}