From ae477ea440758e3f0f5dc6c4dc2b8748244167ea Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Tue, 15 Mar 2022 06:37:22 +0000 Subject: [PATCH 1/2] Move hardcoded labels to messages file. #649 --- .../JobOrderHandler/ResqJobOrderHandler.php | 76 +++++++++---------- translations/messages.en.yaml | 40 ++++++++++ 2 files changed, 78 insertions(+), 38 deletions(-) diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index 8475484f..fcfd5201 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -2539,7 +2539,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // insert JO number $pdf->SetFont($font_face, 'B', $jo_font_size); $pdf->SetX($col2_x); - $pdf->Cell($label_width, $jo_line_height, 'JO Number:'); + $pdf->Cell($label_width, $jo_line_height, $translator->trans('label.pdf.jo_number')); $pdf->SetTextColor(9, 65, 150); $pdf->Cell(0, $jo_line_height, $obj->getID()); @@ -2554,14 +2554,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = $pdf->GetY(); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Customer Name:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.customer_name')); $pdf->MultiCell($val_width, $line_height, $customer ? $customer->getFirstName() . ' ' . $customer->getLastName() : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Mobile Phone:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.mobile_phone')); $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? $this->country_code . $customer->getPhoneMobile() : '', 0, 'L'); // get Y after right cell @@ -2571,14 +2571,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Delivery Date:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.delivery_date')); $pdf->MultiCell($val_width, $line_height, $obj->getDateSchedule() ? $obj->getDateSchedule()->format("m/d/Y") : '', 0, 'left'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Landline:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.landline')); $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? $this->country_code . $customer->getPhoneLandline() : '', 0, 'L'); // get Y after right cell @@ -2588,11 +2588,11 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Office Phone:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.office_phone')); $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneOffice() ? $this->country_code . $customer->getPhoneOffice() : '', 0, 'L'); $pdf->SetX($col2_x); - $pdf->Cell($label_width, $line_height, 'Fax:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.fax')); $pdf->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? $this->country_code . $customer->getPhoneFax() : '', 0, 'L'); // insert vehicle info @@ -2600,21 +2600,21 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $vehicle = $cv->getVehicle(); $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Vehicle Details'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.vehicle_details')); $pdf->Ln($line_height * 2); // get current Y $y = $pdf->GetY(); $pdf->SetFont($font_face, '', $body_font_size); - $pdf->Cell($label_width, $line_height, 'Plate Number:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.plate_number')); $pdf->MultiCell($val_width, $line_height, $cv ? $cv->getPlateNumber() : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Vehicle Color:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.vehicle_color')); $pdf->MultiCell(0, $line_height, $cv ? $cv->getColor() : '', 0, 'L'); // get Y after right cell @@ -2624,14 +2624,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Brand:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.brand')); $pdf->MultiCell($val_width, $line_height, $vehicle && $vehicle->getManufacturer() ? $vehicle->getManufacturer()->getName() : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Model / Year:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.model_year')); $pdf->MultiCell(0, $line_height, $cv ? $cv->getModelYear() : '', 0, 'L'); // get Y after right cell @@ -2641,14 +2641,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Make:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.make')); $pdf->MultiCell($val_width, $line_height, $vehicle ? $vehicle->getMake() : '', 0, 'L'); // insert battery info $battery = $cv->getCurrentBattery(); $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Battery Details'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.battery_details')); $pdf->Ln($line_height * 2); $pdf->SetFont($font_face, '', $body_font_size); @@ -2656,14 +2656,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // get current Y $y = $pdf->GetY(); - $pdf->Cell($label_width, $line_height, 'Current Battery:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.current_battery')); $pdf->MultiCell($val_width, $line_height, $battery && $battery->getManufacturer() && $battery->getModel() && $battery->getSize() ? $battery->getManufacturer()->getName() . ' ' . $battery->getModel()->getName() . ' ' . $battery->getSize()->getName() . ' (' . $battery->getProductCode() . ')' : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Serial Number:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.serial_number')); $pdf->MultiCell(0, $line_height, $cv ? $cv->getWarrantyCode() : '', 0, 'L'); // get Y after right cell @@ -2673,13 +2673,13 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Wty. Exp. Date:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.warranty_exp_date')); $pdf->MultiCell($val_width, $line_height, $cv && $cv->getWarrantyExpiration() ? $cv->getWarrantyExpiration()->format("d/m/Y") : '', 0, 'L'); // insert transaction details $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Transaction Details'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.transaction_details')); $pdf->Ln($line_height * 2); $pdf->SetFont($font_face, '', $body_font_size); @@ -2687,14 +2687,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // get current Y $y = $pdf->GetY(); - $pdf->Cell($label_width, $line_height, 'Warranty Class:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.warranty_class')); $pdf->MultiCell($val_width, $line_height, WarrantyClass::getName($obj->getWarrantyClass()), 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Mode of Payment:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.mode_of_payment')); $pdf->MultiCell(0, $line_height, ModeOfPayment::getName($obj->getModeOfPayment()), 0, 'L'); // get Y after right cell @@ -2703,14 +2703,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // get row height $y = max($y1, $y2); - $pdf->Cell($label_width, $line_height, 'Delivery Address:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.delivery_address')); $pdf->MultiCell($val_width, $line_height, $obj->getDeliveryAddress(), 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Landmark:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.landmark')); $pdf->MultiCell(0, $line_height, $obj->getLandMark(), 0, 'L'); // get Y after right cell @@ -2720,14 +2720,14 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Dispatch Time:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.dispatch_time')); $pdf->MultiCell($val_width, $line_height, $obj->getDateSchedule() ? $obj->getDateSchedule()->format("g:i A") : '', 0, 'L'); // get Y after left cell $y1 = $pdf->GetY(); $pdf->SetXY($col2_x, $y); - $pdf->Cell($label_width, $line_height, 'Dispatched By:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.dispatched_by')); $pdf->MultiCell(0, $line_height, $obj->getProcessedBy() ? $obj->getProcessedBy()->getFullName() : '', 0, 'L'); // get Y after right cell @@ -2740,7 +2740,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $pdf->SetY($y); $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell(0, $line_height, 'Delivery Instructions'); + $pdf->Cell(0, $line_height, $translator->trans('label.pdf.delivery_instructions')); $pdf->Ln(); $pdf->SetFont($font_face, '', $body_font_size); @@ -2749,16 +2749,16 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface // insert invoice details $pdf->Ln(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($label_width, $line_height, 'Invoice Details'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.invoice_details')); $pdf->Ln(); // invoice table headers $invoice = $obj->getInvoice(); $pdf->SetFont($font_face, 'B', $header_font_size); - $pdf->Cell($table_col_width * 6, $table_line_height, 'Item', 1, 0, 'L', 1); - $pdf->Cell($table_col_width * 2, $table_line_height, 'Quantity', 1, 0, 'R', 1); - $pdf->Cell($table_col_width * 2, $table_line_height, 'Unit Price', 1, 0, 'R', 1); - $pdf->Cell($table_col_width * 2, $table_line_height, 'Amount', 1, 1, 'R', 1); + $pdf->Cell($table_col_width * 6, $table_line_height, $translator->trans('label.pdf.item'), 1, 0, 'L', 1); + $pdf->Cell($table_col_width * 2, $table_line_height, $translator->trans('label.pdf.quantity'), 1, 0, 'R', 1); + $pdf->Cell($table_col_width * 2, $table_line_height, $translator->trans('label.pdf.unit_price'), 1, 0, 'R', 1); + $pdf->Cell($table_col_width * 2, $table_line_height, $translator->trans('label.pdf.amount'), 1, 1, 'R', 1); $pdf->SetFont($font_face, '', $body_font_size); // build invoice items table @@ -2783,7 +2783,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = $pdf->GetY(); // insert invoice footer details - $pdf->Cell($label_width, $line_height, 'Transaction Type:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.transaction_type')); $pdf->MultiCell($val_width, $line_height, ServiceType::getName($obj->getServiceType()), 0, 'L'); // get Y after left cell @@ -2791,7 +2791,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $pdf->SetXY($col2_x, $y); $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'SUBTOTAL:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.subtotal')); $pdf->SetFont($font_face, ''); $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getVATExclusivePrice(), 2) : '', 0, 'R'); @@ -2802,7 +2802,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'OR Name:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.or_name')); $pdf->MultiCell($val_width, $line_height, $obj->getORName(), 0, 'L'); // get Y after left cell @@ -2810,7 +2810,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $pdf->SetXY($col2_x, $y); $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'TAX:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.tax')); $pdf->SetFont($font_face, ''); $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getVAT(), 2) : '', 0, 'R'); @@ -2821,7 +2821,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Emp. ID/Card No./Ref. By:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.emp_id_ref')); $pdf->MultiCell($val_width, $line_height, $obj->getPromoDetail(), 0, 'L'); // get Y after left cell @@ -2829,7 +2829,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $pdf->SetXY($col2_x, $y); $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'DISCOUNT:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.discount')); $pdf->SetFont($font_face, ''); $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getDiscount(), 2) : '', 0, 'R'); @@ -2840,12 +2840,12 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface $y = max($y1, $y2); $pdf->SetXY($col1_x, $y); - $pdf->Cell($label_width, $line_height, 'Discount Type:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.discount_type')); $pdf->MultiCell($val_width, $line_height, $invoice && $invoice->getPromo() ? $invoice->getPromo()->getName() : '', 0, 'L'); $pdf->SetXY($col2_x, $y); $pdf->SetFont($font_face, 'B'); - $pdf->Cell($label_width, $line_height, 'FINAL AMOUNT:'); + $pdf->Cell($label_width, $line_height, $translator->trans('label.pdf.final_amount')); $pdf->MultiCell(0, $line_height, $invoice ? number_format($invoice->getTotalPrice(), 2) : '', 0, 'R'); $pdf->SetFont($font_face, ''); diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml index 735ef80a..75f17ce6 100644 --- a/translations/messages.en.yaml +++ b/translations/messages.en.yaml @@ -31,3 +31,43 @@ default_region: ph # warranty text warranty_register_confirm: Congratulations! Your warranty has been successfully registered! Read about Motolite's privacy policy at https://www.motolite.com/privacy/. warranty_update_confirm: Congratulations! Your warranty has been successfully updated! Read about Motolite's privacy policy at https://www.motolite.com/privacy/. + +# labels +label.pdf.jo_number: 'JO Number:' +label.pdf.customer_name: 'Customer Name:' +label.pdf.mobile_phone: 'Mobile Phone:' +label.pdf.delivery_date: 'Delivery Date:' +label.pdf.landline: 'Landline:' +label.pdf.office_phone: 'Office Phone:' +label.pdf.fax: 'Fax:' +label.pdf.vehicle_details: 'Vehicle Details' +label.pdf.plate_number: 'Plate Number:' +label.pdf.vehicle_color: 'Vehicle Color:' +label.pdf.brand: 'Brand:' +label.pdf.model_year: 'Model / Year:' +label.pdf.make: 'Make:' +label.pdf.battery_details: 'Battery Details' +label.pdf.current_battery: 'Current Battery:' +label.pdf.serial_number: 'Serial Number:' +label.pdf.warranty_exp_date: 'Wty. Exp. Date:' +label.pdf.transaction_details: 'Transaction Details' +label.pdf.warranty_class: 'Warranty Class:' +label.pdf.mode_of_payment: 'Mode of Payment:' +label.pdf.delivery_address: 'Delivery Address:' +label.pdf.landmark: 'Landmark:' +label.pdf.dispatch_time: 'Dispatch Time:' +label.pdf.dispatched_by: 'Dispatched By:' +label.pdf.delivery_instructions: 'Delivery Instructions' +label.pdf.invoice_details: 'Invoice Details' +label.pdf.item: 'Item' +label.pdf.quantity: 'Quantity' +label.pdf.unit_price: 'Unit Price' +label.pdf.amount: 'Amount' +label.pdf.transaction_type: 'Transaction Type:' +label.pdf.subtotal: 'SUBTOTAL:' +label.pdf.or_name: 'OR Name:' +label.pdf.tax: 'TAX:' +label.pdf.emp_id_ref: 'Emp. ID/Card No./Ref. By:' +label.pdf.discount: 'DISCOUNT:' +label.pdf.discount_type: 'Discount Type:' +label.pdf.final_amount: 'FINAL AMOUNT:' -- 2.43.5 From a5a30ec7f946dc48e840e8894faadd4db3332a74 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Tue, 15 Mar 2022 07:51:58 +0000 Subject: [PATCH 2/2] Change hardcoded messages into entries in messages file. #649 --- src/Command/TestSMSCommand.php | 8 ++++++-- src/Command/WarrantySMSCommand.php | 10 +++++++--- src/Controller/APIController.php | 8 ++++---- src/Controller/CAPI/CustomerWarrantyController.php | 6 +++--- src/Controller/CAPI/RiderAppController.php | 9 +++++---- src/Service/HubSelector.php | 2 +- src/Service/JobOrderHandler/ResqJobOrderHandler.php | 4 ++-- src/Service/RiderAPIHandler/ResqRiderAPIHandler.php | 10 ++++++---- .../ResqRiderAssignmentHandler.php | 8 ++++++-- templates/job-order/form.html.twig | 2 +- translations/messages.en.yaml | 8 ++++++++ 11 files changed, 49 insertions(+), 26 deletions(-) diff --git a/src/Command/TestSMSCommand.php b/src/Command/TestSMSCommand.php index f431398f..99aaf36f 100644 --- a/src/Command/TestSMSCommand.php +++ b/src/Command/TestSMSCommand.php @@ -7,11 +7,14 @@ use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Contracts\Translation\TranslatorInterface; + use App\Service\RisingTideGateway; class TestSMSCommand extends Command { protected $gateway; + protected $translator; protected function configure() { @@ -21,9 +24,10 @@ class TestSMSCommand extends Command ->addArgument('destination', InputArgument::REQUIRED, 'Destination number to send to'); } - public function __construct(RisingTideGateway $gateway) + public function __construct(RisingTideGateway $gateway, TranslatorInterface $translator) { $this->gateway = $gateway; + $this->translator = $translator; parent::__construct(); } @@ -34,7 +38,7 @@ class TestSMSCommand extends Command error_log('sending sms to ' . $number); $msg = 'This is a test.'; - $this->gateway->sendSMS($number, 'MOTOLITE', $msg); + $this->gateway->sendSMS($number, $this->translator->trans('message.battery_brand_allcaps'), $msg); return 0; } diff --git a/src/Command/WarrantySMSCommand.php b/src/Command/WarrantySMSCommand.php index 14f4c531..77868a9b 100644 --- a/src/Command/WarrantySMSCommand.php +++ b/src/Command/WarrantySMSCommand.php @@ -7,6 +7,8 @@ use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Contracts\Translation\TranslatorInterface; + use Doctrine\ORM\EntityManagerInterface; use App\Service\RisingTideGateway; @@ -18,6 +20,7 @@ class WarrantySMSCommand extends Command { protected $gateway; protected $em; + protected $translator; protected function configure() { @@ -27,10 +30,11 @@ class WarrantySMSCommand extends Command ->addArgument('date', InputArgument::OPTIONAL, 'Date to use as basis of expiration. Defaults to current date.'); } - public function __construct(EntityManagerInterface $em, RisingTideGateway $gateway) + public function __construct(EntityManagerInterface $em, RisingTideGateway $gateway, TranslatorInterface $translator) { $this->em = $em; $this->gateway = $gateway; + $this->translator = $translator; parent::__construct(); } @@ -97,10 +101,10 @@ class WarrantySMSCommand extends Command error_log(print_r($valid_numbers, true)); foreach ($valid_numbers as $wdata) { - $msg = 'Hi ' . $wdata['name'] . ', the warranty for the ' . $wdata['batt'] . ' installed in your car(' . $wdata['plate'] . ') has expired already. Please call MOTOLITE EXPRESS HATID at 8370-6686 to have the status of your battery checked to avoid any inconvenience. Thank you for choosing Motolite.'; + $msg = 'Hi ' . $wdata['name'] . ', the warranty for the ' . $wdata['batt'] . ' installed in your car(' . $wdata['plate'] . $this->translator->trans('message.partial_warrantysms'); error_log($wdata['number'] . ' - sending ' . $msg); - $this->gateway->sendSMS($wdata['number'], 'MOTOLITE', $msg); + $this->gateway->sendSMS($wdata['number'], $this->translator->trans('message.battery_brand_allcaps'), $msg); } diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index c3a4bbf9..9fdd58a2 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -242,11 +242,11 @@ class APIController extends Controller implements LoggedController return sprintf("%06d", mt_rand(100000, 999999)); } - protected function sendConfirmationCode(RisingTideGateway $rt, $phone_number, $code) + protected function sendConfirmationCode(RisingTideGateway $rt, $phone_number, $code, TranslatorInterface $translator) { // send sms to number - $message = "Your Resq confirmation code is $code."; - $rt->sendSMS($phone_number, 'MOTOLITE', $message); + $message = $translator->trans('message.confirmation_code') . ' ' . $code; + $rt->sendSMS($phone_number, $translator->trans('message.battery_brand_allcaps'), $message); } public function confirmNumber(RisingTideGateway $rt, Request $req) @@ -4078,7 +4078,7 @@ class APIController extends Controller implements LoggedController // send sms error_log('sending sms to - ' . $this->session->getPhoneNumber()); - $rt->sendSMS($this->session->getPhoneNumber(), 'MOTOLITE', $sms_msg); + $rt->sendSMS($this->session->getPhoneNumber(), $trans->trans('message.battery_brand_allcaps'), $sms_msg); return $res; } diff --git a/src/Controller/CAPI/CustomerWarrantyController.php b/src/Controller/CAPI/CustomerWarrantyController.php index bd75997b..0db793b5 100644 --- a/src/Controller/CAPI/CustomerWarrantyController.php +++ b/src/Controller/CAPI/CustomerWarrantyController.php @@ -578,12 +578,12 @@ class CustomerWarrantyController extends APIController // send sms confirmation - $this->sendSMSConfirmation($rt, $req->request->get('contact_num'), $sms_message); + $this->sendSMSConfirmation($rt, $req->request->get('contact_num'), $sms_message, $trans); return new APIResponse(true, 'Warranty registered.', $data); } - protected function sendSMSConfirmation($rt, $num, $message) + protected function sendSMSConfirmation($rt, $num, $message, $trans) { $clean_num = trim($num); @@ -602,6 +602,6 @@ class CustomerWarrantyController extends APIController error_log('sending sms to - ' . $clean_num); - $rt->sendSMS($clean_num, 'MOTOLITE', $message); + $rt->sendSMS($clean_num, $trans->trans('message.battery_brand_allcaps'), $message); } } diff --git a/src/Controller/CAPI/RiderAppController.php b/src/Controller/CAPI/RiderAppController.php index 0136b0b8..6b56e83e 100644 --- a/src/Controller/CAPI/RiderAppController.php +++ b/src/Controller/CAPI/RiderAppController.php @@ -6,6 +6,8 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface; +use Symfony\Contracts\Translation\TranslatorInterface; + use Doctrine\ORM\Query; use Doctrine\ORM\EntityManagerInterface; @@ -747,7 +749,7 @@ class RiderAppController extends APIController } public function payment(Request $req, EntityManagerInterface $em, JobOrderHandlerInterface $jo_handler, - RisingTideGateway $rt, WarrantyHandler $wh, MQTTClient $mclient) + RisingTideGateway $rt, WarrantyHandler $wh, MQTTClient $mclient, TranslatorInterface $translator) { $required_params = ['jo_id']; @@ -807,9 +809,8 @@ class RiderAppController extends APIController $phone_number = $jo->getCustomer()->getPhoneMobile(); if (!empty($phone_number)) { - // TODO: put this in config file or somewhere - $message = "Your Resq job order has been completed."; - $rt->sendSMS($phone_number, 'MOTOLITE', $message); + $message = $translator->trans('message.joborder_completed'); + $rt->sendSMS($phone_number, $translator->trans('message.battery_brand_allcaps'), $message); } $em->flush(); diff --git a/src/Service/HubSelector.php b/src/Service/HubSelector.php index 826a45d2..cf6cdd28 100644 --- a/src/Service/HubSelector.php +++ b/src/Service/HubSelector.php @@ -458,7 +458,7 @@ class HubSelector { // send SMS message error_log('sending sms to - ' . $mobile_number); - $this->rt->sendSMS($mobile_number, 'MOTOLITE', $message); + $this->rt->sendSMS($mobile_number, $this->trans->trans('message.battery_brand_allcaps'), $message); } } } diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php index fcfd5201..a5ce340a 100644 --- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php +++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php @@ -3540,8 +3540,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface public function sendSMSToCustomer($phone_number) { // TODO: put this in config file or somewhere - $message = "Your Resq job order has been completed."; - $this->rt->sendSMS($phone_number, 'MOTOLITE', $message); + $message = $this->translator->trans('message.joborder_completed'); + $this->rt->sendSMS($phone_number, $this->translator->trans('message.battery_brand_allcaps'), $message); } } diff --git a/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php b/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php index db83076b..3f10c763 100644 --- a/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php +++ b/src/Service/RiderAPIHandler/ResqRiderAPIHandler.php @@ -6,6 +6,8 @@ use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface; +use Symfony\Contracts\Translation\TranslatorInterface; + use App\Ramcar\ServiceType; use App\Ramcar\TradeInType; use App\Ramcar\JOStatus; @@ -57,7 +59,7 @@ class ResqRiderAPIHandler implements RiderAPIHandlerInterface string $country_code, MQTTClient $mclient, WarrantyHandler $wh, JobOrderHandlerInterface $jo_handler, InvoiceGeneratorInterface $ic, RisingTideGateway $rt, - RiderTracker $rider_tracker) + RiderTracker $rider_tracker, TranslatorInterface $translator) { $this->em = $em; $this->redis = $redis; @@ -70,6 +72,7 @@ class ResqRiderAPIHandler implements RiderAPIHandlerInterface $this->ic = $ic; $this->rt = $rt; $this->rider_tracker = $rider_tracker; + $this->translator = $translator; // one device = one session, since we have control over the devices // when a rider logs in, we just change the rider assigned to the device @@ -595,9 +598,8 @@ class ResqRiderAPIHandler implements RiderAPIHandlerInterface $phone_number = $jo->getCustomer()->getPhoneMobile(); if (!empty($phone_number)) { - // TODO: put this in config file or somewhere - $message = "Your Resq job order has been completed."; - $this->rt->sendSMS($phone_number, 'MOTOLITE', $message); + $message = $this->translator->trans('message.joborder_completed'); + $this->rt->sendSMS($phone_number, $this->translator->trans('message.battery_brand_allcaps'), $message); } $this->em->flush(); diff --git a/src/Service/RiderAssignmentHandler/ResqRiderAssignmentHandler.php b/src/Service/RiderAssignmentHandler/ResqRiderAssignmentHandler.php index ddaf985e..6592734a 100644 --- a/src/Service/RiderAssignmentHandler/ResqRiderAssignmentHandler.php +++ b/src/Service/RiderAssignmentHandler/ResqRiderAssignmentHandler.php @@ -4,6 +4,8 @@ namespace App\Service\RiderAssignmentHandler; use Doctrine\ORM\EntityManagerInterface; +use Symfony\Contracts\Translation\TranslatorInterface; + use App\Service\RiderAssignmentHandlerInterface; use App\Service\MQTTClient; use App\Service\APNSClient; @@ -18,13 +20,15 @@ class ResqRiderAssignmentHandler implements RiderAssignmentHandlerInterface protected $em; protected $aclient; protected $mclient; + protected $translator; public function __construct(EntityManagerInterface $em, MQTTClient $mclient, - APNSClient $aclient) + APNSClient $aclient, TranslatorInterface $translator) { $this->em = $em; $this->mclient = $mclient; $this->aclient = $aclient; + $this->translator = $translator; } // assign job order to rider @@ -49,7 +53,7 @@ class ResqRiderAssignmentHandler implements RiderAssignmentHandlerInterface $this->mclient->sendRiderEvent($obj, $payload); // send push notification - $this->aclient->sendPush($obj, "A RESQ rider is on his way to you."); + $this->aclient->sendPush($obj, $this->translator->trans('message.rider_otw')); $this->em->flush(); } diff --git a/templates/job-order/form.html.twig b/templates/job-order/form.html.twig index e85a89f3..4fff73e0 100644 --- a/templates/job-order/form.html.twig +++ b/templates/job-order/form.html.twig @@ -288,7 +288,7 @@ diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml index 75f17ce6..78f1b0d4 100644 --- a/translations/messages.en.yaml +++ b/translations/messages.en.yaml @@ -71,3 +71,11 @@ label.pdf.emp_id_ref: 'Emp. ID/Card No./Ref. By:' label.pdf.discount: 'DISCOUNT:' label.pdf.discount_type: 'Discount Type:' label.pdf.final_amount: 'FINAL AMOUNT:' +label.jo.vehicle_battery: 'This vehicle is using a Motolite battery' + +# messages +message.partial_warrantysms: ') has expired already. Please call MOTOLITE EXPRESS HATID at 8370-6686 to have the status of your battery checked to avoid any inconvenience. Thank you for choosing Motolite.' +message.battery_brand_allcaps: 'MOTOLITE' +message.confirmation_code: 'Your Resq confirmation code is' +message.joborder_completed: 'Your Resq job order has been completed.' +message.rider_otw: 'A RESQ rider is on his way to you.' -- 2.43.5