diff --git a/app/Controllers/Admin_controller.php b/app/Controllers/Admin_controller.php
index 499695a..eb7ebc4 100644
--- a/app/Controllers/Admin_controller.php
+++ b/app/Controllers/Admin_controller.php
@@ -1116,114 +1116,245 @@ class Admin_controller extends BaseController
public function add_creditsModel()
{
$requet_data = $this->request->getVar();
- $temp_data = $this->PackagesModel->where('id' , $requet_data['package_name'])->find();
- $credit_pack_expiry_duration = $this->RuleModel->select('value')->where('rule_key', 1 )->get()->getRow()->value;
- $today = date("Y-m-d");
- $days = "+".$credit_pack_expiry_duration." days";
+ //print_r($requet_data);die;
+ $temp_data = $this->PackagesModel->where('id' , $requet_data['package_name'])->find();
+ $credit_pack_expiry_duration = $this->RuleModel->select('value')->where('rule_key', 1 )->get()->getRow()->value;
+ $today = date("Y-m-d");
+ $days = "+".$credit_pack_expiry_duration." days";
$count = $this->request->getVar('count');
if(isset($count))
{
+ if($requet_data['add_or_sub'] == 'sub')
+ {
+ $data['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'R';
+ }else{
+ $data['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A';
+ }
- for ($i=0; $i < $count ; $i++)
- {
- $data['order_id'] = $orderId = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A';
- $data['running_balance'] = $temp_data[0]['credit'];
- $data['updated_by'] = session()->get('logged_admin_user');
- $data['credit_points'] = $temp_data[0]['credit'];
- $data['package_name'] = $temp_data[0]['package_name'];
- $data['package_type'] = $temp_data[0]['package_type'];
- $data['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today)));
- $data['cost'] = $temp_data[0]['cost'];
- $data['member_id'] = $requet_data['member_id'];
- $data['method'] = $requet_data['method'];
- $data['remark'] = $requet_data['remarks'];
+ for ($i=0; $i < $count ; $i++)
+ {
+
+ $data['updated_by'] = session()->get('logged_admin_user');
+ $data['credit_points'] = $temp_data[0]['credit'];
+ $data['package_name'] = $temp_data[0]['package_name'];
+ $data['package_type'] = $temp_data[0]['package_type'];
+ $data['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today)));
+ $data['cost'] = $temp_data[0]['cost'];
+ $data['member_id'] = $requet_data['member_id'];
+ $data['method'] = $requet_data['method'];
+ $data['remark'] = $requet_data['remarks'];
+ if($requet_data['add_or_sub'] == 'sub')
+ {
+ $data['running_balance'] = 0;
+ $reduse_points = $this->RedusePoints($requet_data['member_id'],$temp_data[0]['credit']);
+ if($reduse_points)
+ {
$this->creditsModel->save($data);
}
+ }else{
+ $data['running_balance'] = $temp_data[0]['credit'];
+ $this->creditsModel->save($data);
+ }
+
+ }
}
else
{
- $data2 = $this->request->getVar();
- // print_r($data2); die();
- $data2['order_id'] = $orderId = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A';
- $data2['running_balance'] = $this->request->getVar('credit_points');
- $data2['remark'] = $this->request->getVar('remarks');
- $data2['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today)));
- $data2['updated_by'] = session()->get('logged_admin_user');
+ //$data2 = $this->request->getVar();
+ if($requet_data['add_or_sub'] == 'sub')
+ {
+ $data2['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'R';
+ }else{
+ $data2['order_id'] = 'EGF'.rand(10,100).rand(10,100).rand(10,100) . 'A';
+ }
+ $data2['expiring_date'] = date('Y-m-d', strtotime($days, strtotime($today)));
+ $data2['member_id'] = $requet_data['member_id'];
+ $data2['method'] = $requet_data['method'];
+ $data2['remark'] = $requet_data['remarks'];
+ $data2['credit_points'] = $requet_data['credit_points'];
+ $data2['cost'] = $requet_data['cost'];
+ $data2['package_name'] = $requet_data['package_name'];
+ $data2['updated_by'] = session()->get('logged_admin_user');
+ if($requet_data['add_or_sub'] == 'sub')
+ {
+
+ $data2['running_balance'] = 0;
+ $reduse_points = $this->RedusePoints($requet_data['member_id'],$requet_data['credit_points']);
+ if($reduse_points)
+ {
+ $this->creditsModel->save($data2);
+ }
+ }else{
+ $data2['running_balance'] = $requet_data['credit_points'];
$this->creditsModel->save($data2);
+ }
+
}
- return redirect()->to(base_url()."members_list");
+ return redirect()->to(base_url()."view_credit_details/".md5((int)$requet_data['member_id']));
}
- public function view_credit_details($member_id)
+ function RedusePoints($member_id,$needed_points)
{
+
+
+ $CreditBalanceSum = $this->creditsModel->selectSum('running_balance')
+ ->where('member_id',$member_id)
+ ->where('is_active',1)
+ ->get()->getRow()->running_balance;
+
+ if($CreditBalanceSum > $needed_points)
+ {
+
+ $creditsData = $this->creditsModel->where('member_id',$member_id)->where('is_active',1)->findAll();
+
+ foreach ($creditsData as $creditsDataindex => $creditsDataValue) {
+
+ if($creditsDataValue['expiring_date'] > date("Y-m-d"))
+ {
+ $temp_needed_points = $needed_points;
+ if($creditsDataValue['running_balance'] != 0 && $needed_points > 0)
+ {
+ $needed_points = ($needed_points - $creditsDataValue['running_balance']);
+ if($needed_points < 0 ){
+
+ $running_balance = $creditsDataValue['running_balance'] - $temp_needed_points;
+ $this->update_credit_package_data($creditsDataValue['id'] , array( 'running_balance'=>$running_balance , 'used_points'=> $creditsDataValue['used_points'] + $creditsDataValue['running_balance'] - $running_balance));
+
+ }else { $running_balance = 0;
+
+ $this->update_credit_package_data($creditsDataValue['id'] , array( 'running_balance'=>$running_balance , 'used_points'=> $creditsDataValue['used_points'] + $creditsDataValue['running_balance'] - $running_balance));
+
+ }
+
+ }else{
+ }
+ }else{
+ }
+ }
+
+ return true;
+
+ }else{
+ return false;
+ }
+ }
+
+ function update_credit_package_data($id , $array)
+ {
+ $this->creditsModel->where('id', $id )->set($array)->update();
+ }
+
+
+public function view_credit_details($member_id)
+ {
+ $userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_admin_user'));
$fname = $this->MemberModel->select('name')->where('md5(id)', $member_id )->get()->getRow()->name;
$lname = $this->MemberModel->select('last_name')->where('md5(id)', $member_id )->get()->getRow()->last_name;
$id = $this->MemberModel->select('id')->where('md5(id)', $member_id )->get()->getRow()->id;
$creditsData = $this->creditsModel->where('md5(member_id)',$member_id)->orderBy('id' , 'ASC')->findAll();
+ $data['id'] = $id;
+ $data['fname'] = $fname;
+ $data['lname'] = $lname;
$data['credit_data'] = [];
$data['avaiable_credit'] = 0;
- $data['country'] = $this->CountryModel->findAll();
+
foreach ($creditsData as $creditsDataindex => $creditsDataValue)
{
- if($creditsDataValue['is_active'] == 1)
+ if($creditsDataValue['running_balance'] + $creditsDataValue['used_points'] == 0)
{
- $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance'];
+ $data['avaiable_credit'] = $data['avaiable_credit'] - $creditsDataValue['credit_points'];
$creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
array_push($data['credit_data'] , $creditsDataValue);
}
else
{
- $data['avaiable_credit'] = $data['avaiable_credit'];
- $creditsDataValue['avaiable_credit'] = 0;
+ $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['credit_points'];
+ $creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
array_push($data['credit_data'] , $creditsDataValue);
}
}
-
- $output = '
Member Name : '.$fname.' '.$lname.'
-
- | Order Id |
- Order Date |
- Expiry Date |
- Credit Transactions |
- Credit Balance |
- Action |
- ';
- for( $i = count($data['credit_data']) - 1; $i >= 0 ; $i--) {
- $date = new DateTime($data['credit_data'][$i]['created_at']);
- $expirydate = new DateTime($data['credit_data'][$i]['expiring_date']);
- if($data['credit_data'][$i]['running_balance'] > 0)
- {$balance = "+ ".$data['credit_data'][$i]['running_balance'];}else{$balance = "- ".$data['credit_data'][$i]['used_points'];}
- // if($data['credit_data'][$i]['is_active'] == 0) $balance = 0;
- if($data['credit_data'][$i]['is_active'] == 1)
- $output .='
- | '.$data['credit_data'][$i]['order_id'].' |
- '.$date->format('M d , Y').' |
- '.$expirydate->format('M d , Y').' |
- '.$balance.' |
- '.$data['credit_data'][$i]['avaiable_credit'].' |
- |
';
- else
- $output .='
- | '.$data['credit_data'][$i]['order_id'].' |
- '.$date->format('M d , Y').' |
- '.$expirydate->format('M d , Y').' |
- '.$balance.' |
- '.$data['credit_data'][$i]['avaiable_credit'].
- ' |
-
- |
';
- }
- echo $output .= '
';
-
+ // echo '';
+ // print_r($data);
+ // echo '
';die;
+ echo view('layout/header',$userdata);
+ echo view('credit_points_list.php',$data);
+ echo view('layout/footer');
}
+ // public function view_credit_details($member_id)
+ // {
+
+ // $fname = $this->MemberModel->select('name')->where('md5(id)', $member_id )->get()->getRow()->name;
+ // $lname = $this->MemberModel->select('last_name')->where('md5(id)', $member_id )->get()->getRow()->last_name;
+ // $id = $this->MemberModel->select('id')->where('md5(id)', $member_id )->get()->getRow()->id;
+ // $creditsData = $this->creditsModel->where('md5(member_id)',$member_id)->orderBy('id' , 'ASC')->findAll();
+ // $data['credit_data'] = [];
+ // $data['avaiable_credit'] = 0;
+ // $data['country'] = $this->CountryModel->findAll();
+ // foreach ($creditsData as $creditsDataindex => $creditsDataValue)
+ // {
+ // if($creditsDataValue['is_active'] == 1)
+ // {
+ // $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance'];
+ // $creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
+ // array_push($data['credit_data'] , $creditsDataValue);
+ // }
+ // else
+ // {
+ // $data['avaiable_credit'] = $data['avaiable_credit'];
+ // $creditsDataValue['avaiable_credit'] = 0;
+ // array_push($data['credit_data'] , $creditsDataValue);
+ // }
+ // }
+
+ // // echo view('layout/header',$userdata);
+ // // echo view('credit_points_list.php');
+ // // echo view('layout/footer');
+
+ // $output = 'Member Name : '.$fname.' '.$lname.'
+ //
+ // | Order Id |
+ // Order Date |
+ // Expiry Date |
+ // Credit Transactions |
+ // Credit Balance |
+ // Action |
+ // ';
+ // for( $i = count($data['credit_data']) - 1; $i >= 0 ; $i--) {
+ // $date = new DateTime($data['credit_data'][$i]['created_at']);
+ // $expirydate = new DateTime($data['credit_data'][$i]['expiring_date']);
+ // if($data['credit_data'][$i]['running_balance'] > 0)
+ // {$balance = "+ ".$data['credit_data'][$i]['running_balance'];}else{$balance = "- ".$data['credit_data'][$i]['used_points'];}
+ // // if($data['credit_data'][$i]['is_active'] == 0) $balance = 0;
+ // if($data['credit_data'][$i]['is_active'] == 1)
+ // $output .='
+ // | '.$data['credit_data'][$i]['order_id'].' |
+ // '.$date->format('M d , Y').' |
+ // '.$expirydate->format('M d , Y').' |
+ // '.$balance.' |
+ // '.$data['credit_data'][$i]['avaiable_credit'].' |
+ // |
';
+ // else
+ // $output .='
+ // | '.$data['credit_data'][$i]['order_id'].' |
+ // '.$date->format('M d , Y').' |
+ // '.$expirydate->format('M d , Y').' |
+ // '.$balance.' |
+ // '.$data['credit_data'][$i]['avaiable_credit'].
+ // ' |
+
+ // |
';
+ // }
+ // echo $output .= '
';
+
+ // }
// public function add_to_cart_package()
diff --git a/app/Controllers/Member_controller.php b/app/Controllers/Member_controller.php
index 3548c4c..0d90f12 100644
--- a/app/Controllers/Member_controller.php
+++ b/app/Controllers/Member_controller.php
@@ -325,7 +325,6 @@ class Member_controller extends BaseController
public function members_list()
-
{
$id = session()->get('logged_admin_user');
$userdata['userdata']=$this->dModel->getLoggedInUserData($id);
@@ -1232,11 +1231,18 @@ class Member_controller extends BaseController
- $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['running_balance'];
-
- $creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
-
- array_push($data['credit_data'] , $creditsDataValue);
+ if($creditsDataValue['running_balance'] + $creditsDataValue['used_points'] == 0)
+ {
+ $data['avaiable_credit'] = $data['avaiable_credit'] - $creditsDataValue['credit_points'];
+ $creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
+ array_push($data['credit_data'] , $creditsDataValue);
+ }
+ else
+ {
+ $data['avaiable_credit'] = $data['avaiable_credit'] + $creditsDataValue['credit_points'];
+ $creditsDataValue['avaiable_credit'] = $data['avaiable_credit'];
+ array_push($data['credit_data'] , $creditsDataValue);
+ }
diff --git a/app/Views/credit_points_list.php b/app/Views/credit_points_list.php
new file mode 100644
index 0000000..1a8b114
--- /dev/null
+++ b/app/Views/credit_points_list.php
@@ -0,0 +1,358 @@
+
+
+ ">
+
+
+
+
Member Name :
+
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/Views/member_form.php b/app/Views/member_form.php
index c9a0bf8..0311e7d 100644
--- a/app/Views/member_form.php
+++ b/app/Views/member_form.php
@@ -59,9 +59,16 @@
+
+
diff --git a/app/Views/memberaccess.php b/app/Views/memberaccess.php
index ee84194..a8da4f1 100644
--- a/app/Views/memberaccess.php
+++ b/app/Views/memberaccess.php
@@ -132,10 +132,10 @@
?>
0)
- echo ' '.$credit_data[$i]['running_balance'].' | ';
+ if($credit_data[$i]['running_balance'] + $credit_data[$i]['used_points'] == 0)
+ echo ' '.$credit_data[$i]['credit_points'].' | ';
else
- echo ''.$credit_data[$i]['used_points'].' | ';
+ echo ''.$credit_data[$i]['credit_points'].' | ';
?>
= $credit_data[$i]['avaiable_credit'] ?> |
diff --git a/app/Views/members_list.php b/app/Views/members_list.php
index c05e284..e3e7c7a 100644
--- a/app/Views/members_list.php
+++ b/app/Views/members_list.php
@@ -53,10 +53,6 @@ text-align: center;