diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 5d6127e3..7b1877aa 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -196,6 +196,7 @@ class JobOrderController extends Controller $template = $jo_handler->getTwigTemplate('jo_list_fulfillment'); + $params = $jo_handler->getOtherParameters(); $params['table_refresh_rate'] = $this->container->getParameter('job_order_refresh_interval'); return $this->render($template, $params); @@ -210,6 +211,7 @@ class JobOrderController extends Controller $template = $jo_handler->getTwigTemplate('jo_list_open'); + $params = $jo_handler->getOtherParameters(); $params['table_refresh_rate'] = $this->container->getParameter('job_order_refresh_interval'); $params['statuses'] = JOStatus::getCollection(); @@ -225,6 +227,7 @@ class JobOrderController extends Controller $template = $jo_handler->getTwigTemplate('jo_list_all'); + $params = $jo_handler->getOtherParameters(); $params['table_refresh_rate'] = $this->container->getParameter('job_order_refresh_interval'); return $this->render($template, $params); diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php index 50c504fc..801857a3 100644 --- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php +++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php @@ -2197,6 +2197,14 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface return null; } + public function getOtherParameters() + { + // get riders for dropdown + $params['riders'] = $this->em->getRepository(Rider::class)->findAll(); + + return $params; + } + protected function fillDropdownParameters(&$params) { @@ -2472,6 +2480,25 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface ->orWhere('c.first_name like :filter or c.last_name like :filter') ->setParameter('filter', $datatable['query']['data-rows-search'] . '%'); } + if (isset($datatable['query']['rider'])) + { + $query->innerJoin('q.rider', 'r') + ->where('r.id = :rider_id') + ->setParameter('rider_id', $datatable['query']['rider']); + } + if (isset($datatable['query']['schedule_date'])) + { + $start = $datatable['query']['schedule_date'][0] . ' ' . '00:00:00'; + $end = $datatable['query']['schedule_date'][1] . ' ' . '23:59:00'; + + $date_start = DateTime::createFromFormat('m/d/Y H:i:s', $start); + $date_end = DateTime::createFromFormat('m/d/Y H:i:s', $end); + + $query->where('q.date_schedule >= :date_start') + ->andWhere('q.date_schedule <= :date_end') + ->setParameter('date_start', $date_start) + ->setParameter('date_end', $date_end); + } break; default: $query->where('q.status = :status') diff --git a/templates/job-order/list.all.html.twig b/templates/job-order/list.all.html.twig index a4cd4afe..06773aa8 100644 --- a/templates/job-order/list.all.html.twig +++ b/templates/job-order/list.all.html.twig @@ -19,21 +19,44 @@