diff --git a/src/Controller/CustomerController.php b/src/Controller/CustomerController.php index 0215dcd0..0d7eb16c 100644 --- a/src/Controller/CustomerController.php +++ b/src/Controller/CustomerController.php @@ -172,6 +172,25 @@ class CustomerController extends BaseController 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) { $this->denyAccessUnlessGranted('customer.add', null, 'No access.'); @@ -180,13 +199,7 @@ class CustomerController extends BaseController $em = $this->getDoctrine()->getManager(); $row = new Customer(); - // set and save values - $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); + $this->setObject($row, $req); // initialize error lists $error_array = []; @@ -195,33 +208,6 @@ class CustomerController extends BaseController // 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 $vehicles = json_decode($req->request->get('vehicles')); @@ -429,13 +415,7 @@ class CustomerController extends BaseController if (empty($cust)) throw $this->createNotFoundException('The item does not exist'); - // set and save values - $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); + $this->setObject($cust, $req); // initialize error lists $error_array = []; @@ -445,17 +425,6 @@ class CustomerController extends BaseController // TODO: validate mobile numbers // 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 $vehicles = json_decode($req->request->get('vehicles')); $this->updateVehicles($em, $cust, $vehicles); diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php index d14e84ec..d5fc39bd 100644 --- a/src/Entity/Customer.php +++ b/src/Entity/Customer.php @@ -127,6 +127,11 @@ class Customer */ protected $flag_active; + /** + * @ORM\Column(type="string", length=80) + */ + protected $email; + public function __construct() { $this->numbers = new ArrayCollection(); @@ -146,6 +151,8 @@ class Customer $this->phone_landline = ''; $this->phone_office = ''; $this->phone_fax = ''; + + $this->email = ''; } public function getID() @@ -362,4 +369,15 @@ class Customer { return $this->tickets; } + + public function setEmail($email) + { + $this->email = $email; + return $this; + } + + public function getEmail() + { + return $this->email; + } } diff --git a/templates/customer/form.html.twig b/templates/customer/form.html.twig index 418d1079..c6518a83 100644 --- a/templates/customer/form.html.twig +++ b/templates/customer/form.html.twig @@ -41,19 +41,6 @@
-
- - - -
-
-
+
+ + + +
+
+ + +
+
+