Add email field to customer #UAT
This commit is contained in:
parent
fa37cbb5a9
commit
f807c7041e
3 changed files with 58 additions and 65 deletions
|
|
@ -172,6 +172,25 @@ class CustomerController extends BaseController
|
||||||
return $this->render('customer/form.html.twig', $params);
|
return $this->render('customer/form.html.twig', $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function setObject($obj, $req)
|
||||||
|
{
|
||||||
|
// set and save values
|
||||||
|
$obj->setTitle($req->request->get('title'))
|
||||||
|
->setFirstName($req->request->get('first_name'))
|
||||||
|
->setLastName($req->request->get('last_name'))
|
||||||
|
->setCustomerClassification($req->request->get('customer_classification'))
|
||||||
|
->setCustomerNotes($req->request->get('customer_notes'))
|
||||||
|
->setEmail($req->request->get('email'))
|
||||||
|
->setActive($req->request->get('flag_active') ? true : false);
|
||||||
|
|
||||||
|
// phone numbers
|
||||||
|
$obj->setPhoneMobile($req->request->get('phone_mobile'))
|
||||||
|
->setPhoneLandline($req->request->get('phone_landline'))
|
||||||
|
->setPhoneOffice($req->request->get('phone_office'))
|
||||||
|
->setPhoneFax($req->request->get('phone_fax'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function addSubmit(Request $req, ValidatorInterface $validator)
|
public function addSubmit(Request $req, ValidatorInterface $validator)
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted('customer.add', null, 'No access.');
|
$this->denyAccessUnlessGranted('customer.add', null, 'No access.');
|
||||||
|
|
@ -180,13 +199,7 @@ class CustomerController extends BaseController
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$row = new Customer();
|
$row = new Customer();
|
||||||
|
|
||||||
// set and save values
|
$this->setObject($row, $req);
|
||||||
$row->setTitle($req->request->get('title'))
|
|
||||||
->setFirstName($req->request->get('first_name'))
|
|
||||||
->setLastName($req->request->get('last_name'))
|
|
||||||
->setCustomerClassification($req->request->get('customer_classification'))
|
|
||||||
->setCustomerNotes($req->request->get('customer_notes'))
|
|
||||||
->setActive($req->request->get('flag_active') ? true : false);
|
|
||||||
|
|
||||||
// initialize error lists
|
// initialize error lists
|
||||||
$error_array = [];
|
$error_array = [];
|
||||||
|
|
@ -195,33 +208,6 @@ class CustomerController extends BaseController
|
||||||
|
|
||||||
// error_log(print_r($req->request->all(), true));
|
// 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($date_reg)
|
|
||||||
->setCustomer($row);
|
|
||||||
|
|
||||||
$nerrors = $validator->validate($mobile_number);
|
|
||||||
|
|
||||||
// add errors to list
|
|
||||||
foreach ($nerrors as $error) {
|
|
||||||
if (!isset($nerror_array[$key]))
|
|
||||||
$nerror_array[$key] = [];
|
|
||||||
|
|
||||||
$nerror_array[$key][$error->getPropertyPath()] = $error->getMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($nerror_array[$key])) {
|
|
||||||
$row->addMobileNumber($mobile_number);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// custom validation for vehicles
|
// custom validation for vehicles
|
||||||
$vehicles = json_decode($req->request->get('vehicles'));
|
$vehicles = json_decode($req->request->get('vehicles'));
|
||||||
|
|
||||||
|
|
@ -429,13 +415,7 @@ class CustomerController extends BaseController
|
||||||
if (empty($cust))
|
if (empty($cust))
|
||||||
throw $this->createNotFoundException('The item does not exist');
|
throw $this->createNotFoundException('The item does not exist');
|
||||||
|
|
||||||
// set and save values
|
$this->setObject($cust, $req);
|
||||||
$cust->setTitle($req->request->get('title'))
|
|
||||||
->setFirstName($req->request->get('first_name'))
|
|
||||||
->setLastName($req->request->get('last_name'))
|
|
||||||
->setCustomerClassification($req->request->get('customer_classification'))
|
|
||||||
->setCustomerNotes($req->request->get('customer_notes'))
|
|
||||||
->setActive($req->request->get('flag_active') ? true : false);
|
|
||||||
|
|
||||||
// initialize error lists
|
// initialize error lists
|
||||||
$error_array = [];
|
$error_array = [];
|
||||||
|
|
@ -445,17 +425,6 @@ class CustomerController extends BaseController
|
||||||
// TODO: validate mobile numbers
|
// TODO: validate mobile numbers
|
||||||
// TODO: validate vehicles
|
// TODO: validate vehicles
|
||||||
|
|
||||||
/*
|
|
||||||
// custom validation for mobile numbers
|
|
||||||
$numbers = json_decode($req->request->get('mobile_numbers'));
|
|
||||||
$this->updateNumbers($em, $cust, $numbers);
|
|
||||||
*/
|
|
||||||
// phone numbers
|
|
||||||
$cust->setPhoneMobile($req->request->get('phone_mobile'))
|
|
||||||
->setPhoneLandline($req->request->get('phone_landline'))
|
|
||||||
->setPhoneOffice($req->request->get('phone_office'))
|
|
||||||
->setPhoneFax($req->request->get('phone_fax'));
|
|
||||||
|
|
||||||
// custom validation for vehicles
|
// custom validation for vehicles
|
||||||
$vehicles = json_decode($req->request->get('vehicles'));
|
$vehicles = json_decode($req->request->get('vehicles'));
|
||||||
$this->updateVehicles($em, $cust, $vehicles);
|
$this->updateVehicles($em, $cust, $vehicles);
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,11 @@ class Customer
|
||||||
*/
|
*/
|
||||||
protected $flag_active;
|
protected $flag_active;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="string", length=80)
|
||||||
|
*/
|
||||||
|
protected $email;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->numbers = new ArrayCollection();
|
$this->numbers = new ArrayCollection();
|
||||||
|
|
@ -146,6 +151,8 @@ class Customer
|
||||||
$this->phone_landline = '';
|
$this->phone_landline = '';
|
||||||
$this->phone_office = '';
|
$this->phone_office = '';
|
||||||
$this->phone_fax = '';
|
$this->phone_fax = '';
|
||||||
|
|
||||||
|
$this->email = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
@ -362,4 +369,15 @@ class Customer
|
||||||
{
|
{
|
||||||
return $this->tickets;
|
return $this->tickets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setEmail($email)
|
||||||
|
{
|
||||||
|
$this->email = $email;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getEmail()
|
||||||
|
{
|
||||||
|
return $this->email;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,19 +41,6 @@
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-4">
|
|
||||||
<label data-field="customer_classification">
|
|
||||||
Customer Classification
|
|
||||||
</label>
|
|
||||||
<select name="customer_classification" class="form-control m-input">
|
|
||||||
{% for key, classification in classifications %}
|
|
||||||
<option value="{{ key }}"{{ obj.getCustomerClassification == key ? ' selected' }}>{{ classification }}</option>
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
<div class="form-control-feedback hide" data-field="customer_classification"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group m-form__group row">
|
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
<label data-field="title">
|
<label data-field="title">
|
||||||
Title
|
Title
|
||||||
|
|
@ -77,6 +64,25 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<label data-field="customer_classification">
|
||||||
|
Customer Classification
|
||||||
|
</label>
|
||||||
|
<select name="customer_classification" class="form-control m-input">
|
||||||
|
{% for key, classification in classifications %}
|
||||||
|
<option value="{{ key }}"{{ obj.getCustomerClassification == key ? ' selected' }}>{{ classification }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="form-control-feedback hide" data-field="customer_classification"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<label data-field="email">
|
||||||
|
E-mail
|
||||||
|
</label>
|
||||||
|
<input type="text" name="email" class="form-control m-input" value="{{ obj.getEmail }}" data-name="email">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<label data-field="customer_notes">
|
<label data-field="customer_notes">
|
||||||
Customer Notes
|
Customer Notes
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue