Corrected conditions when fetching events that start or end outside the displayed period of time for back-end calendar page.
This commit is contained in:
parent
71b847135a
commit
ea53955f71
1 changed files with 16 additions and 12 deletions
|
@ -199,12 +199,16 @@ class Backend_api extends CI_Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get appointments
|
// Get appointments
|
||||||
$where_clause = [
|
$record_id = $this->db->escape($_POST['record_id']);
|
||||||
$where_id => $this->input->post('record_id'),
|
$start_date = $this->db->escape($_POST['start_date']);
|
||||||
'DATE(start_datetime) >=' => $this->input->post('start_date'),
|
$end_date = $this->db->escape(date('Y-m-d', strtotime($_POST['end_date'] . ' +1 day')));
|
||||||
'DATE(start_datetime) <=' => date('Y-m-d', strtotime($this->input->post('end_date') . ' +1 day')),
|
|
||||||
'is_unavailable' => FALSE
|
$where_clause = $where_id . ' = ' . $record_id . '
|
||||||
];
|
AND ((start_datetime > ' . $start_date . ' AND start_datetime < ' . $end_date . ')
|
||||||
|
or (end_datetime > ' . $start_date . ' AND end_datetime < ' . $end_date . ')
|
||||||
|
or (start_datetime <= ' . $start_date . ' AND end_datetime >= ' . $end_date . '))
|
||||||
|
AND is_unavailable = 0
|
||||||
|
';
|
||||||
|
|
||||||
$response['appointments'] = $this->appointments_model->get_batch($where_clause);
|
$response['appointments'] = $this->appointments_model->get_batch($where_clause);
|
||||||
|
|
||||||
|
@ -218,12 +222,12 @@ class Backend_api extends CI_Controller {
|
||||||
// Get unavailable periods (only for provider).
|
// Get unavailable periods (only for provider).
|
||||||
if ($this->input->post('filter_type') == FILTER_TYPE_PROVIDER)
|
if ($this->input->post('filter_type') == FILTER_TYPE_PROVIDER)
|
||||||
{
|
{
|
||||||
$where_clause = [
|
$where_clause = $where_id . ' = ' . $record_id . '
|
||||||
$where_id => $this->input->post('record_id'),
|
AND ((start_datetime > ' . $start_date . ' AND start_datetime < ' . $end_date . ')
|
||||||
'DATE(start_datetime) >=' => $this->input->post('start_date'),
|
or (end_datetime > ' . $start_date . ' AND end_datetime < ' . $end_date . ')
|
||||||
'DATE(start_datetime) <=' => date('Y-m-d', strtotime($this->input->post('end_date') . ' +1 day')),
|
or (start_datetime <= ' . $start_date . ' AND end_datetime >= ' . $end_date . '))
|
||||||
'is_unavailable' => TRUE
|
AND is_unavailable = 1
|
||||||
];
|
';
|
||||||
|
|
||||||
$response['unavailables'] = $this->appointments_model->get_batch($where_clause);
|
$response['unavailables'] = $this->appointments_model->get_batch($where_clause);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue