539 lines
26 KiB
PHP
539 lines
26 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Models\CustomerModel;
|
|
use App\Models\SubscriptionModel;
|
|
|
|
class Customer extends BaseController
|
|
{
|
|
|
|
## For Customer Listing
|
|
public function index()
|
|
{
|
|
helper('session');
|
|
if (is_session_active()) {
|
|
$session_role = get_user_role();
|
|
$session_bid = get_business_id();
|
|
if (!empty($session_role) && $session_role !== "sadmin") {
|
|
$this->logger->info("Doner: Listing In admin role . BID = ".$session_bid);
|
|
$where = ['isactive' => 1, 'business_id' => (int)$session_bid];
|
|
} else {
|
|
$this->logger->info("Doner: Listing In Super-admin role .");
|
|
$where = ['isactive != ' => NULL];
|
|
}
|
|
$CustomerModel = new CustomerModel();
|
|
|
|
$data['page_name'] = 'Doner Details';
|
|
$data['customer'] = $CustomerModel->where($where)->orderBy('doner_id', 'DESC')->findAll();
|
|
|
|
// print_r($data); die();
|
|
|
|
$this->render_page('customer_list', $data);
|
|
} else {
|
|
return redirect()->to('login');
|
|
}
|
|
}
|
|
|
|
## To Load Doner Form (Add/Update)
|
|
public function new_doner($id)
|
|
{
|
|
helper('session');
|
|
$session_bid = get_business_id();
|
|
|
|
if ($id === '0') {
|
|
// Add Doner
|
|
$data['page_name'] = 'Add Doner Details';
|
|
$data['customer'] = [];
|
|
|
|
} else if ($id !== '0') {
|
|
// Edit Doner
|
|
$data['page_name'] = 'Edit Doner Details';
|
|
|
|
// Load your Customer Model
|
|
$customerModel = new CustomerModel();
|
|
|
|
// Retrieve customer details by customer ID
|
|
$edit_user_details = $customerModel->where(['doner_id' => $id])->first();
|
|
$data['customer'] = $edit_user_details;
|
|
}
|
|
|
|
$data['session_bid'] = $session_bid;
|
|
$data['country_details'] = $this->get_country_details();
|
|
$data['state_details'] = $this->get_state_details();
|
|
|
|
// echo '<pre>';
|
|
// print_r($data); die;
|
|
|
|
$this->render_page('customer_form', $data);
|
|
}
|
|
|
|
|
|
## For inserting/updating details of customer
|
|
public function insert_customer()
|
|
{
|
|
$requestData = $this->request->getPost();
|
|
// print_r($requestData);die;
|
|
$this->logger->info("Doner: 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();
|
|
$dob = $this->request->getPost('dob');
|
|
$dob = (isset($dob) && $dob != "") ? $dob : NULL ;
|
|
$data = [
|
|
'first_name' => $this->request->getPost('cfname'),
|
|
'last_name' => $this->request->getPost('csname'),
|
|
'mobile_no' => $this->request->getPost('cmobile'),
|
|
'email' => $this->request->getPost('cmail'),
|
|
'date_of_birth' => $dob,
|
|
'pan_no' => $this->request->getPost('pan_no'),
|
|
'doner_type' => $this->request->getPost('donerType'),
|
|
'org_name' => $this->request->getPost('org_name') !== '' || $this->request->getPost('org_name') !== null ? $this->request->getPost('org_name') : NULL,
|
|
'address' => $this->request->getPost('address'),
|
|
'city' => $this->request->getPost('city'),
|
|
'state' => $this->request->getPost('state') ? $this->request->getPost('state') : $this->request->getPost('state_text'),
|
|
'postal_code' => $this->request->getPost('zip'),
|
|
'country' => $this->request->getPost('country'),
|
|
'business_id' => $this->request->getPost('business_id'),
|
|
|
|
];
|
|
|
|
// print_r($data); die();
|
|
|
|
$doner_id = $this->request->getPost('doner_id'); // Get the business ID for update
|
|
if (empty($doner_id)) {
|
|
|
|
// It's an insert operation
|
|
$data['isactive'] = 1;
|
|
$data['created_by'] = $session_uid;
|
|
if ($model->insert($data)) {
|
|
session()->setFlashdata('success', 'Doner successfully created.');
|
|
$this->logger->info("Doner : has been added successfully. Inserted ID = " . $model->insertID());
|
|
$doner_id_for_addresses = $model->insertID();// for Doner ADDRESS Table
|
|
} else {
|
|
session()->setFlashdata('error', 'Doner could not be added. Please try again..');
|
|
$this->logger->error("Doner: Err could not be added. Please try again.");
|
|
$doner_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;
|
|
$doner_id_for_addresses = $doner_id; // for Customer ADDRESS Table
|
|
if ($model->update($doner_id, $data)) {
|
|
session()->setFlashdata('success', 'Doner successfully updated');
|
|
$this->logger->info("Doner: has been updated successfully. Updated Doner ID = " . $doner_id_for_addresses);
|
|
} else {
|
|
session()->setFlashdata('error', 'Doner updation failed. Please try again.');
|
|
$this->logger->error("Doner: Err Failed to update ID =" . $doner_id_for_addresses);
|
|
}
|
|
}
|
|
|
|
// if($doner_id_for_addresses != ""){
|
|
// $this->logger->info("Doner: i got Doner id for addresses = " . $doner_id_for_addresses);
|
|
// $requestData = $this->request->getPost();
|
|
// $bill_addr = $this->save_customer_addresses($doner_id_for_addresses, $requestData, 'b');
|
|
// $this->logger->info("Customer: bill addr final message = " .implode(" ",$bill_addr));
|
|
// $ship_addr = $this->save_customer_addresses($doner_id_for_addresses, $requestData, 's');
|
|
// $this->logger->info("Doner: Ship addr final message = " . implode(" ",$ship_addr));
|
|
// }
|
|
|
|
} catch (\Exception $e) {
|
|
$this->logger->error("Doner : Err Occur =" . $e->getMessage());
|
|
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
|
}
|
|
return redirect()->route('doner_list');
|
|
}
|
|
|
|
## 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("Doner: Addresses Lettering Flag = " . $letteringflag . " Doner 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();
|
|
|
|
// ## IF Any Missing value Means that values are Inactive here....
|
|
// if(!empty($CAid)){
|
|
// $this->logger->info("Doner: Primary Addresses ID = ".implode(",",$CAid));
|
|
// $filteringAddressIds = [];
|
|
// for ($y = 0; $y < count($getAddressdetails); $y++) {
|
|
// $filteringAddressIds[$y] = $getAddressdetails[$y]['customer_address_id'];
|
|
// }
|
|
// if (!empty($filteringAddressIds)) {
|
|
// $A = $filteringAddressIds;
|
|
// $B = $CAid;
|
|
// $missingValues = array_diff($A, $B);
|
|
// if (!empty($missingValues)) {
|
|
// $where = ['isactive' => 1, 'doner_id' => (int)$id, 'address_type' => $addressType];
|
|
// $model->inactiveMissingAddressDetails($where, $missingValues);
|
|
// $this->logger->info("Doner: Inactived Missing Addresses Count = " . count($missingValues)." That Primary Addresses ID = ".implode(",",$CAid));
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
// $baddress1 = $requestData[$letteringflag . 'address1'];
|
|
// $baddress2 = $requestData[$letteringflag . 'address2'];
|
|
// $bcountry = $requestData[$letteringflag . 'country'];
|
|
// $bcity = $requestData[$letteringflag . 'city'];
|
|
// $binputstate = $requestData[$letteringflag . 'istate'];
|
|
// $bdropdownstate = $requestData[$letteringflag . 'dstate'];
|
|
// $bzip = $requestData[$letteringflag . 'zip'];
|
|
// $count = count($CAid);
|
|
// $address_array = [];
|
|
// 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'] = "";
|
|
// $address_array[$x]['email'] = $requestData['cmail'];
|
|
// $address_array[$x]['mobile_no'] = $requestData['cmobile'];
|
|
// $address_array[$x]['address_1'] = $baddress1[$x];
|
|
// $address_array[$x]['address_2'] = $baddress2[$x];
|
|
// $address_array[$x]['city'] = $bcity[$x];
|
|
// $address_array[$x]['state'] = $bcountry[$x] === 'IN' ? $bdropdownstate[$x] : $binputstate[$x] ;
|
|
// $address_array[$x]['country'] = $bcountry[$x];
|
|
// $address_array[$x]['postal_code'] = $bzip[$x];
|
|
// $address_array[$x]['doner_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 = !empty($address_array) ? $model->saveAddressDetails($address_array) : ["No data found For addresses"];
|
|
// $this->logger->info("Doner: Address Final message = " . implode(",",$statement));
|
|
// }
|
|
// } catch (\Exception $e) {
|
|
// $this->logger->error("Doner: 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)
|
|
{
|
|
try {
|
|
helper('session');
|
|
$session_uid = get_logged_user_id();
|
|
$CustomerModel = new CustomerModel();
|
|
$where = ['doner_id' => (int)$id, 'isactive =' => 1];
|
|
// Check if the business ID exists
|
|
$existingCustomer = $CustomerModel->where($where)->find($id);
|
|
if ($existingCustomer) {
|
|
$this->logger->Info("Doner: 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', 'Doner successfully deleted.');
|
|
$this->logger->info("Doner: has been Inactived successfully. Inactived ID = " . $id);
|
|
} else {
|
|
$this->logger->error("Doner: 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());
|
|
}
|
|
return redirect()->route('doner_list');
|
|
}
|
|
|
|
public function get_customer_address($id,$type){
|
|
$model = new CustomerModel();
|
|
$model->setTable('customer_addresses');
|
|
$where = ['isactive' => 1, 'doner_id' => (int)$id,'address_type'=>(int)$type];
|
|
$address_details = $model->where($where)->findAll();
|
|
return $address_details;
|
|
}
|
|
|
|
public function get_country_details()
|
|
{
|
|
$model = new CustomerModel();
|
|
$model->setTable('countries');
|
|
$country_details = $model->orderBy('country_id', 'ASC')->findAll();
|
|
return $country_details;
|
|
}
|
|
|
|
public function get_state_details()
|
|
{
|
|
$model = new CustomerModel();
|
|
$model->setTable('states');
|
|
$state_details = $model->orderBy('state_id', 'ASC')->findAll();
|
|
return $state_details;
|
|
}
|
|
|
|
public function customer_group(){
|
|
$data['page_name'] = 'Doner Group Details';
|
|
$model = new CustomerModel();
|
|
$data['customer_group'] = $model->getGroupDetails();
|
|
$this->render_page('customer_group', $data);
|
|
}
|
|
public function view_customer_group($id){
|
|
helper('session');
|
|
$session_bid = get_business_id();
|
|
|
|
$data['field'] = [
|
|
['value'=>'','fieldflag'=>1,'text'=> 'Choose the Field','disable' => false],
|
|
['value'=>'C.type','fieldflag'=>1,'text'=> 'Type','disable' => false],
|
|
['value'=>'CA.city','fieldflag'=>1,'text'=> 'City','disable' => false],
|
|
// ['value'=>'CA.state','fieldflag'=>1,'text'=> 'State','disable' => false],
|
|
['value'=>'CA.postal_code','fieldflag'=>1,'text'=> 'Postal Code','disable' => false],
|
|
['value'=>'C.mode','fieldflag'=>3,'text'=> 'Mode','disable' => false],
|
|
['value'=>'CM.name','fieldflag'=>1,'text'=> 'Category','disable' => false],
|
|
['value'=>'I.invoice_date','fieldflag'=>2,'text'=> 'Invoice Date','disable' => false],
|
|
['value'=>'S.to_subscription','fieldflag'=>2,'text'=> 'Expiry Date','disable' => false]];
|
|
|
|
$data['operator'] = [
|
|
'' => 'Choose the operator',
|
|
'equal' => 'Equal to (=)',
|
|
'not equal' => 'Not Equal (!=)',
|
|
'like' => 'Like (%)',
|
|
'greater than' => 'Greater than (>)',
|
|
'greater than or equal to' => 'Greater than or Equal to (>=)',
|
|
'less than' => 'Less than (<)',
|
|
'less than or equal to' => 'Less than or Equal to (<=)',
|
|
'contain' => 'Contain (in)',
|
|
'not contain' => 'Not Contain (not in)',
|
|
'between' => 'Between',
|
|
'is null' => 'Is NULL',
|
|
'is not null' => 'Is Not NULL',
|
|
];
|
|
$data['customer_group'] = [];
|
|
if ($id === '0') {
|
|
// Add Customer
|
|
$data['page_name'] = 'Add Doner Group';
|
|
} else if ($id !== '0') {
|
|
// Edit Customer
|
|
$data['page_name'] = 'Edit Doner Group';
|
|
|
|
// Load your Customer Model
|
|
$model = new CustomerModel();
|
|
$model->setTable('customer_groups');
|
|
$where = ['group_id'=>$id];
|
|
$result = $model->where($where)->findAll();
|
|
|
|
if (!empty($result)) {
|
|
$data['customer_group']['groupname'] = $result[0]['group_name'];
|
|
$data['customer_group']['column'] = $result[0]['column'] ? unserialize($result[0]['column']) : [];
|
|
$data['customer_group']['operator'] = $result[0]['operator'] ? unserialize($result[0]['operator']) : [];
|
|
$data['customer_group']['values'] = $result[0]['value'] ? unserialize($result[0]['value']) : [];
|
|
$data['customer_group']['group_id'] = $result[0]['group_id'];
|
|
$data['customer_group']['isactive'] = $result[0]['isactive'];
|
|
}
|
|
}
|
|
$this->render_page('customer_group_form', $data);
|
|
}
|
|
public function preview_customer_group($id){
|
|
try {
|
|
helper('session');
|
|
$model = new CustomerModel();
|
|
$model->setTable('customer_groups');
|
|
$where = ['isactive' => 1,'group_id'=>$id];
|
|
$result = $model->where($where)->findAll();
|
|
$db = \Config\Database::connect();
|
|
$sql = (string)$result[0]['group_query'];
|
|
//print_r($sql);die;
|
|
if($sql){
|
|
$query = $db->query($sql);
|
|
$results = $query->getResultArray();
|
|
if(empty($results)){
|
|
throw new \Exception("Data Not Available");
|
|
}else{
|
|
return $this->response->setJSON($results);
|
|
}
|
|
}else{
|
|
return $this->response->setJSON([]);
|
|
}
|
|
|
|
} catch (\Exception $e) {
|
|
$this->logger->error("Doner Group: Err Occur = ".$e->getMessage()." File = ". $e->getFile() . " Line = " . $e->getLine());
|
|
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
|
}
|
|
}
|
|
public function delete_customer_group($id){
|
|
try {
|
|
helper('session');
|
|
$session_uid = get_logged_user_id();
|
|
$model = new CustomerModel();
|
|
$model->setTable('customer_groups');
|
|
$where = ['isactive' => 1,'group_id'=>(int)$id];
|
|
$result = $model->where($where)->findAll();
|
|
if ($result) {
|
|
$this->logger->Info("Doner Group: Going to Inactive ID = ".$id);
|
|
$data = ['isactive' => 0 , 'updated_by' => $session_uid,'group_id'=>(int)$id];
|
|
$statement = $model->saveGroupDetails($data);// just updating Inactive status only.
|
|
if ($statement['success']) {
|
|
session()->setFlashdata('success', $statement['success'] ? 'Deleted successfully.' : "" );
|
|
$this->logger->info($statement['log']);
|
|
} else if ($statement['error']) {
|
|
session()->setFlashdata('error', $statement['error']);
|
|
$this->logger->error($statement['log']);
|
|
}else{
|
|
throw new \Exception("Doner Group: Err Occur on data the Doner Group Inactive");
|
|
}
|
|
}
|
|
} catch (\Exception $e) {
|
|
$this->logger->error("Doner Group: Err Occur = ".$e->getMessage()." File = ". $e->getFile() . " Line = " . $e->getLine());
|
|
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
|
}
|
|
return redirect()->route('customer_group');
|
|
|
|
}
|
|
public function insert_customer_group(){
|
|
|
|
try {
|
|
$this->logger->info("Doner Group: Inserting/Updating Details");
|
|
helper('session');
|
|
$session_uid = get_logged_user_id();
|
|
$request_data = $this->request->getPost();
|
|
$string_flag = $request_data['string_flag'];
|
|
// $this->logger->info("Customer Group: Request data = ".json_encode($request_data));
|
|
|
|
$model = new CustomerModel();
|
|
// Array ( [groupname] => nil [column] => Array ( [0] => city [1] => state ) [operator] => Array ( [0] => not contain [1] => not equal ) [values] => Array ( [0] => 2 [1] => 3 ) )
|
|
$data = [
|
|
'group_name' => $request_data['groupname'],
|
|
'column' => serialize($request_data['column']),
|
|
'operator' => serialize($request_data['operator']),
|
|
'value' => serialize($request_data['values'])
|
|
];
|
|
// Initialize an empty array to store the conditions
|
|
$conditions = array();
|
|
|
|
// Loop through the elements and build the conditions
|
|
for ($i = 0; $i < count($request_data['column']); $i++) {
|
|
$column = $request_data['column'][$i];
|
|
$operator = $request_data['operator'][$i];
|
|
$value = $request_data['values'][$i];
|
|
// Handle different operators and build corresponding conditions
|
|
switch ($operator) {
|
|
case 'equal':
|
|
$conditionStrings[] = "LOWER($column) = LOWER('$value') ";
|
|
break;
|
|
case 'not equal':
|
|
$conditionStrings[] = "LOWER($column) <> LOWER('$value') ";
|
|
break;
|
|
case 'like':
|
|
$conditionStrings[] = "LOWER($column) LIKE '%$value%'";
|
|
break;
|
|
case 'contain':
|
|
case 'in':
|
|
$values = explode(',', $value);
|
|
$conditionStrings[] = "LOWER($column) IN ('" . implode("', '", $values) . "')";
|
|
break;
|
|
case 'not contain':
|
|
case 'not in':
|
|
$values = explode(',', $value);
|
|
$conditionStrings[] = "LOWER($column) NOT IN ('" . implode("', '", $values) . "')";
|
|
break;
|
|
case 'between':
|
|
$dates = explode(',', $value);
|
|
$conditionStrings[] = "$column BETWEEN '$dates[0]' AND '$dates[1]'";
|
|
break;
|
|
case 'greater than':
|
|
$conditionStrings[] = "$column > $value";
|
|
break;
|
|
case 'greater than or equal to':
|
|
$conditionStrings[] = "$column >= $value";
|
|
break;
|
|
case 'less than':
|
|
$conditionStrings[] = "$column < $value";
|
|
break;
|
|
case 'less than or equal to':
|
|
$conditionStrings[] = "$column <= $value";
|
|
break;
|
|
case 'is null':
|
|
$conditionStrings[] = "$column IS NULL";
|
|
break;
|
|
case 'is not null':
|
|
$conditionStrings[] = "$column IS NOT NULL";
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Join the conditions with 'AND'
|
|
$whereCondition = implode(' AND ', $conditionStrings);
|
|
// echo "*************** whereCondition =>>> ";
|
|
// echo $whereCondition;
|
|
// If a groupname is specified, include it in the condition
|
|
// if ($conditionsArray['groupname'] !== 'nil') {
|
|
// $whereCondition = "($whereCondition) AND groupname = '{$conditionsArray['groupname']}'";
|
|
// }
|
|
|
|
// Now you can use $whereCondition in your SQL query
|
|
$db = \Config\Database::connect();
|
|
// $sql = "SELECT doner_id,CONCAT(first_name,'',last_name) as customer_name,email,mobile_no FROM customers WHERE ".$whereCondition;
|
|
$sql = "SELECT CA.city,CA.state,I.invoice_date,C.doner_id,CONCAT(C.first_name,'',C.last_name) as customer_name,C.email,C.mobile_no ,S.to_subscription as due_date, C.isactive ,count(I.invoice_id) as invoice_count_raised_by_customer, S.scheme_id , CM.name
|
|
FROM customers as C
|
|
LEFT JOIN invoice I on I.doner_id = C.doner_id and I.isactive = 1
|
|
LEFT JOIN customer_addresses CA on CA.doner_id = C.doner_id and CA.address_type = 1 and CA.isactive = 1
|
|
LEFT JOIN subscription S on S.doner_id = C.doner_id
|
|
LEFT JOIN book_categories BC on BC.book_id = S.scheme_id
|
|
LEFT JOIN category CM on CM.id = BC.category_id
|
|
WHERE C.isactive = 1 AND ".$whereCondition." GROUP BY C.doner_id";
|
|
$this->logger->info("Customer Group: SQL = ".$sql);
|
|
// Execute the query
|
|
$query = $db->query($sql);
|
|
|
|
// Get the result
|
|
$results = $query->getResult();
|
|
$this->logger->info("Customer Group: ".json_encode($results));
|
|
$group_id = $request_data['group_id']; // Get the ID for update
|
|
$isactive = $group_id != "" ? $request_data['isactive'] : 'on';
|
|
if($string_flag == "save"){
|
|
$data['group_query'] = $sql;
|
|
$data['group_id'] = $group_id;
|
|
$data['isactive'] = (($isactive == 'on') ? 1 : 0);
|
|
$data['created_by'] = $session_uid;
|
|
$data['updated_by'] = $session_uid;
|
|
$statement = $model->saveGroupDetails($data);
|
|
if ($statement['success']) {
|
|
session()->setFlashdata('success', $statement['success']);
|
|
$this->logger->info($statement['log']);
|
|
|
|
} else if ($statement['error']) {
|
|
session()->setFlashdata('error', $statement['error']);
|
|
$this->logger->error($statement['log']);
|
|
}else{
|
|
throw new \Exception("Doner Group: Err Occur on data the Save");
|
|
}
|
|
|
|
}else if($string_flag == "preview"){
|
|
return $this->response->setJSON($results);
|
|
}else{
|
|
throw new \Exception("Data Not Found");
|
|
}
|
|
} catch (\Exception $e) {
|
|
$this->logger->error("Doner Group: Err Occur = ".$e->getMessage()." File = ". $e->getFile() . " Line = " . $e->getLine());
|
|
session()->setFlashdata('error', 'Message: ' . $e->getMessage());
|
|
}
|
|
return redirect()->route('customer_group');
|
|
}
|
|
|
|
}
|