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/ReservationsController.php | 85 +++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 app/Http/Controllers/ReservationsController.php (limited to 'app/Http/Controllers/ReservationsController.php') 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(); + } +} -- cgit v1.2.3