diff --git a/.env.dist b/.env.dist
index f170c3c9..a9fe4b6a 100644
--- a/.env.dist
+++ b/.env.dist
@@ -50,3 +50,6 @@ GEOFENCE_ENABLE=settotrueorfalse
CVU_MFG_ID=insertmfgidforunknownvehicles
CVU_BRAND_ID=insertbrandidforunknownvehicles
+# country code prefix
+COUNTRY_CODE=+insertcountrycodehere
+
diff --git a/config/services.yaml b/config/services.yaml
index d0af7f80..00c5c32f 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -164,14 +164,18 @@ services:
App\Service\InvoiceGeneratorInterface: "@App\\Service\\InvoiceGenerator\\ResqInvoiceGenerator"
# job order generator
- App\Service\JobOrderHandler\CMBJobOrderHandler: ~
+ App\Service\JobOrderHandler\ResqJobOrderHandler:
+ arguments:
+ $country_code: "%env(COUNTRY_CODE)%"
#job order generator interface
#App\Service\JobOrderHandlerInterface: "@App\\Service\\JobOrderHandler\\CMBJobOrderHandler"
App\Service\JobOrderHandlerInterface: "@App\\Service\\JobOrderHandler\\ResqJobOrderHandler"
# customer generator
- App\Service\CustomerHandler\CMBCustomerHandler: ~
+ App\Service\CustomerHandler\ResqCustomerHandler:
+ arguments:
+ $country_code: "%env(COUNTRY_CODE)%"
# customer generator interface
#App\Service\CustomerHandlerInterface: "@App\\Service\\CustomerHandler\\CMBCustomerHandler"
diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php
index abe8286b..b96dfae9 100644
--- a/src/Entity/Customer.php
+++ b/src/Entity/Customer.php
@@ -14,9 +14,6 @@ use App\Ramcar\CustomerClassification;
*/
class Customer
{
- // TODO: make this a setting somewhere
- const COUNTRY_CODE_PREFIX = '+60';
-
// unique id
/**
* @ORM\Id
@@ -266,16 +263,16 @@ class Customer
$phones = [];
if (!empty($this->phone_mobile))
- $phones[] = self::COUNTRY_CODE_PREFIX . $this->phone_mobile;
+ $phones[] = $this->phone_mobile;
if (!empty($this->phone_landline))
- $phones[] = self::COUNTRY_CODE_PREFIX . $this->phone_landline;
+ $phones[] = $this->phone_landline;
if (!empty($this->phone_office))
- $phones[] = self::COUNTRY_CODE_PREFIX . $this->phone_office;
+ $phones[] = $this->phone_office;
if (!empty($this->phone_fax))
- $phones[] = self::COUNTRY_CODE_PREFIX . $this->phone_fax;
+ $phones[] = $this->phone_fax;
return $phones;
}
diff --git a/src/Service/CustomerHandler/CMBCustomerHandler.php b/src/Service/CustomerHandler/CMBCustomerHandler.php
index a0f3ca2e..fb6a888e 100644
--- a/src/Service/CustomerHandler/CMBCustomerHandler.php
+++ b/src/Service/CustomerHandler/CMBCustomerHandler.php
@@ -25,17 +25,17 @@ use DateTime;
class CMBCustomerHandler implements CustomerHandlerInterface
{
- const COUNTRY_CODE_PREFIX = '+60';
-
protected $em;
protected $validator;
-
+ protected $country_code;
protected $template_hash;
- public function __construct(EntityManagerInterface $em, ValidatorInterface $validator)
+ public function __construct(EntityManagerInterface $em, ValidatorInterface $validator,
+ string $country_code)
{
$this->em = $em;
$this->validator = $validator;
+ $this->country_code = $country_code;
$this->loadTemplates();
}
@@ -121,7 +121,14 @@ class CMBCustomerHandler implements CustomerHandlerInterface
$row['flag_csat'] = $orow->isCSAT();
// TODO: properly add mobile numbers and plate numbers as searchable/sortable fields, use doctrine events
- $row['mobile_numbers'] = implode("
", $orow->getMobileNumberList());
+ // prepend the country code before each mobile number
+ $mobile_number_list = [];
+ $mobile_numbers = $orow->getMobileNumberList();
+ foreach ($mobile_numbers as $mobile_number)
+ {
+ $mobile_number_list[] = $this->country_code . $mobile_number;
+ }
+ $row['mobile_numbers'] = implode("
", $mobile_number_list);
$row['plate_numbers'] = implode("
", $orow->getPlateNumberList());
$rows[] = $row;
@@ -467,7 +474,7 @@ class CMBCustomerHandler implements CustomerHandlerInterface
$cust = $cv->getCustomer();
$vehicles[] = [
'id' => $cv->getID(),
- 'text' => $cv->getPlateNumber() . ' ' . $cust->getFirstName() . ' ' . $cust->getLastName() . ' ('. self::COUNTRY_CODE_PREFIX . $cust->getPhoneMobile() . ')',
+ 'text' => $cv->getPlateNumber() . ' ' . $cust->getFirstName() . ' ' . $cust->getLastName() . ' ('. $this->country_code . $cust->getPhoneMobile() . ')',
];
}
diff --git a/src/Service/CustomerHandler/ResqCustomerHandler.php b/src/Service/CustomerHandler/ResqCustomerHandler.php
index 8ea688cf..5f7e00e2 100644
--- a/src/Service/CustomerHandler/ResqCustomerHandler.php
+++ b/src/Service/CustomerHandler/ResqCustomerHandler.php
@@ -27,17 +27,17 @@ use DateTime;
class ResqCustomerHandler implements CustomerHandlerInterface
{
- const COUNTRY_CODE_PREFIX = '+63';
-
protected $em;
protected $validator;
-
+ protected $country_code;
protected $template_hash;
- public function __construct(EntityManagerInterface $em, ValidatorInterface $validator)
+ public function __construct(EntityManagerInterface $em, ValidatorInterface $validator,
+ string $country_code)
{
$this->em = $em;
$this->validator = $validator;
+ $this->country_code = $country_code;
$this->loadTemplates();
}
@@ -124,7 +124,14 @@ class ResqCustomerHandler implements CustomerHandlerInterface
$row['flag_csat'] = $orow->isCSAT();
// TODO: properly add mobile numbers and plate numbers as searchable/sortable fields, use doctrine events
- $row['mobile_numbers'] = implode("
", $orow->getMobileNumberList());
+ // prepend the country code before each mobile number
+ $mobile_number_list = [];
+ $mobile_numbers = $orow->getMobileNumberList();
+ foreach ($mobile_numbers as $mobile_number)
+ {
+ $mobile_number_list[] = $this->country_code . $mobile_number;
+ }
+ $row['mobile_numbers'] = implode("
", $mobile_number_list);
$row['plate_numbers'] = implode("
", $orow->getPlateNumberList());
$rows[] = $row;
@@ -465,7 +472,7 @@ class ResqCustomerHandler implements CustomerHandlerInterface
$cust = $cv->getCustomer();
$vehicles[] = [
'id' => $cv->getID(),
- 'text' => $cv->getPlateNumber() . ' ' . $cust->getFirstName() . ' ' . $cust->getLastName() . ' ('. self::COUNTRY_CODE_PREFIX . $cust->getPhoneMobile() . ')',
+ 'text' => $cv->getPlateNumber() . ' ' . $cust->getFirstName() . ' ' . $cust->getLastName() . ' ('. $this->country_code . $cust->getPhoneMobile() . ')',
];
}
diff --git a/src/Service/JobOrderHandler/CMBJobOrderHandler.php b/src/Service/JobOrderHandler/CMBJobOrderHandler.php
index 1e4d8f9f..89dc9663 100644
--- a/src/Service/JobOrderHandler/CMBJobOrderHandler.php
+++ b/src/Service/JobOrderHandler/CMBJobOrderHandler.php
@@ -55,20 +55,20 @@ use FPDF;
class CMBJobOrderHandler implements JobOrderHandlerInterface
{
- const COUNTRY_CODE_PREFIX = '+60';
-
protected $em;
protected $ic;
protected $security;
protected $validator;
protected $translator;
protected $rah;
+ protected $country_code;
protected $template_hash;
public function __construct(Security $security, EntityManagerInterface $em,
InvoiceGeneratorInterface $ic, ValidatorInterface $validator,
- TranslatorInterface $translator, RiderAssignmentHandlerInterface $rah)
+ TranslatorInterface $translator, RiderAssignmentHandlerInterface $rah,
+ string $country_code)
{
$this->em = $em;
$this->ic = $ic;
@@ -76,6 +76,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$this->validator = $validator;
$this->translator = $translator;
$this->rah = $rah;
+ $this->country_code = $country_code;
$this->loadTemplates();
}
@@ -1860,7 +1861,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Mobile Phone:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneMobile() : '', 0, 'L');
+ $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? $this->country_code . $customer->getPhoneMobile() : '', 0, 'L');
// get Y after right cell
$y2 = $pdf->GetY();
@@ -1877,7 +1878,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Landline:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneLandline() : '', 0, 'L');
+ $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? $this->country_code . $customer->getPhoneLandline() : '', 0, 'L');
// get Y after right cell
$y2 = $pdf->GetY();
@@ -1887,11 +1888,11 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Office Phone:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneOffice() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneOffice() : '', 0, 'L');
+ $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->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneFax() : '', 0, 'L');
+ $pdf->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? $this->country_code . $customer->getPhoneFax() : '', 0, 'L');
// insert vehicle info
$cv = $obj->getCustomerVehicle();
diff --git a/src/Service/JobOrderHandler/ResqJobOrderHandler.php b/src/Service/JobOrderHandler/ResqJobOrderHandler.php
index f6f07188..e91e855e 100644
--- a/src/Service/JobOrderHandler/ResqJobOrderHandler.php
+++ b/src/Service/JobOrderHandler/ResqJobOrderHandler.php
@@ -53,25 +53,25 @@ use FPDF;
class ResqJobOrderHandler implements JobOrderHandlerInterface
{
- const COUNTRY_CODE_PREFIX = '+60';
-
protected $em;
protected $ic;
protected $security;
protected $validator;
protected $translator;
+ protected $country_code;
protected $template_hash;
public function __construct(Security $security, EntityManagerInterface $em,
InvoiceGeneratorInterface $ic, ValidatorInterface $validator,
- TranslatorInterface $translator)
+ TranslatorInterface $translator, string $country_code)
{
$this->em = $em;
$this->ic = $ic;
$this->security = $security;
$this->validator = $validator;
$this->translator = $translator;
+ $this->country_code = $country_code;
$this->loadTemplates();
}
@@ -1868,7 +1868,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Mobile Phone:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneMobile() : '', 0, 'L');
+ $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneMobile() ? $this->country_code . $customer->getPhoneMobile() : '', 0, 'L');
// get Y after right cell
$y2 = $pdf->GetY();
@@ -1885,7 +1885,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Landline:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneLandline() : '', 0, 'L');
+ $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneLandline() ? $this->country_code . $customer->getPhoneLandline() : '', 0, 'L');
// get Y after right cell
$y2 = $pdf->GetY();
@@ -1895,11 +1895,11 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$pdf->SetXY($col2_x, $y);
$pdf->Cell($label_width, $line_height, 'Office Phone:');
- $pdf->MultiCell(0, $line_height, $customer && $customer->getPhoneOffice() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneOffice() : '', 0, 'L');
+ $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->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? self::COUNTRY_CODE_PREFIX . $customer->getPhoneFax() : '', 0, 'L');
+ $pdf->MultiCell($val_width, $line_height, $customer && $customer->getPhoneFax() ? $this->country_code . $customer->getPhoneFax() : '', 0, 'L');
// insert vehicle info
$cv = $obj->getCustomerVehicle();
diff --git a/templates/customer/form.html.twig b/templates/customer/form.html.twig
index 4f2f5e9f..f502e778 100644
--- a/templates/customer/form.html.twig
+++ b/templates/customer/form.html.twig
@@ -131,7 +131,7 @@
Mobile Phone