forked from mirrors/easyappointments
Merge pull request #751 from popod/api-appointments-populate-end-datetime
Automatically populate the appointment end datetime based on service duration in API
This commit is contained in:
commit
5269f73bab
1 changed files with 14 additions and 0 deletions
|
@ -110,6 +110,8 @@ class Appointments extends API_V1_Controller {
|
||||||
*/
|
*/
|
||||||
public function post()
|
public function post()
|
||||||
{
|
{
|
||||||
|
$this->load->model('services_model');
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Insert the appointment to the database.
|
// Insert the appointment to the database.
|
||||||
|
@ -122,6 +124,18 @@ class Appointments extends API_V1_Controller {
|
||||||
unset($appointment['id']);
|
unset($appointment['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generate end_datetime based on service duration if this field is not defined
|
||||||
|
if (!isset($appointment['end_datetime']))
|
||||||
|
{
|
||||||
|
$service = $this->services_model->get_row($appointment['id_services']);
|
||||||
|
if (isset($service['duration']))
|
||||||
|
{
|
||||||
|
$endTime = new DateTime($appointment['start_datetime']);
|
||||||
|
$endTime->add(new DateInterval('PT' . $service['duration'] . 'M'));
|
||||||
|
$appointment['end_datetime'] = $endTime->format('Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$id = $this->appointments_model->add($appointment);
|
$id = $this->appointments_model->add($appointment);
|
||||||
|
|
||||||
// Fetch the new object from the database and return it to the client.
|
// Fetch the new object from the database and return it to the client.
|
||||||
|
|
Loading…
Reference in a new issue