credit&packageLogics:GWM
This commit is contained in:
parent
bc9235fed2
commit
82f0b6ed81
@ -36,6 +36,9 @@ $routes->match(['get'],'/members_list','Member_controller::members_list');
|
||||
$routes->match(['get'],'/member_edit/(:any)','Member_controller::member_edit/$1');
|
||||
$routes->match(['post'],'/member_edit','Member_controller::member_edit');
|
||||
$routes->match(['get','post'],'/member_add','Member_controller::member_add');
|
||||
$routes->match(['post'],'/buy_pack','Member_controller::buy_pack');
|
||||
$routes->match(['post'],'/use_points','Member_controller::use_points');
|
||||
|
||||
|
||||
|
||||
$routes->match(['get','post'],'/admin','Admin_controller::index');
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
<?php namespace App\Controllers;
|
||||
|
||||
use App\Models\Dashboard_model;
|
||||
|
||||
use App\Models\Packages_and_pricing_model;
|
||||
use App\Models\Member_credits_model;
|
||||
|
||||
class Dashboard extends BaseController
|
||||
{
|
||||
@ -9,7 +10,8 @@ class Dashboard extends BaseController
|
||||
public function __construct()
|
||||
{
|
||||
$this->dModel = new Dashboard_model();
|
||||
|
||||
$this->PackagesModel = new Packages_and_pricing_model();
|
||||
$this->creditsModel = new Member_credits_model();
|
||||
}
|
||||
public function index()
|
||||
{
|
||||
@ -43,8 +45,11 @@ class Dashboard extends BaseController
|
||||
|
||||
$id = session()->get('logged_user');
|
||||
$data['userdata']=$this->dModel->getLoggedInMemberData($id);
|
||||
$data['packageData']=$this->PackagesModel->findAll();
|
||||
$data['creditsData']=$this->creditsModel->findAll();
|
||||
//print_r($data);die();
|
||||
//echo view('layout/header',$data);
|
||||
echo view('dashboard',$data);
|
||||
echo view('member_dashboard',$data);
|
||||
//echo view('layout/footer');
|
||||
//return view('dashboard');
|
||||
}
|
||||
|
||||
@ -4,6 +4,8 @@ namespace App\Controllers;
|
||||
use App\Models\Member_model;
|
||||
use App\Models\Dashboard_model;
|
||||
use App\Models\Common_model;
|
||||
use App\Models\Member_credits_model;
|
||||
use App\Models\Packages_and_pricing_model;
|
||||
class Member_controller extends BaseController
|
||||
{
|
||||
public $session;
|
||||
@ -14,6 +16,8 @@ class Member_controller extends BaseController
|
||||
$this->MemberModel = new Member_model();
|
||||
$this->dModel = new Dashboard_model();
|
||||
$this->cModel = new Common_model();
|
||||
$this->creditsModel = new Member_credits_model();
|
||||
$this->PackagesModel = new Packages_and_pricing_model();
|
||||
helper('form');
|
||||
}
|
||||
public function index()
|
||||
@ -175,5 +179,91 @@ class Member_controller extends BaseController
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function buy_pack()
|
||||
{
|
||||
//insert member details
|
||||
$array = $this->request->getVar();
|
||||
//print_r($array);die();
|
||||
$newArray = array();
|
||||
foreach ($array as $key => $value) {
|
||||
$newKey = substr($key, 0, -2);
|
||||
$newArray[$newKey] = $value;
|
||||
}
|
||||
//print_r($newArray);die();
|
||||
$packageData = $this->PackagesModel->where('id',$newArray['pack_id'])->find();
|
||||
//print_r($packageData);die();
|
||||
$today = date("Y-m-d");
|
||||
|
||||
$credits_data['member_id'] = $newArray['member_id'];
|
||||
$credits_data['package_name'] = $packageData[0]['package_name'];
|
||||
$credits_data['package_type'] = $packageData[0]['package_type'];
|
||||
$credits_data['credit_points'] = $packageData[0]['credit'] * $newArray['pack_count'];
|
||||
$credits_data['running_balance'] = $packageData[0]['credit'] * $newArray['pack_count'];
|
||||
$credits_data['expired_points'] = 0;
|
||||
$credits_data['expiring_date'] = date('Y-m-d', strtotime('+1 month', strtotime($today)));
|
||||
$credits_data['cost'] = $packageData[0]['cost'];
|
||||
//print_r($credits_data);die();
|
||||
$insert_data = $this->creditsModel->save($credits_data);
|
||||
if($insert_data)
|
||||
{
|
||||
echo true;
|
||||
}else{
|
||||
echo false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function use_points()
|
||||
{
|
||||
//insert member details
|
||||
$FormData = $this->request->getVar();
|
||||
|
||||
|
||||
//print_r($FormData);die();
|
||||
$needed_points = $FormData['points'];
|
||||
$creditsData = $this->creditsModel->where('member_id',$FormData['member_id'])->findAll();
|
||||
$newArray = array();
|
||||
foreach ($creditsData as $creditsDataindex => $creditsDataValue) {
|
||||
echo $needed_points;
|
||||
echo "--";
|
||||
|
||||
if($creditsDataValue['expiring_date'] > date("Y-m-d"))
|
||||
{
|
||||
if($creditsDataValue['running_balance'] != 0)
|
||||
{
|
||||
|
||||
|
||||
$needed_points = ($needed_points - $creditsDataValue['running_balance']);
|
||||
|
||||
$newArray[$creditsDataValue['running_balance']] = $needed_points;
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
print_r($newArray);die();
|
||||
|
||||
$packageData = $this->PackagesModel->where('id',$newArray['pack_id'])->find();
|
||||
|
||||
// $insert_data = $this->creditsModel->save($credits_data);
|
||||
// if($insert_data)
|
||||
// {
|
||||
// echo true;
|
||||
// }else{
|
||||
// echo false;
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------
|
||||
}
|
||||
|
||||
13
app/Models/Member_credits_model.php
Normal file
13
app/Models/Member_credits_model.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class Member_credits_model extends Model
|
||||
{
|
||||
protected $table = 'member_credits';
|
||||
protected $primaryKey = 'id';
|
||||
|
||||
protected $allowedFields = ['member_id','package_name','package_type','credit_points','running_balance', 'expired_points','expiring_date','is_active'];
|
||||
|
||||
|
||||
}
|
||||
13
app/Models/Packages_and_pricing_model.php
Normal file
13
app/Models/Packages_and_pricing_model.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class Packages_and_pricing_model extends Model
|
||||
{
|
||||
protected $table = 'packages_and_pricing';
|
||||
protected $primaryKey = 'id';
|
||||
|
||||
protected $allowedFields = ['package_name','package_type', 'credit','cost', 'is_active'];
|
||||
|
||||
|
||||
}
|
||||
99
app/Views/credits_pack_form.php
Normal file
99
app/Views/credits_pack_form.php
Normal file
@ -0,0 +1,99 @@
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box page-title-box-alt">
|
||||
<h4 class="page-title"> <?php if(isset($PackageData)){ ?> Edit <?php } else { ?> Add <?php } ?> Credit Package</h4>
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<!-- <li class="breadcrumb-item"><a href="javascript: void(0);">Minton</a></li>
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);">Forms</a></li>
|
||||
<li class="breadcrumb-item active">Advanced</li> -->
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<form role="form" class="parsley-examples" method="post"
|
||||
<?php if(isset($PackageData)){ ?>
|
||||
action="<?= base_url()."credits_pack_edit"; ?>"
|
||||
<?php } else { ?> action="<?= base_url()."credits_pack_add"; ?>" <?php } ?>
|
||||
/>
|
||||
<?php if(isset($PackageData)){ ?>
|
||||
<input type="hidden" required name="id" value="<?= $PackageData[0]['id']; ?>" >
|
||||
<?php } ?>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="inputEmail3" class="col-4 col-form-label">Package Name<span class="text-danger">*</span></label>
|
||||
<div class="col-7">
|
||||
<input type="text" required class="form-control" name="package_name" value="<?php if(isset($PackageData)){echo $PackageData[0]['package_name'];} ?>" placeholder="Package Name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="inputEmail3" class="col-4 col-form-label">Package Type<span class="text-danger">*</span></label>
|
||||
<div class="col-7">
|
||||
<input type="text" required class="form-control" name="package_type" value="<?php if(isset($PackageData)){echo $PackageData[0]['package_type'];} ?>" placeholder="Package Type">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="inputEmail3" class="col-4 col-form-label">Credit Points<span class="text-danger">*</span></label>
|
||||
<div class="col-7">
|
||||
<input type="text" required class="form-control" name="credit" value="<?php if(isset($PackageData)){echo $PackageData[0]['credit'];} ?>" placeholder="Credit Points">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="inputEmail3" class="col-4 col-form-label">Cost<span class="text-danger">*</span></label>
|
||||
<div class="col-7">
|
||||
<input type="text" required class="form-control" name="cost" value="<?php if(isset($PackageData)){echo $PackageData[0]['cost'];} ?>" placeholder="Cost">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<div class="form-group row">
|
||||
<label for="inputEmail3" class="col-4 col-form-label">City<span class="text-danger"></span></label>
|
||||
<div class="col-7">
|
||||
<select id="selectize-select" class="form-control city" name="city" id="city">
|
||||
<?php if(isset($PackageData)){ ?> <option value="<?= $PackageData[0]['city']; ?>"> <?= $PackageData[0]['city_name']; ?> </option> <?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-8 offset-4">
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1">
|
||||
<?php if(isset($PackageData)){ ?> Update <?php } else { ?> Save <?php } ?>
|
||||
</button>
|
||||
<button type="reset"
|
||||
class="btn btn-secondary waves-effect">
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div> <!-- end card-box -->
|
||||
|
||||
</div> <!-- end col-->
|
||||
</div>
|
||||
<!-- end row-->
|
||||
|
||||
|
||||
|
||||
68
app/Views/credits_pack_list.php
Normal file
68
app/Views/credits_pack_list.php
Normal file
@ -0,0 +1,68 @@
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box page-title-box-alt">
|
||||
<h4 class="page-title">Credits Package</h4>
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="<?= base_url() ?>credits_pack_add">
|
||||
<button type="button" class="btn btn-primary waves-effect waves-light">Add</button>
|
||||
</a></li>
|
||||
<!-- <li class="breadcrumb-item"><a href="javascript: void(0);">Tables</a></li>
|
||||
<li class="breadcrumb-item active">Datatables</li> -->
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<!-- <h4 class="header-title">Buttons example</h4>
|
||||
<p class="text-muted font-13 mb-4">
|
||||
|
||||
</p> -->
|
||||
|
||||
<table id="datatable-buttons" class="table table-striped dt-responsive nowrap w-100">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pack Name</th>
|
||||
<th>Pack Type</th>
|
||||
<th>Points</th>
|
||||
<th>Cost</th>
|
||||
<th>Status</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($PackageData as $row)
|
||||
{ ?>
|
||||
<tr>
|
||||
<td><?php echo $row['package_name'];?></td>
|
||||
<td><?php echo $row['package_type'];?></td>
|
||||
<td><?php echo $row['credit'];?></td>
|
||||
<td><?php echo $row['cost'];?></td>
|
||||
<td><?php if($row['is_active'] == 1){ echo "Active"; }else{ echo "In-Active"; }?></td>
|
||||
<td><a href="<?= base_url() ?>member_edit/<?php echo md5($row['id']);?>">Edit</a></td>
|
||||
|
||||
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div> <!-- end card body-->
|
||||
</div> <!-- end card -->
|
||||
</div><!-- end col-->
|
||||
</div>
|
||||
<!-- end row-->
|
||||
180
app/Views/member_dashboard.php
Normal file
180
app/Views/member_dashboard.php
Normal file
@ -0,0 +1,180 @@
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
||||
<!------ Include the above in your HEAD tag ---------->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
<script>
|
||||
$(document).on('click','.submit',function(){
|
||||
var formId = $(this).closest('form').attr('id');
|
||||
var formData = $('#' + formId).serialize(); // Serialize form data
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "<?php echo base_url(); ?>buy_pack",
|
||||
data: formData,
|
||||
json: true,
|
||||
success: function(response) {
|
||||
alert(window.location);
|
||||
|
||||
if (response == true) {
|
||||
|
||||
$("#mytable").load(window.location + " #mytable");
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, err) { alert('text status '+textStatus+', err '+err) }
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$(document).on('click','.use_points',function(){
|
||||
|
||||
var formData = $('#myform').serialize(); // Serialize form data
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "<?php echo base_url(); ?>use_points",
|
||||
data: formData,
|
||||
json: true,
|
||||
success: function(response) {
|
||||
alert(response);die();
|
||||
|
||||
if (response == true) {
|
||||
|
||||
$("#mytable").load(window.location + " #mytable");
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, err) { alert('text status '+textStatus+', err '+err) }
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<!-- jquery -->
|
||||
<style>
|
||||
table, th, td {
|
||||
border: 1px solid black;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3 ">
|
||||
<div class="list-group ">
|
||||
<a href="<?=base_url()."member_home"; ?>" class="list-group-item list-group-item-action active">Dashboard</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">My Credits</a>
|
||||
<a href="#" class="list-group-item list-group-item-action">Credit Packages</a>
|
||||
<a href="<?=base_url()."member_logout"; ?>" class="list-group-item list-group-item-action">Logout</a>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h4>My Profile</h4>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="username" class="col-4 col-form-label">Welcome , </label>
|
||||
<div class="col-8">
|
||||
<h1> <?= $userdata->name; ?> </h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row ">
|
||||
<?php foreach ($packageData as $index => $row) { ?>
|
||||
<div class="col-xs-12 col-sm-3 col-md-3 col-lg-3">
|
||||
<div class="db-wrapper">
|
||||
<div class="db-pricing-seven">
|
||||
<ul>
|
||||
<li class="price">
|
||||
<?= $row['package_type']; ?>
|
||||
</li>
|
||||
<li class="price">
|
||||
<?= $row['package_name']; ?>
|
||||
</li>
|
||||
<li class="price">
|
||||
<?= $row['credit']; ?> - <?= $row['cost']; ?> $
|
||||
</li>
|
||||
</ul>
|
||||
<div class="pricing-footer">
|
||||
<form id="form_<?php echo $index; ?>">
|
||||
<input type="hidden" value="<?= $userdata->id; ?>" name="member_id_<?php echo $index; ?>" id="<?php echo $index; ?>">
|
||||
<input type="hidden" value=" <?= $row['id']; ?>" name="pack_id_<?php echo $index; ?>" id="<?php echo $index; ?>">
|
||||
<input type="hidden" value="1" name="pack_count_<?php echo $index; ?>" id="<?php echo $index; ?>">
|
||||
<button type="button" class="btn btn-default btn-lg submit"> BUY</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<table id="mytable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pack type</th>
|
||||
<th>Pack name</th>
|
||||
<th>Credits</th>
|
||||
<th>Cost</th>
|
||||
<th>Used credits</th>
|
||||
<th>Expired credits</th>
|
||||
<th>Expiring date </th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($creditsData as $index => $row) { ?>
|
||||
<tr>
|
||||
<td><?= $row['package_type']; ?></td>
|
||||
<td><?= $row['package_name']; ?></td>
|
||||
<td><?= $row['credit_points']; ?></td>
|
||||
<td><?= $row['cost']; ?></td>
|
||||
<td><?= $row['running_balance'] - $row['credit_points']; ?></td>
|
||||
<td><?= $row['expired_points']; ?></td>
|
||||
<td><?= $row['expiring_date']; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</br>
|
||||
|
||||
<form id="myform">
|
||||
<input type="hidden" value="<?= $userdata->id; ?>" name="member_id" >
|
||||
<lable>Book slot With <lable> <input type="text " value="" name="points"> <lable>Credit points <lable>
|
||||
<button type="button" class="btn btn-default btn-lg use_points"> Use points</button>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user