Ejemplo n.º 1
0
 /**
  * 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');
 }
Ejemplo n.º 2
0
 /**
  * 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");
 }
Ejemplo n.º 3
0
 public function doScheduleAppointment($appointment_id, $date, $start, $end)
 {
     $appointment = Appointment::findOrFail($appointment_id);
     $appointment->schedule($date, $start, $end);
     return redirect()->back();
 }
Ejemplo n.º 4
0
 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);
 }