Fix blank warranty bug for customer form and add typehinting for date/time fields

This commit is contained in:
Kendrick Chan 2018-01-17 15:09:26 +08:00
parent 360f5d872c
commit 929187f45c
3 changed files with 17 additions and 6 deletions

View file

@ -166,18 +166,22 @@ class CustomerController extends BaseController
$nerror_array = [];
$verror_array = [];
// error_log(print_r($req->request->all(), true));
// custom validation for mobile numbers
$numbers = json_decode($req->request->get('mobile_numbers'));
if (!empty($numbers)) {
foreach ($numbers as $key => $number) {
$date_reg = DateTime::createFromFormat("d M Y - h:i A", $number->date_registered);
$mobile_number = new MobileNumber();
$mobile_number->setID($number->id)
->setDateRegistered(DateTime::createFromFormat("d M Y - h:i A", $number->date_registered))
->setDateRegistered($date_reg)
->setCustomer($row);
if (!empty($number->date_confirmed)) {
$mobile_number->setDateConfirmed(DateTime::createFromFormat("d M Y - h:i A", $number->date_confirmed))
$date_confirm = DateTime::createFromFormat("d M Y - h:i A", $number->date_confirmed);
$mobile_number->setDateConfirmed($date_confirm)
->setConfirmed();
} else {
$mobile_number->setConfirmed(false);
@ -229,10 +233,15 @@ class CustomerController extends BaseController
if (empty($bobj)) {
$verror_array[$vehicle->index]['battery'] = 'Invalid battery specified.';
} else {
// check if warranty expiration was specified
$warr_ex = DateTime::createFromFormat("d M Y", $vehicle->warranty_expiration);
if (!$warr_ex)
$warr_ex = null;
$cust_vehicle->setHasMotoliteBattery(true)
->setCurrentBattery($bobj)
->setWarrantyCode($vehicle->warranty_code)
->setWarrantyExpiration(DateTime::createFromFormat("d M Y", $vehicle->warranty_expiration));
->setWarrantyExpiration($warr_ex);
}
} else {
$cust_vehicle->setHasMotoliteBattery(false);

View file

@ -5,6 +5,7 @@ namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use DateTime;
/**
* @ORM\Entity
@ -220,7 +221,7 @@ class CustomerVehicle
return $this->warranty_code;
}
public function setWarrantyExpiration($warranty_expiration)
public function setWarrantyExpiration(DateTime $warranty_expiration = null)
{
$this->warranty_expiration = $warranty_expiration;
return $this;

View file

@ -6,6 +6,7 @@ use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use DateTime;
/**
* @ORM\Entity
@ -96,7 +97,7 @@ class MobileNumber
return $this->confirm_code;
}
public function setDateRegistered($date_registered)
public function setDateRegistered(DateTime $date_registered)
{
$this->date_registered = $date_registered;
return $this;
@ -107,7 +108,7 @@ class MobileNumber
return $this->date_registered;
}
public function setDateConfirmed($date_confirmed)
public function setDateConfirmed(DateTime $date_confirmed)
{
$this->date_confirmed = $date_confirmed;
return $this;