177 lines
7.0 KiB
PHP
Executable File

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class CaregiversSchedule extends MX_Controller {
function __construct() {
parent::__construct();
//echo 'test';die;
$this->load->model('CaregiverSchedule_model');
if (!$this->ion_auth->in_group(array('admin','Caregiver'))) {
if(!$this->ion_auth->coordinator_permission('caregiver_menu')){
redirect('home/permission');
}
}
}
public function index($id=null) {
// echo $id;die;
}
public function Display($id=null){
if($id!=null){
$id = base64_dec($id);
$data['caregiver_id']=$id;
$data['caregiver']=$this->CaregiverSchedule_model->getNurseById($data['caregiver_id']);
$data['patientSchedule']=$this->CaregiverSchedule_model->caregiverScheduleById($data['caregiver_id']);
$data['AvailableSchedule']=$this->CaregiverSchedule_model->availableScheduleById($data['caregiver_id']);
$data['previousSchedule']=$this->CaregiverSchedule_model->previousScheduleById($data['caregiver_id']);
$data['schedulePreference']=$this->CaregiverSchedule_model->schedulePreferenceById($data['caregiver_id']);
}else{
redirect($_SERVER['HTTP_REFERER']);
}
// pre($data);die();
// echo '<pre>'; print_r($data); echo '</pre>';die;
$this->load->view('home/dashboard'); // just the header file
$this->load->view('caregiver_schedule',$data);
$this->load->view('home/footer');
}
public function addSchedule(){
$data['weekday']=$this->CaregiverSchedule_model->masterScheduleWeekdayList();
$data['caregiver_id']=$this->input->get('id');
$this->load->view('home/dashboard'); // just the header file
$this->load->view('add_new_schedule',$data);
$this->load->view('home/footer');
}
public function saveCaregiverSchedule(){
//echo '<pre>'; print_r($schedule); echo '</pre>';
$post=$this->input->post();
$created_by=$this->session->userdata('user_id');
$created_on=date ('Y-m-d H:i:s', now());
$schedule_id=$post['schedule_id'];
foreach($schedule_id as $schedule){
$data=array(
'caregiver_id'=>$post['caregiver_id'],
'schedule_master_id'=>$schedule,
'created_by'=>$created_by,
'created_on'=>$created_on,
'status'=>1,
);
$this->CaregiverSchedule_model->saveCaregiverSchedule($data);
}
redirect('caregivers/caregiverSchedule?id='.$post['caregiver_id'].'');
}
/**********************************************************/
public function CheckAvailability(){
//print_r($_GET);die;
echo $this->CaregiverSchedule_model->CheckAvailability($_GET);
}
public function saveAvailability(){
// print_r($_POST);die;
unset($_POST['ci_csrf_token']);
$caregiver_id = $_POST['caregiver_id'];
$success=$this->CaregiverSchedule_model->saveAvailability($_POST);
if($success){
// ------------Send Push Notification --------------
$getFcmToken = $this->CaregiverSchedule_model->getFcmToken($caregiver_id);
$fcm_token = $getFcmToken->fcm_token;
$post_title='Notification From Admin';
$post_message='Admin set your availability';
$type='caregiver';
sendNotification($fcm_token,$post_title,$post_message,$type);
// ------------Send Push Notification ---------------
$this->session->set_flashdata('feedback_success', 'Availability Added.');
}else{
$this->session->set_flashdata('feedback_error', 'Availability Not Added.');
}
redirect($_SERVER['HTTP_REFERER']);
}
function getSchedule(){
$requestData = $_REQUEST;
$caregiverId=$requestData['caregiverID'];
$start = $requestData['start'];
$limit = $requestData['length'];
$search = $this->input->post('search')['value'];
$orderColumn=$requestData['order'][0]['column'];
$orderType=$requestData['order'][0]['dir'];
if (!empty($search)) {
$data['schedules'] = $this->CaregiverSchedule_model->getScheduleByLimitBySearch($limit, $start, $search,$orderColumn, $orderType,$caregiverId);
} else {
$data['schedules'] = $this->CaregiverSchedule_model->getScheduleByLimit($limit, $start,$orderColumn,$orderType,$caregiverId);
}
// //$sl=1;
foreach ($data['schedules'] as $schedule) {
$sdate=explode(' ',$schedule->start);
$edate=explode(' ',$schedule->end);
$info[] = array(
//$sl,
$sdate[0],
$sdate[1],
$edate[1],
$schedule->patient_id,
);
//$sl++;
}
//echo '<pre>'; print_r($date); echo '</pre>';
//die;
if (!empty($data['schedules'])) {
$output = array(
"draw" => intval($requestData['draw']),
"recordsTotal" => count($data['schedules']),
"recordsFiltered" => count($data['schedules']),
"data" => $info
);
} else {
$output = array(
// "draw" => 1,
"recordsTotal" => 0,
"recordsFiltered" => 0,
"data" => []
);
}
echo json_encode($output);
}
function deleteAvailability(){
$data=$this->input->get();
$output=$this->CaregiverSchedule_model->deleteAvailability($data);
// ------------Send Push Notification --------------
$availabilityId = $data['id'];
$getFcmToken = $this->CaregiverSchedule_model->getFcmTokenByAvailabilityId($availabilityId);
$fcm_token = $getFcmToken->fcm_token;
$post_title='Notification From Admin';
$post_message='Admin delete your availability';
$type='caregiver';
sendNotification($fcm_token,$post_title,$post_message,$type);
// ------------Send Push Notification ---------------
echo $output;
}
public function getPreferenceDay(){
// print_r($_GET);
// print_r ($this->CaregiverSchedule_model->schedulePreferenceById($_GET));
if(isset($_GET['caregiver_id'])){
echo json_encode($this->CaregiverSchedule_model->schedulePreferenceById($_GET['caregiver_id']));
}
}
public function getCaregiverPreferenceDate(){
// print_r($_GET);
// print_r ($this->CaregiverSchedule_model->schedulePreferenceById($_GET));
echo json_encode($this->CaregiverSchedule_model->getCaregiverPreferenceDate($_GET));
}
}
/* End of file nurse.php */
/* Location: ./application/modules/nurse/controllers/nurse.php */