diff --git a/.gitignore b/.gitignore
index 90038562..bd8a680c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
/sql/
/pem/
/migration/
+/kml/
###< symfony/framework-bundle ###
*.swp
diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml
index a11fab53..d912927a 100644
--- a/config/packages/twig.yaml
+++ b/config/packages/twig.yaml
@@ -4,3 +4,5 @@ twig:
strict_variables: '%kernel.debug%'
globals:
gmaps_api_key: "%env(GMAPS_API_KEY)%"
+ mqtt_host: "%env(MQTT_WS_HOST)%"
+ mqtt_port: "%env(MQTT_WS_PORT)%"
diff --git a/config/routes/job_order.yaml b/config/routes/job_order.yaml
index be379be8..139b208f 100644
--- a/config/routes/job_order.yaml
+++ b/config/routes/job_order.yaml
@@ -195,3 +195,9 @@ jo_onestep_edit_submit:
path: /job-order/onestep/{id}/edit
controller: App\Controller\JobOrderController::oneStepEditSubmit
methods: [POST]
+
+jo_ajax_popup:
+ path: /job-order/{id}/popup
+ controller: App\Controller\JobOrderController::popupInfo
+ methods: [GET]
+
diff --git a/config/routes/rider.yaml b/config/routes/rider.yaml
index 61a4522e..70ddd91d 100644
--- a/config/routes/rider.yaml
+++ b/config/routes/rider.yaml
@@ -36,3 +36,8 @@ rider_delete:
path: /riders/{id}
controller: App\Controller\RiderController::destroy
methods: [DELETE]
+
+rider_ajax_popup:
+ path: /riders/{id}/popup
+ controller: App\Controller\RiderController::popupInfo
+ methods: [GET]
diff --git a/config/services.yaml b/config/services.yaml
index ef6e13e4..4249102e 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -160,8 +160,8 @@ services:
App\Service\InvoiceGenerator\CMBInvoiceGenerator: ~
# invoice generator interface
- #App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\CMBInvoiceGenerator"
- App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\ResqInvoiceGenerator"
+ App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\CMBInvoiceGenerator"
+ #App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\ResqInvoiceGenerator"
# job order generator
#App\Service\JobOrderHandler\ResqJobOrderHandler:
diff --git a/src/Controller/CustomerController.php b/src/Controller/CustomerController.php
index 5c15bfaa..7421fec0 100644
--- a/src/Controller/CustomerController.php
+++ b/src/Controller/CustomerController.php
@@ -5,6 +5,9 @@ namespace App\Controller;
use App\Ramcar\CrudException;
use App\Service\CustomerHandlerInterface;
+use App\Entity\Customer;
+
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php
index d678c95d..3a3e5173 100644
--- a/src/Controller/HomeController.php
+++ b/src/Controller/HomeController.php
@@ -29,6 +29,8 @@ class HomeController extends Controller
public function getRiderLocations(EntityManagerInterface $em, RiderTracker $rider_tracker)
{
+ // TODO: get active riders from cache
+ // TODO: get active JOs from cache
// get all riders
$riders = $em->getRepository(Rider::class)->findAll();
diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php
index 4a5a7bf3..039ea37d 100644
--- a/src/Controller/JobOrderController.php
+++ b/src/Controller/JobOrderController.php
@@ -8,6 +8,7 @@ use App\Ramcar\InvoiceCriteria;
use App\Entity\CustomerVehicle;
use App\Entity\Promo;
use App\Entity\Battery;
+use App\Entity\JobOrder;
use App\Service\InvoiceGeneratorInterface;
use App\Service\JobOrderHandlerInterface;
@@ -20,6 +21,8 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
+
use Catalyst\MenuBundle\Annotation\Menu;
class JobOrderController extends Controller
@@ -908,4 +911,15 @@ class JobOrderController extends Controller
'success' => 'Changes have been saved!'
]);
}
+
+ /**
+ * @ParamConverter("jo", class="App\Entity\JobOrder")
+ */
+ public function popupInfo(JobOrder $jo)
+ {
+ if ($jo == null)
+ return new Response('No job order data');
+
+ return $this->render('job-order/popup.html.twig', [ 'jo' => $jo ]);
+ }
}
diff --git a/src/Controller/RAPIController.php b/src/Controller/RAPIController.php
index bb9ba225..c5d629c8 100644
--- a/src/Controller/RAPIController.php
+++ b/src/Controller/RAPIController.php
@@ -280,7 +280,8 @@ class RAPIController extends Controller
// data
$data = [
- 'hub' => $hub_data
+ 'hub' => $hub_data,
+ 'rider_id' => $rider_id,
];
$res->setData($data);
diff --git a/src/Controller/RiderController.php b/src/Controller/RiderController.php
index a62eebd1..838b558b 100644
--- a/src/Controller/RiderController.php
+++ b/src/Controller/RiderController.php
@@ -10,6 +10,7 @@ use App\Entity\User;
use App\Service\FileUploader;
use Doctrine\ORM\Query;
+use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface;
@@ -500,4 +501,13 @@ class RiderController extends Controller
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
}
}
+
+ public function popupInfo(EntityManagerInterface $em, $id)
+ {
+ $rider = $em->getRepository(Rider::class)->find($id);
+ if ($rider == null)
+ return new Response('No rider data');
+
+ return $this->render('rider/popup.html.twig', [ 'rider' => $rider ]);
+ }
}
diff --git a/templates/home.html.twig b/templates/home.html.twig
index c6b95597..f55fe863 100644
--- a/templates/home.html.twig
+++ b/templates/home.html.twig
@@ -10,21 +10,114 @@
{% endblock %}
+
{% block scripts %}
-{{ include('map/' ~ map_js_file) }}
+
+
+{{ include('map/' ~ map_js_file) }}
+
+
+
{% endblock %}
-
diff --git a/templates/job-order/popup.html.twig b/templates/job-order/popup.html.twig
new file mode 100644
index 00000000..509c7296
--- /dev/null
+++ b/templates/job-order/popup.html.twig
@@ -0,0 +1,8 @@
+{% set cust = jo.getCustomer %}
+{% set cv = jo.getCustomerVehicle %}
+{{ cust.getNameDisplay }}
+{{ cv.getPlateNumber }}
+Job Order #{{ jo.getID }}
+{{ jo.getServiceTypeName }}
+{{ jo.getStatusText }}
+
diff --git a/templates/map/initOpenStreetMap.js b/templates/map/initOpenStreetMap.js
index 59a8ebcf..358b91d4 100644
--- a/templates/map/initOpenStreetMap.js
+++ b/templates/map/initOpenStreetMap.js
@@ -5,7 +5,10 @@
diff --git a/templates/rider/popup.html.twig b/templates/rider/popup.html.twig
new file mode 100644
index 00000000..8807d6c7
--- /dev/null
+++ b/templates/rider/popup.html.twig
@@ -0,0 +1,13 @@
+{{ rider.getFullName }}
+{% set jo = rider.getActiveJobOrder %}
+{% if jo is not null %}
+{% set cust = jo.getCustomer %}
+{% set cv = jo.getCustomerVehicle %}
+
+Job Order #{{ jo.getID }}
+{{ jo.getServiceTypeName }}
+{{ jo.getStatusText }}
+{{ cust.getNameDisplay }}
+{{ cv.getPlateNumber }}
+{% endif %}
+
diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml
index c0fb8ca1..04ebdc42 100644
--- a/translations/messages.en.yaml
+++ b/translations/messages.en.yaml
@@ -1,27 +1,29 @@
# text
-title_login: Motolite Res-Q | Login
-block_title: Motolite Res-Q
+title_login: Res-Q for CMB | Login
+block_title: Res-Q for CMB
control_panel_sign_in: Sign-in to Control Panel
-alt_image_logo_login: Res-Q
-alt_image_dashboard: Motolite
-copyright: Motolite Res-Q
+alt_image_logo_login: Res-Q for CMB
+alt_image_dashboard: Res-Q for CMB
+copyright: Res-Q for CMB
battery_size_tradein_brand: Trade-in Motolite
battery_size_tradein_premium: Trade-in Premium
battery_size_tradein_other: Trade-in Other
add_cust_vehicle_battery_info: This vehicle is using a Motolite battery
-jo_title_pdf: Motolite Res-Q Job Order
-country_code_prefix: '+63'
-delivery_instructions_label: Delivery Instructions
+jo_title_pdf: Res-Q for CMB Job Order
+country_code_prefix: '+60'
+delivery_instructions_label: 'Delivery Instructions - CarFix Job Order No.'
# images
-image_logo_login: /assets/images/logo-resq.png
-icon_login: /assets/demo/default/media/img/logo/favicon.ico
-icon_base_32x32: /assets/images/favicon/favicon-32x32.png
-icon_base_16x16: /assets/images/favicon/favicon-16x16.png
-image_dashboard: /assets/images/logo-motolite.png
-image_jo_pdf: /public/assets/images/logo-resq.png
+image_logo_login: /assets/images/black-text-logo-01.png
+icon_login: /assets/images/battery-assist-bm-logo-32x32.png
+icon_base_32x32: /assets/images/black-text-logo-01-32x32.png
+icon_base_16x16: /assets/images/black-text-logo-01-16x16.png
+image_dashboard: /assets/images/century_logo.png
+image_jo_pdf: /public/assets/images/black-text-logo-01-115x115.png
# default point for maps
default_lat: 14.6091
default_long: 121.0223
-default_region: ph
+#default_lat: 3.084216
+#default_long: 101.6129996
+default_region: my