From accd6fd0f6466f65d8eb2c8a763543887c9aa9b6 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Thu, 23 Jun 2022 07:57:24 +0000 Subject: [PATCH] Add validation for model year. #686 --- src/Controller/TAPI/JobOrderController.php | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/Controller/TAPI/JobOrderController.php b/src/Controller/TAPI/JobOrderController.php index a18a3037..ade44e63 100644 --- a/src/Controller/TAPI/JobOrderController.php +++ b/src/Controller/TAPI/JobOrderController.php @@ -1467,6 +1467,33 @@ class JobOrderController extends APIController return $message; } + // check model year + // (1) if empty + // (2) if numeric + // (2)if it falls between a range of years + $model_year = $r->get('vehicle_model_year'); + if (empty($model_year)) + { + $message = 'Vehicle model year is empty.'; + return $message; + } + if (!is_numeric($model_year)) + { + $message = 'Invalid model year. Not a number.'; + return $message; + } + + $year_options = $this->generateYearOptions(); + // get first and last element + $first_year = $year_options[0]; + $last_year = end($year_options); + if (($model_year < $first_year) || + ($model_year > $last_year)) + { + $message = 'Invalid model year.'; + return $message; + } + // confirm that vehicle model's manufacturer is the same as the one in vehicle if ($vmodel->getManufacturer()->getID() != $vmanu_id) { @@ -1777,5 +1804,11 @@ class JobOrderController extends APIController { return strtolower(trim($name)); } + + protected function generateYearOptions() + { + $start_year = 1950; + return range($start_year, date("Y") + 1); + } }