Add odometer and date purchase (customer) to entity and api calls #540
This commit is contained in:
parent
6a6b93e087
commit
59f06d7a5a
2 changed files with 100 additions and 1 deletions
|
|
@ -2798,6 +2798,8 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res->getReturnResponse();
|
return $res->getReturnResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$today = new DateTime();
|
||||||
|
|
||||||
// if we have a warranty entry for the serial already
|
// if we have a warranty entry for the serial already
|
||||||
if ($warr != null)
|
if ($warr != null)
|
||||||
{
|
{
|
||||||
|
|
@ -2820,12 +2822,21 @@ class APIController extends Controller implements LoggedController
|
||||||
// if customer plate number matches the one registered on the warranty
|
// if customer plate number matches the one registered on the warranty
|
||||||
if ($is_customer_warranty)
|
if ($is_customer_warranty)
|
||||||
{
|
{
|
||||||
|
if ($warr->getDatePurchaseCustomer() != null)
|
||||||
|
$date_purchase_cust = $warr->getDatePurchaseCustomer()->format('Y-m-d');
|
||||||
|
else
|
||||||
|
$date_purchase_cust = $today->format('Y-m-d');
|
||||||
|
|
||||||
$customer = [
|
$customer = [
|
||||||
'first_name' => $warr->getFirstName(),
|
'first_name' => $warr->getFirstName(),
|
||||||
'last_name' => $warr->getLastName(),
|
'last_name' => $warr->getLastName(),
|
||||||
'mobile_number' => $mobile_num,
|
'mobile_number' => $mobile_num,
|
||||||
'plate_number' => $warr_plate,
|
'plate_number' => $warr_plate,
|
||||||
];
|
];
|
||||||
|
$other_data = [
|
||||||
|
'odometer' => $warr->getOdometer(),
|
||||||
|
'date_purchase' => $date_purchase_cust,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -2836,6 +2847,10 @@ class APIController extends Controller implements LoggedController
|
||||||
'mobile_number' => '',
|
'mobile_number' => '',
|
||||||
'plate_number' => '',
|
'plate_number' => '',
|
||||||
];
|
];
|
||||||
|
$other_data = [
|
||||||
|
'odometer' => 0,
|
||||||
|
'date_purchase' => $today->format('Y-m-d'),
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -2847,6 +2862,10 @@ class APIController extends Controller implements LoggedController
|
||||||
'mobile_number' => '',
|
'mobile_number' => '',
|
||||||
'plate_number' => '',
|
'plate_number' => '',
|
||||||
];
|
];
|
||||||
|
$other_data = [
|
||||||
|
'odometer' => 0,
|
||||||
|
'date_purchase' => $today->format('Y-m-d'),
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
$sku = $warr_serial->getSKU();
|
$sku = $warr_serial->getSKU();
|
||||||
|
|
@ -2877,6 +2896,8 @@ class APIController extends Controller implements LoggedController
|
||||||
'can_edit' => $can_edit,
|
'can_edit' => $can_edit,
|
||||||
'customer' => $customer,
|
'customer' => $customer,
|
||||||
'battery' => $battery,
|
'battery' => $battery,
|
||||||
|
'odometer' => $other_data['odometer'],
|
||||||
|
'date_purchase' => $other_data['date_purchase'],
|
||||||
'message' => [
|
'message' => [
|
||||||
'register_error' => 'Warranty serial code has already been registered.',
|
'register_error' => 'Warranty serial code has already been registered.',
|
||||||
'edit_error' => 'Sorry, warranty is registered under another vehicle not in your list of vehicles.',
|
'edit_error' => 'Sorry, warranty is registered under another vehicle not in your list of vehicles.',
|
||||||
|
|
@ -2928,6 +2949,8 @@ class APIController extends Controller implements LoggedController
|
||||||
'last_name',
|
'last_name',
|
||||||
'email',
|
'email',
|
||||||
'plate_number',
|
'plate_number',
|
||||||
|
'odometer',
|
||||||
|
'date_purchase',
|
||||||
];
|
];
|
||||||
|
|
||||||
// handle file uploads
|
// handle file uploads
|
||||||
|
|
@ -3006,8 +3029,19 @@ class APIController extends Controller implements LoggedController
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// default date purchase to today
|
||||||
|
// NOTE: might need to change this later
|
||||||
$date_pur = new DateTime();
|
$date_pur = new DateTime();
|
||||||
|
|
||||||
|
// get date purchase specified by customer
|
||||||
|
$date_pur_cust = DateTime::createFromFormat('Y-m-d', $req->request->get('date_purchase'));
|
||||||
|
if (!$date_pur_cust)
|
||||||
|
{
|
||||||
|
$res->setError(true)
|
||||||
|
->setErrorMessage('Invalid date format for date of purchase.');
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// create or update warranty entry
|
// create or update warranty entry
|
||||||
$warr->setSerial($serial)
|
$warr->setSerial($serial)
|
||||||
|
|
@ -3025,8 +3059,15 @@ class APIController extends Controller implements LoggedController
|
||||||
->setSAPBattery($sap_bty)
|
->setSAPBattery($sap_bty)
|
||||||
->setMobileNumber(substr($this->session->getPhoneNumber(), 2))
|
->setMobileNumber(substr($this->session->getPhoneNumber(), 2))
|
||||||
->setActivated(true)
|
->setActivated(true)
|
||||||
|
|
||||||
|
// files
|
||||||
->setFileInvoice($inv_filename)
|
->setFileInvoice($inv_filename)
|
||||||
->setFileWarrantyCard($wcard_filename);
|
->setFileWarrantyCard($wcard_filename)
|
||||||
|
|
||||||
|
// new fields
|
||||||
|
->setOdometer($req->request->get('odometer', 0))
|
||||||
|
->setDatePurchaseCustomer($date_pur_cust)
|
||||||
|
->setValidated(false);
|
||||||
|
|
||||||
// TODO: check for date purchase and date expire
|
// TODO: check for date purchase and date expire
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,9 @@ class Warranty
|
||||||
protected $privacy_policy;
|
protected $privacy_policy;
|
||||||
|
|
||||||
|
|
||||||
|
// NOTE: the following were added later on, so they should all be nullable or have defaults,
|
||||||
|
// otherwise we get issues
|
||||||
|
|
||||||
// invoice picture
|
// invoice picture
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="string", length=80, nullable=true)
|
* @ORM\Column(type="string", length=80, nullable=true)
|
||||||
|
|
@ -154,6 +157,26 @@ class Warranty
|
||||||
*/
|
*/
|
||||||
protected $file_warr_card;
|
protected $file_warr_card;
|
||||||
|
|
||||||
|
// odometer reading
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="integer", nullable=true)
|
||||||
|
*/
|
||||||
|
protected $odometer;
|
||||||
|
|
||||||
|
// date purchase as specified by customer
|
||||||
|
// TODO: currently this does not affect warranty, someone will have to view this and set
|
||||||
|
// actual purchase date
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="date", nullable=true)
|
||||||
|
*/
|
||||||
|
protected $date_purchase_cust;
|
||||||
|
|
||||||
|
// if the warranty has been validated by an agent
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="boolean", options={"default": false})
|
||||||
|
*/
|
||||||
|
protected $flag_validated;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
|
|
@ -162,6 +185,8 @@ class Warranty
|
||||||
$this->date_claim = null;
|
$this->date_claim = null;
|
||||||
$this->flag_activated = false;
|
$this->flag_activated = false;
|
||||||
$this->email = '';
|
$this->email = '';
|
||||||
|
$this->odometer = 0;
|
||||||
|
$this->flag_validated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
@ -447,4 +472,37 @@ class Warranty
|
||||||
return $this->file_warr_card;
|
return $this->file_warr_card;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setOdometer($odometer)
|
||||||
|
{
|
||||||
|
$this->odometer = $odometer;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getOdometer()
|
||||||
|
{
|
||||||
|
return $this->odometer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setDatePurchaseCustomer($date)
|
||||||
|
{
|
||||||
|
$this->date_purchase_cust = $date;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDatePurchaseCustomer()
|
||||||
|
{
|
||||||
|
return $this->date_purchase_cust;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setValidated($bool = true)
|
||||||
|
{
|
||||||
|
$this->flag_validated = $bool;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isValidated()
|
||||||
|
{
|
||||||
|
return $this->flag_validated;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue