Add routes and templates for advance order. #509

This commit is contained in:
Korina Cordero 2020-09-29 04:27:11 +00:00
parent 18a2be4aa9
commit a030ec6679
7 changed files with 1772 additions and 1 deletions

View file

@ -272,6 +272,10 @@ access_keys:
label: Hub View
- id: jo_behind_schedule.list
label: View Behind Schedule
- id: jo_advance_order.form
label: New Advance Order
- id: jo_assign_advance_order.form
label: Assign Advance Order
- id: support
label: Customer Support Access

View file

@ -106,6 +106,14 @@ main_menu:
acl: jo_onestep.form
label: One-step Process
parent: joborder
- id: jo_advance_order
acl: jo_advance_order.form
label: New Advance Order
parent: joborder
- id: jo_advance_order_assign
acl: jo_assign_advance_order.form
label: Assign Advance Order
parent: joborder
- id: jo_walkin_form
acl: jo_walkin.form
label: Walk-in

View file

@ -106,6 +106,14 @@ main_menu:
acl: jo_onestep.form
label: One-step Process
parent: joborder
- id: jo_advance_order_form
acl: jo_advance_order.form
label: New Advance Order
parent: joborder
- id: jo_advance_order_assign_form
acl: jo_assign_advance_order.form
label: Assign Advance Order
parent: joborder
- id: jo_walkin_form
acl: jo_walkin.form
label: Walk-in

View file

@ -264,3 +264,43 @@ jo_behind_schedule_rows:
methods: [POST]
defaults:
tier: "behind_schedule"
jo_advance_order_form:
path: /job-order/advance-order
controller: App\Controller\JobOrderController::advanceOrderForm
methods: [GET]
jo_advance_order_submit:
path: /job-order/advance-order
controller: App\Controller\JobOrderController::advanceOrderSubmit
methods: [POST]
jo_advance_order_edit_form:
path: /job-order/advance-order/{id}/edit
controller: App\Controller\JobOrderController::advanceOrderEditForm
methods: [GET]
jo_advance_order_edit_submit:
path: /job-order/onestep/{id}/edit
controller: App\Controller\JobOrderController::advanceOrderEditSubmit
methods: [POST]
jo_assign_advance_order_form:
path: /job-order/assign-advance-order
controller: App\Controller\JobOrderController::assignAdvanceOrderForm
methods: [GET]
jo_assign_advance_order_submit:
path: /job-order/assign-advance-order
controller: App\Controller\JobOrderController::assignAdvanceOrderSubmit
methods: [POST]
jo_assign_advance_order_edit_form:
path: /job-order/assign-advance-order/{id}/edit
controller: App\Controller\JobOrderController::assignAdvanceOrderEditForm
methods: [GET]
jo_assign_advance_order_edit_submit:
path: /job-order/assign-advance-order/{id}/edit
controller: App\Controller\JobOrderController::assignAdvanceOrderEditSubmit
methods: [POST]

View file

@ -1073,6 +1073,28 @@ class JobOrderController extends Controller
]);
}
/**
* @Menu(selected="jo_advance_order_form")
*/
public function advanceOrderForm(EntityManagerInterface $em, JobOrderHandlerInterface $jo_handler,
GISManagerInterface $gis)
{
$this->denyAccessUnlessGranted('jo_advance_order.form', null, 'No access.');
$params = $jo_handler->initializeAdvanceOrderForm();
$params['submit_url'] = $this->generateUrl('jo_advance_order_submit');
$params['return_url'] = $this->generateUrl('jo_advance_order_form');
$params['map_js_file'] = $gis->getJSJOFile();
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
$params['vmakes'] = $em->getRepository(Vehicle::class)->findAll();
$params['hubs'] = $em->getRepository(Hub::class)->findAll();
$template = $params['template'];
// response
return $this->render($template, $params);
}
/**
* @Menu(selected="jo_hub_view")
*/

View file

@ -2881,6 +2881,32 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
return $params;
}
public function initializeAdvanceOrderForm()
{
$new_jo = new JobOrder();
// set time schedule
$date_schedule = new DateTime();
// add 45 minutes to time
$date_schedule->add(new DateInterval('PT45M'));
$new_jo->setDateSchedule($date_schedule);
$params['obj'] = $new_jo;
$params['mode'] = 'advanceorder';
$params['jo_service_charges'] = [];
$params['current_date'] = new DateTime();
$this->fillDropdownParameters($params);
$this->fillFormTags($params);
// get template to display
$params['template'] = $this->getTwigTemplate('jo_advanceorder_form');
// return params
return $params;
}
protected function fillDropdownParameters(&$params)
{
$em = $this->em;
@ -2973,7 +2999,13 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$params['ftags']['invoice_edit'] = true;
$params['ftags']['preset_vehicle'] = true;
break;
case 'advanceorder':
$params['ftags']['vehicle_dropdown'] = true;
$params['ftags']['set_map_coordinate'] = false;
$params['ftags']['invoice_edit'] = true;
$params['ftags']['ticket_table'] = false;
$params['ftags']['cancel_button'] = false;
break;
}
}
@ -2998,6 +3030,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$this->template_hash['jo_walkin_edit_form'] = 'job-order/cmb.form.walkin.html.twig';
$this->template_hash['jo_popup'] = 'job-order/cmb.popup.html.twig';
$this->template_hash['jo_behind_schedule'] = 'job-order/cmb.list.behindschedule.html.twig';
$this->template_hash['jo_advanceorder_form'] = 'job-order/cmb.form.advanceorder.html.twig';
}
protected function checkTier($tier)

File diff suppressed because it is too large Load diff