Customer Confirmation done : ps
This commit is contained in:
parent
95e47ce2ae
commit
f4c7fc7b54
@ -16,8 +16,10 @@ class Customer extends BaseController
|
||||
$session_role = get_user_role();
|
||||
$session_bid = get_business_id();
|
||||
if (!empty($session_role) && $session_role !== "sadmin") {
|
||||
$this->logger->info("Customer: Listing In admin role . BID = ".$session_bid);
|
||||
$where = ['isactive' => 1, 'business_id' => (int)$session_bid];
|
||||
} else {
|
||||
$this->logger->info("Customer: Listing In Super-admin role .");
|
||||
$where = ['isactive != ' => NULL];
|
||||
}
|
||||
$CustomerModel = new CustomerModel();
|
||||
@ -73,93 +75,123 @@ class Customer extends BaseController
|
||||
$data['session_bid'] = $session_bid;
|
||||
$this->render_page('customer_form', $data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
## For inserting/updating details of customer
|
||||
public function insert_customer()
|
||||
{
|
||||
helper('session');
|
||||
$session_bid = get_business_id();
|
||||
$session_uid = get_logged_user_id();
|
||||
$session_role = get_user_role();
|
||||
$model = new CustomerModel();
|
||||
$data = [
|
||||
'first_name' => $this->request->getPost('cfname'),
|
||||
'last_name' => $this->request->getPost('csname'),
|
||||
'mobile_no' => $this->request->getPost('cmobile'),
|
||||
'address' => $this->request->getPost('address'),
|
||||
'city' => $this->request->getPost('ccity'),
|
||||
'email' => $this->request->getPost('cmail'),
|
||||
'state' => $this->request->getPost('cstate'),
|
||||
'postal_code' => $this->request->getPost('czip'),
|
||||
'country' => $this->request->getPost('ccountry'),
|
||||
'date_of_birth' => $this->request->getPost('dob'),
|
||||
'gender' => $this->request->getPost('gen'),
|
||||
'profile_picture' => $this->request->getPost('cfile'),
|
||||
'mode' => $this->request->getPost('cmode'),
|
||||
'business_id' => $this->request->getPost('business_id')
|
||||
];
|
||||
$this->logger->info("Customer: Inserting/Updating Details");
|
||||
try {
|
||||
helper('session');
|
||||
$session_bid = get_business_id();
|
||||
$session_uid = get_logged_user_id();
|
||||
$session_role = get_user_role();
|
||||
$model = new CustomerModel();
|
||||
$data = [
|
||||
'first_name' => $this->request->getPost('cfname'),
|
||||
'last_name' => $this->request->getPost('csname'),
|
||||
'mobile_no' => $this->request->getPost('cmobile'),
|
||||
'address' => $this->request->getPost('address'),
|
||||
'city' => $this->request->getPost('ccity'),
|
||||
'email' => $this->request->getPost('cmail'),
|
||||
'state' => $this->request->getPost('cstate'),
|
||||
'postal_code' => $this->request->getPost('czip'),
|
||||
'country' => $this->request->getPost('ccountry'),
|
||||
'date_of_birth' => $this->request->getPost('dob'),
|
||||
'gender' => $this->request->getPost('gen'),
|
||||
'profile_picture' => $this->request->getPost('cfile'),
|
||||
'mode' => $this->request->getPost('cmode'),
|
||||
'business_id' => $this->request->getPost('business_id')
|
||||
];
|
||||
|
||||
$customer_id = $this->request->getPost('customer_id'); // Get the business ID for update
|
||||
if (empty($customer_id)) {
|
||||
// It's an insert operation
|
||||
$data['isactive'] = 1;
|
||||
$data['created_by'] = $session_uid;
|
||||
//print_r($data);die;
|
||||
$model->insert($data);
|
||||
$FK_CID = $model->insertID(); // for Customer ADDRESS Table
|
||||
} else {
|
||||
// It's an update operation
|
||||
if ($session_role !== 'manager'){
|
||||
$isactive = $this->request->getPost('isactive');
|
||||
$data['isactive'] = ($isactive == 'on') ? 1 : 0;
|
||||
$customer_id = $this->request->getPost('customer_id'); // Get the business ID for update
|
||||
if (empty($customer_id)) {
|
||||
// It's an insert operation
|
||||
$data['isactive'] = 1;
|
||||
$data['created_by'] = $session_uid;
|
||||
if ($model->insert($data)) {
|
||||
session()->setFlashdata('success', 'Customer has been added successfully.');
|
||||
$this->logger->info("Customer : has been added successfully. Inserted ID = " . $model->insertID());
|
||||
$customer_id_for_addresses = $model->insertID();// for Customer ADDRESS Table
|
||||
} else {
|
||||
session()->setFlashdata('error', 'Customer could not be added. Please try again..');
|
||||
$this->logger->error("Customer: Err could not be added. Please try again.");
|
||||
$customer_id_for_addresses = "";
|
||||
}
|
||||
} else {
|
||||
// It's an update operation
|
||||
if ($session_role !== 'manager') {
|
||||
$isactive = $this->request->getPost('isactive');
|
||||
$data['isactive'] = ($isactive == 'on') ? 1 : 0;
|
||||
}
|
||||
$data['updated_by'] = $session_uid;
|
||||
$customer_id_for_addresses = $customer_id; // for Customer ADDRESS Table
|
||||
if ($model->update($customer_id, $data)) {
|
||||
session()->setFlashdata('success', 'Customer has been updated successfully.');
|
||||
$this->logger->info("Customer: has been updated successfully. Updated Customer ID = " . $customer_id_for_addresses);
|
||||
} else {
|
||||
session()->setFlashdata('error', 'Customer update failed. Please try again.');
|
||||
$this->logger->error("Customer: Err Failed to update ID =" . $customer_id_for_addresses);
|
||||
}
|
||||
}
|
||||
$data['updated_by'] = $session_uid;
|
||||
// $model->update($customer_id, $data);
|
||||
$FK_CID = $customer_id; // for Customer ADDRESS Table
|
||||
|
||||
if($customer_id_for_addresses != ""){
|
||||
$this->logger->info("Customer: i got customer id for addresses = " . $customer_id_for_addresses);
|
||||
$requestData = $this->request->getPost();
|
||||
$bill_addr = $this->save_customer_addresses($customer_id_for_addresses, $requestData, 'b');
|
||||
$this->logger->info("Customer: bill addr final message = " .implode(" ",$bill_addr));
|
||||
$ship_addr = $this->save_customer_addresses($customer_id_for_addresses, $requestData, 's');
|
||||
$this->logger->info("Customer: Ship addr final message = " . implode(" ",$ship_addr));
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
$this->logger->error("Customer : Err Occur =" . $e->getMessage());
|
||||
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
||||
}
|
||||
$requestData = $this->request->getPost();
|
||||
$this->save_customer_addresses($FK_CID,$requestData,'b');
|
||||
$this->save_customer_addresses($FK_CID,$requestData,'s');
|
||||
return redirect()->route('customer_list');
|
||||
}
|
||||
|
||||
public function save_customer_addresses($id,$requestData,$letteringflag){
|
||||
|
||||
$addressType = ($letteringflag == 'b') ? 1 : 2;
|
||||
$getAddressdetails = $this->get_customer_address($id,$addressType);
|
||||
$CAid = $requestData[$letteringflag.'customer_address_id']; // Available Address IDS in Form Fields.
|
||||
$model = new CustomerModel();
|
||||
## For Save the customer addresses details (Using Letting Flag and Customer ID)
|
||||
public function save_customer_addresses($id, $requestData, $letteringflag)
|
||||
{
|
||||
try {
|
||||
$addressType = ($letteringflag == 'b') ? 1 : 2;
|
||||
$this->logger->info("Customer: Addresses Lettering Flag = " . $letteringflag . " Customer address type = " . $addressType);
|
||||
$getAddressdetails = $this->get_customer_address($id, $addressType);
|
||||
$CAid = $requestData[$letteringflag . 'customer_address_id']; // Available Address IDS in Form Fields.
|
||||
$session_uid = get_logged_user_id();
|
||||
$model = new CustomerModel();
|
||||
|
||||
// Compare Address Input Field PKIDS With Existing PKIDS
|
||||
// IF Any Missing value Means that values are Inactive here....
|
||||
if(!empty($CAid)){
|
||||
## IF Any Missing value Means that values are Inactive here....
|
||||
if(!empty($CAid)){
|
||||
$this->logger->info("Customer: Primary Addresses ID = ".implode(",",$CAid));
|
||||
$filteringAddressIds = [];
|
||||
for ($y = 0; $y < count($getAddressdetails); $y++) {
|
||||
for ($y = 0; $y < count($getAddressdetails); $y++) {
|
||||
$filteringAddressIds[$y] = $getAddressdetails[$y]['customer_address_id'];
|
||||
}
|
||||
if(!empty($filteringAddressIds)){
|
||||
if (!empty($filteringAddressIds)) {
|
||||
$A = $filteringAddressIds;
|
||||
$B = $CAid;
|
||||
$missingValues = array_diff($A,$B);
|
||||
if(!empty($missingValues)){
|
||||
$where = ['isactive'=>1,'customer_id'=>(int)$id,'address_type'=>$addressType];
|
||||
$model->inactiveMissingAddressDetails($where,$missingValues);
|
||||
$missingValues = array_diff($A, $B);
|
||||
if (!empty($missingValues)) {
|
||||
$where = ['isactive' => 1, 'customer_id' => (int)$id, 'address_type' => $addressType];
|
||||
$model->inactiveMissingAddressDetails($where, $missingValues);
|
||||
$this->logger->info("Customer: Inactived Missing Addresses Count = " . count($missingValues)." That Primary Addresses ID = ".implode(",",$CAid));
|
||||
}
|
||||
}
|
||||
}
|
||||
$session_uid = get_logged_user_id();
|
||||
|
||||
$baddress1 = $requestData[$letteringflag.'address1'];
|
||||
$baddress2 = $requestData[$letteringflag.'address2'];
|
||||
$bcountry = $requestData[$letteringflag.'country'];
|
||||
$bcity = $requestData[$letteringflag.'city'];
|
||||
$bstate = $requestData[$letteringflag.'state'];
|
||||
$bzip = $requestData[$letteringflag.'zip'];
|
||||
}
|
||||
|
||||
|
||||
$baddress1 = $requestData[$letteringflag . 'address1'];
|
||||
$baddress2 = $requestData[$letteringflag . 'address2'];
|
||||
$bcountry = $requestData[$letteringflag . 'country'];
|
||||
$bcity = $requestData[$letteringflag . 'city'];
|
||||
$bstate = $requestData[$letteringflag . 'state'];
|
||||
$bzip = $requestData[$letteringflag . 'zip'];
|
||||
$count = count($CAid);
|
||||
$address_array = [];
|
||||
if($count > 0){
|
||||
for ($x = 0; $x < $count; $x++) {
|
||||
if ($count > 0) {
|
||||
for ($x = 0; $x < $count; $x++) {
|
||||
$address_array[$x]['first_name'] = $requestData['cfname'];
|
||||
$address_array[$x]['last_name'] = $requestData['csname'];
|
||||
// $address_array[$x]['company'] = "";
|
||||
@ -173,36 +205,60 @@ class Customer extends BaseController
|
||||
$address_array[$x]['postal_code'] = $bzip[$x];
|
||||
$address_array[$x]['customer_id'] = $id;
|
||||
$address_array[$x]['address_type'] = $addressType;
|
||||
$address_array[$x]['created_by'] = $session_uid;
|
||||
$address_array[$x]['updated_by'] = $CAid[$x] ? $session_uid : null;
|
||||
$address_array[$x]['customer_address_id'] = $CAid[$x];
|
||||
}
|
||||
$statement = $model->saveAddressDetails($address_array);
|
||||
$address_array[$x]['created_by'] = $session_uid;
|
||||
$address_array[$x]['updated_by'] = $CAid[$x] ? $session_uid : null;
|
||||
$address_array[$x]['customer_address_id'] = $CAid[$x];
|
||||
}
|
||||
$statement = !empty($address_array) ? $model->saveAddressDetails($address_array) : ["No data found For addresses"];
|
||||
$this->logger->info("Customer: Address Final message = " . implode(",",$statement));
|
||||
}
|
||||
return $statement;
|
||||
} catch (\Exception $e) {
|
||||
$this->logger->error("Customer: Err Occur = ".$e->getMessage()." File = ". $e->getFile() . " Line = " . $e->getLine());
|
||||
$statement = ['Message: ' . $e->getMessage()];
|
||||
}
|
||||
return $statement;
|
||||
}
|
||||
|
||||
## For delete the customer details (Which means inactive the details)
|
||||
public function delete_customer($id)
|
||||
{
|
||||
$CustomerModel = new CustomerModel();
|
||||
|
||||
// Check if the business ID exists
|
||||
$existingCustomer = $CustomerModel->find($id);
|
||||
if (!$existingCustomer) {
|
||||
// return redirect()->to(base_url('Business/index'))->with('error', 'Business not found.');
|
||||
return redirect()->route('customer_list');
|
||||
try {
|
||||
helper('session');
|
||||
$session_uid = get_logged_user_id();
|
||||
$CustomerModel = new CustomerModel();
|
||||
$where = ['customer_id' => (int)$id, 'isactive =' => 1];
|
||||
// Check if the business ID exists
|
||||
$existingCustomer = $CustomerModel->where($where)->find($id);
|
||||
if ($existingCustomer) {
|
||||
$this->logger->Info("Customer: Going to Inactive ID = ".$id);
|
||||
$data = ['isactive' => 0 , 'updated_by' => $session_uid];
|
||||
// Delete the business record
|
||||
if ($CustomerModel->update($id, $data)) {
|
||||
$billAddressdetails = $this->get_customer_address($id, 1);
|
||||
if(!empty($billAddressdetails)){
|
||||
for ($y = 0; $y < count($billAddressdetails); $y++) {
|
||||
$billAddressIds[$y] = $billAddressdetails[$y]['customer_address_id'];
|
||||
}
|
||||
$CustomerModel->inactiveMissingAddressDetails($where, $billAddressIds);
|
||||
}
|
||||
$shipAddressdetails = $this->get_customer_address($id, 2);
|
||||
if(!empty($shipAddressdetails)){
|
||||
for ($z = 0; $z < count($shipAddressdetails); $z++) {
|
||||
$shipAddressIds[$z] = $shipAddressdetails[$z]['customer_address_id'];
|
||||
}
|
||||
$CustomerModel->inactiveMissingAddressDetails($where, $shipAddressIds);
|
||||
}
|
||||
session()->setFlashdata('success', 'Deleted successfully.');
|
||||
$this->logger->info("Customer: has been Inactived successfully. Inactived ID = " . $id);
|
||||
} else {
|
||||
$this->logger->error("Customer: Not able to Inactive ID =" . $id);
|
||||
throw new \Exception("Data Not able to Deleted");
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$this->logger->error("Customer: Err Occur = " . $e->getMessage());
|
||||
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
helper('session');
|
||||
$session_uid = get_logged_user_id();
|
||||
// Delete the business record
|
||||
$data['isactive'] = 0;
|
||||
$data['updated_by'] = $session_uid;
|
||||
$CustomerModel->update($id, $data);
|
||||
//$BusinessModel->delete($id);
|
||||
|
||||
// return redirect()->to(base_url('Business/index'))->with('success', 'Business deleted successfully.');
|
||||
return redirect()->route('customer_list');
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ class CustomerModel extends Model
|
||||
{
|
||||
protected $table = 'customers';
|
||||
protected $primaryKey = 'customer_id ';
|
||||
protected $allowedFields = ['customer_id ','first_name','city','last_name','email','mobile_no','country','state','postal_code' ,'address','profile_picture','date_of_birth','gender','mode','type','isactive','business_id'];
|
||||
protected $allowedFields = ['customer_id ','first_name','city','last_name','email','mobile_no','country','state','postal_code' ,'address','profile_picture','date_of_birth','gender','mode','type','isactive','business_id','created_by','updated_by'];
|
||||
|
||||
public function insertCustomer($data)
|
||||
{
|
||||
@ -73,15 +73,14 @@ class CustomerModel extends Model
|
||||
unset($row['created_by']); // bcoz here data Updating here.
|
||||
$this->db->table('customer_addresses')->where('customer_address_id', $id)->update($row);// Update the row with the specified id
|
||||
$affectedRows = $this->db->affectedRows();
|
||||
$statement[$i] = "address - ".$id." ".$affectedRows ? " Updated":" Not Updated";
|
||||
$statement[$i] = "address - ".$id." ". ($affectedRows ? " Updated":" Nothing to Updated");
|
||||
}else{
|
||||
|
||||
$this->db->table('customer_addresses')->insert($row);
|
||||
$insertID = $this->db->insertID();
|
||||
$statement[$i] = "address - ".$insertID." Inserted";
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
return $statement;
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ class UsersModel extends Model
|
||||
{
|
||||
protected $table = 'users';
|
||||
protected $primaryKey = 'user_id';
|
||||
protected $allowedFields = ['user_id','user_name','email','first_name','last_name','password','mobile_no','date_of_birth','address','gender','profile_picture','city','state','postal_code','country','role','isactive','business_id'];
|
||||
protected $allowedFields = ['user_id','user_name','email','first_name','last_name','password','mobile_no','date_of_birth','address','gender','profile_picture','city','state','postal_code','country','role','isactive','business_id','created_by','updated_by'];
|
||||
|
||||
public function saveData($data, $id = null)
|
||||
{
|
||||
|
||||
@ -7,6 +7,24 @@
|
||||
</div><!-- end col-->
|
||||
<br>
|
||||
<h4 class="header-title mb-3"><?= $page_name; ?></h4>
|
||||
<?php if (session()->getFlashdata('success') || session()->getFlashdata('error')) : ?>
|
||||
<?php if (session()->getFlashdata('success')) : ?>
|
||||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||||
<?= session('success') ?>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if (session()->getFlashdata('error')) : ?>
|
||||
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
||||
<?= session('error') ?>
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<div class="table-responsive">
|
||||
<table id="scroll-horizontal-datatable" class="table w-100 nowrap">
|
||||
<thead class="thead-light">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user