From 1b3c0409df3d1b04376021f17a65baa1bbd5b52d Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Sun, 29 Apr 2018 12:12:22 +0800 Subject: [PATCH] Add workaround for battery images in mobile app #107 --- config/routes/static.yaml | 2 ++ public/battery/enduro_mobile.jpg | Bin 0 -> 13491 bytes public/battery/excel_mobile.jpg | Bin 0 -> 13963 bytes public/battery/gold_mobile.jpg | Bin 0 -> 13844 bytes src/Controller/APIController.php | 20 +++++++++++++++++++- 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 config/routes/static.yaml create mode 100644 public/battery/enduro_mobile.jpg create mode 100644 public/battery/excel_mobile.jpg create mode 100644 public/battery/gold_mobile.jpg diff --git a/config/routes/static.yaml b/config/routes/static.yaml new file mode 100644 index 00000000..afe18b39 --- /dev/null +++ b/config/routes/static.yaml @@ -0,0 +1,2 @@ +static_battery_image: + path: /battery diff --git a/public/battery/enduro_mobile.jpg b/public/battery/enduro_mobile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06137302dc6deb3d0c7c72183773d916f6877d38 GIT binary patch literal 13491 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 literal 0 HcmV?d00001 diff --git a/public/battery/excel_mobile.jpg b/public/battery/excel_mobile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..890486617c4eee1e85012643edf11dbd1c1f1c32 GIT binary patch literal 13963 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 z$d+?getBatteries(); foreach ($batts as $batt) { + // TODO: workaround for now, we get static image of battery based on model name + $filename = trim(strtolower($batt->getModel()->getName())) . '_mobile.jpg'; + $file_path = $req->getSchemeAndHttpHost() . $this->generateUrl('static_battery_image') . '/' . $filename; $batt_list[] = [ 'id' => $batt->getID(), 'mfg_id' => $batt->getManufacturer()->getID(), @@ -653,6 +656,7 @@ class APIController extends Controller 'price' => $batt->getSellingPrice(), 'wty_private' => $batt->getWarrantyPrivate(), 'wty_commercial' => $batt->getWarrantyCommercial(), + 'image_url' => $file_path, ]; } @@ -1253,6 +1257,20 @@ class APIController extends Controller 'status' => $status, ]; + // customer vehicle + $cv = $jo->getCustomerVehicle(); + $jo_data['customer_vehicle'] = [ + 'id' => $cv->getID(), + 'plate_number' => $cv->getPlateNumber(), + ]; + + // rider + $rider = $jo->getRider(); + if ($rider != null) + { + $jo_data['rider'] = $rider->getFullName(); + } + // invoice items $items = []; $jo_items = $jo->getInvoice()->getItems(); @@ -1276,7 +1294,7 @@ class APIController extends Controller $jo_data['date_fulfilled'] = $jo->getDateFulfilled()->format('M d, Y'); break; case JOStatus::CANCELLED: - $jo_data['date_cancelled'] = $jo->getDateCancelled()->format('M d, Y'); + $jo_data['date_cancelled'] = $jo->getDateCancel()->format('M d, Y'); break; }