diff --git a/src/Controller/CustomerController.php b/src/Controller/CustomerController.php
index 5ba29744..a8eef366 100644
--- a/src/Controller/CustomerController.php
+++ b/src/Controller/CustomerController.php
@@ -109,11 +109,13 @@ class CustomerController extends BaseController
foreach ($obj_rows as $orow) {
// add row data
$row['id'] = $orow->getID();
+ $row['title'] = $orow->getTitle();
$row['first_name'] = $orow->getFirstName();
$row['last_name'] = $orow->getLastName();
$row['customer_classification'] = CustomerClassification::getName($orow->getCustomerClassification());
$row['flag_mobile_app'] = $orow->hasMobileApp();
$row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : '';
+ $row['flag_active'] = $orow->isActive();
// TODO: properly add mobile numbers and plate numbers as searchable/sortable fields, use doctrine events
$row['mobile_numbers'] = implode("
", $orow->getMobileNumberList());
@@ -173,10 +175,12 @@ class CustomerController extends BaseController
$row = new Customer();
// set and save values
- $row->setFirstName($req->request->get('first_name'))
+ $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'));
+ ->setCustomerNotes($req->request->get('customer_notes'))
+ ->setActive($req->request->get('flag_active') ? true : false);
// initialize error lists
$error_array = [];
@@ -471,10 +475,12 @@ class CustomerController extends BaseController
throw $this->createNotFoundException('The item does not exist');
// set and save values
- $cust->setFirstName($req->request->get('first_name'))
+ $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'));
+ ->setCustomerNotes($req->request->get('customer_notes'))
+ ->setActive($req->request->get('flag_active') ? true : false);
// initialize error lists
$error_array = [];
diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php
index 8fb59dd1..bbd287c8 100644
--- a/src/Entity/Customer.php
+++ b/src/Entity/Customer.php
@@ -22,6 +22,13 @@ class Customer
*/
protected $id;
+ // title
+ /**
+ * @ORM\Column(type="string", length=10)
+ * @Assert\NotBlank()
+ */
+ protected $title;
+
// first name
/**
* @ORM\Column(type="string", length=80)
@@ -90,6 +97,12 @@ class Customer
*/
protected $flag_mobile_app;
+ // if active
+ /**
+ * @ORM\Column(type="boolean")
+ */
+ protected $flag_active;
+
public function __construct()
{
$this->numbers = new ArrayCollection();
@@ -102,6 +115,7 @@ class Customer
$this->flag_confirmed = false;
$this->flag_mobile_app = false;
+ $this->flag_active = false;
}
public function getID()
@@ -109,6 +123,17 @@ class Customer
return $this->id;
}
+ public function setTitle($title)
+ {
+ $this->title = $title;
+ return $this;
+ }
+
+ public function getTitle()
+ {
+ return $this->title;
+ }
+
public function setFirstName($first_name)
{
$this->first_name = $first_name;
@@ -256,6 +281,17 @@ class Customer
return $this->flag_mobile_app;
}
+ public function setActive($flag_active = true)
+ {
+ $this->flag_active = $flag_active;
+ return $this;
+ }
+
+ public function isActive()
+ {
+ return $this->flag_active;
+ }
+
public function getJobOrders()
{
return $this->job_orders;
diff --git a/templates/customer/form.html.twig b/templates/customer/form.html.twig
index 65255dc0..68642d19 100644
--- a/templates/customer/form.html.twig
+++ b/templates/customer/form.html.twig
@@ -41,7 +41,7 @@