/** * Update appointment status * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function arrange(Request $request, $id) { $appointment = Appointment::findOrFail($id); if ($appointment->mastori->id !== Auth::user()->userable->id) { return response('Unauthorised', 401); } if ($appointment['status'] !== 'pending') { return response('Appointment has already been ' . $appointment['status'], 401); } $data = $request->only('status'); $validator = Validator::make($data, ['status' => 'required|in:approved,cancelled']); if ($validator->fails()) { return response(['errors' => $validator->messages()], 400); } // store $appointment->status = $data['status']; $appointment->save(); return $appointment->load('user'); }
/** * make booking for the user */ public function makeBooking(Request $request) { //dd($request->get('booking')); if (Auth::user()->type != 4) { # code... return redirect()->back(); } $val = $this->customValidation($request->get('booking')); if ($val == 0) { # code... return redirect()->back()->withErrors("You haven't made a booking."); } elseif ($val > 1) { return redirect()->back()->withErrors("You can only book one appointment at a time."); } foreach ($request->get('booking') as $_temp) { # code... if ($_temp != "none") { # code... $appointId = $_temp; } } //dd($appointId); $appointment = Appointment::findOrFail($appointId); if ($appointment->available == 1) { # code... $booking = Booking::create(['appointment_id' => $appointment->id, 'user_id' => Auth::user()->id]); $appointment->update(['available' => 0]); return redirect('home/patient'); } return redirect()->back()->withErrors("Error creating the booking"); }
public function doScheduleAppointment($appointment_id, $date, $start, $end) { $appointment = Appointment::findOrFail($appointment_id); $appointment->schedule($date, $start, $end); return redirect()->back(); }
public function getSidebar(Request $request) { $appointment = Appointment::findOrFail($request->input('appointment_id')); $vars = array("patient" => $appointment->patient); $html = view('backend/partials/patient-sidebar')->with($vars)->render(); $response = array("status" => "success", "html" => $html); return json_encode($response); }