public function attendAction()
 {
     $this->language->load("clinic_doctors");
     $user_id = $this->input->post('user_id');
     $date = $this->input->post('date');
     $time = $this->input->post('time');
     $model = new \modules\clinic\models\Clinic_reservations(FALSE);
     $model->_select = "clinic_reservation_id";
     $model->user_id = $user_id;
     $model->date = $date;
     $model->time = $time;
     $model->clinic_reservation_status = 'confirmed';
     $result = $model->get();
     if ($model->get()) {
         $clinic_reservation_id = $result[0]->clinic_reservation_id;
         $model->clinic_reservation_id = $clinic_reservation_id;
         $model->status = 'attend';
         if ($model->save(TRUE)) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
 public function manageAction($id = false)
 {
     $this->permission('manage');
     $this->language->load("clinic_reservations");
     $model = new \modules\clinic\models\Clinic_reservations();
     $model->language_id = $this->language->getDefaultLanguage();
     $doctor = Form_helper::queryToDropdown('users', 'clinic_doctor_id', 'fullname', null, 'join clinic_doctors on clinic_doctors.user_id = users.user_id');
     $model->attributes = $this->Input->input['post'];
     $clinic_reservation_status = ['confirmed' => $this->Language->phrase('confirmed'), 'canceled' => $this->Language->phrase('canceled'), 'pending' => $this->Language->phrase('pending')];
     $schedules = Form_helper::queryToDropdown('clinic_schedules', 'clinic_schedule_id', 'clinic_schedule_id');
     $patients = Form_helper::queryToDropdown('users', 'user_id', 'fullname');
     //        $patients = Form_helper::fullqueryToDropdown('SELECT clinic_patients.clinic_patient_id, users.fullname FROM clinic_patients  INNER JOIN users ON users.user_id = clinic_patients.user_id', 'clinic_patient_id', 'fullname');
     if ($id) {
         $model->clinic_reservation_id = $id;
     }
     $model->language_id = $this->language->getDefaultLanguage();
     if (!$id) {
         $model->created = date("Y-m-d H:i:s");
     }
     if ($model->save()) {
         Uri_helper::redirect("management/clinic_reservations");
     }
     $final = null;
     if ($_POST) {
         $final = $this->getSearch();
     }
     return $this->render('clinic_reservations/manage', ['item' => $id ? $model->get() : null, 'patient' => $patients, 'schedule' => $schedules, 'clinic_reservation_status' => $clinic_reservation_status, 'doctors' => $doctor]);
 }
예제 #3
0
 public function get_searchResult($date, $time, $doctor_id)
 {
     $i = 0;
     $x = 0;
     //        $final_result = [];
     //        $newtime[]->time = (object) array('time', 'user_id', 'date');
     foreach ($time as $key => $value) {
         $newtime[$key]->time = $value;
     }
     foreach ($newtime as $key => $value) {
         $model_rev = new \modules\clinic\models\Clinic_reservations();
         $model_rev->_select = 'user_id , date , time';
         $model_rev->time = $value->time;
         $model_rev->date = $date;
         $model_rev->clinic_doctor_id = $doctor_id;
         $model_rev->where = 'clinic_reservation_status = "confirmed" of clinic_reservation_status = "pending"';
         $result_f = $model_rev->get();
         $user_id = $result_f[0]->user_id;
         if ($result_f) {
             foreach ($result_f as $key => $value) {
                 $tim = $result_f[$key]->time;
                 foreach ($newtime as $k => $val) {
                     if ($newtime[$k]->time == $tim) {
                         $user_id = $result_f[$key]->user_id;
                         $newtime[$k]->user_id = $user_id;
                         $newtime[$k]->date = $date;
                         $newtime[$k]->time = $tim;
                         $newtime[$k]->status = 'reserved';
                     }
                 }
             }
         }
     }
     $model_ex = new \modules\clinic\models\Clinic_schedule_exceptions();
     $model_ex->select = '';
     $model_ex->clinic_doctor_id = $doctor_id;
     $model_ex->date = $date;
     $exception = $model_ex->get();
     foreach ($exception as $key => $v) {
         $ffff = strtotime("1970-01-01 {$v->from_time} UTC");
         $tttt = strtotime("1970-01-01 {$v->to_time} UTC");
         foreach ($newtime as $k => $value) {
             $newwww = $newtime[$k]->time;
             $convert = strtotime("1970-01-01 {$newwww} UTC");
             if ($convert == $ffff) {
                 $newtime[$k]->status = 'except';
                 $newtime[$k]->time = $newwww;
             } elseif ($convert == $tttt) {
                 $newtime[$k]->status = 'except';
             } elseif ($convert > $ffff && $convert < $tttt) {
                 $newtime[$k]->status = 'except';
             }
         }
     }
     return $newtime;
 }