fix pagination Voucher

This commit is contained in:
Ibnu Maksum 2024-04-23 11:51:34 +07:00
parent 18bdf185d6
commit 8dc7707b3a
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
6 changed files with 132 additions and 131 deletions

View File

@ -2,6 +2,15 @@
# CHANGELOG # CHANGELOG
## 2024.4.23
- Fix Pagination Voucher
- Fix Languange Translation
- Fix Alert Confirmation for requesting Extend
- Send Telegram Notification when Customer request to extend expiration
- prepaid users export list by @freeispradius
- fix show voucher by @agstrxyz
## 2024.4.21 ## 2024.4.21
- Restore old cron - Restore old cron

View File

@ -132,7 +132,7 @@ switch ($action) {
$using = _post('using'); $using = _post('using');
$stoken = _post('stoken'); $stoken = _post('stoken');
if(!empty(App::getTokenValue($stoken))){ if (!empty(App::getTokenValue($stoken))) {
$username = App::getTokenValue($stoken); $username = App::getTokenValue($stoken);
$in = ORM::for_table('tbl_transactions')->where('username', $username)->order_by_desc('id')->find_one(); $in = ORM::for_table('tbl_transactions')->where('username', $username)->order_by_desc('id')->find_one();
Package::createInvoice($in); Package::createInvoice($in);
@ -325,18 +325,13 @@ switch ($action) {
case 'voucher': case 'voucher':
$ui->assign('_title', Lang::T('Vouchers')); $ui->assign('_title', Lang::T('Vouchers'));
$limit = 10;
$page = _get('p', 0);
$pageNow = $page * $limit;
$search = _req('search'); $search = _req('search');
if ($search != '') { if ($search != '') {
if (in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) { if (in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {
$d = ORM::for_table('tbl_plans')->where('enabled', '1') $query = ORM::for_table('tbl_plans')->where('enabled', '1')
->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan')) ->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan'))
->where_like('tbl_voucher.code', '%' . $search . '%') ->where_like('tbl_voucher.code', '%' . $search . '%');
->offset($pageNow) $d = Paginator::findMany($query, ["search" => $search]);
->limit($limit)
->findArray();
} else if ($admin['user_type'] == 'Agent') { } else if ($admin['user_type'] == 'Agent') {
$sales = []; $sales = [];
$sls = ORM::for_table('tbl_users')->select('id')->where('root', $admin['id'])->findArray(); $sls = ORM::for_table('tbl_users')->select('id')->where('root', $admin['id'])->findArray();
@ -344,21 +339,17 @@ switch ($action) {
$sales[] = $s['id']; $sales[] = $s['id'];
} }
$sales[] = $admin['id']; $sales[] = $admin['id'];
$d = ORM::for_table('tbl_plans') $query = ORM::for_table('tbl_plans')
->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan')) ->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan'))
->where_in('generated_by', $sales) ->where_in('generated_by', $sales)
->where_like('tbl_voucher.code', '%' . $search . '%') ->where_like('tbl_voucher.code', '%' . $search . '%');
->offset($pageNow) $d = Paginator::findMany($query, ["search" => $search]);
->limit($limit)
->findArray();
} }
} else { } else {
if (in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) { if (in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {
$d = ORM::for_table('tbl_plans')->where('enabled', '1') $query = ORM::for_table('tbl_plans')->where('enabled', '1')
->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan')) ->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan'));
->offset($pageNow) $d = Paginator::findMany($query);
->limit($limit)
->findArray();
} else if ($admin['user_type'] == 'Agent') { } else if ($admin['user_type'] == 'Agent') {
$sales = []; $sales = [];
$sls = ORM::for_table('tbl_users')->select('id')->where('root', $admin['id'])->findArray(); $sls = ORM::for_table('tbl_users')->select('id')->where('root', $admin['id'])->findArray();
@ -366,12 +357,10 @@ switch ($action) {
$sales[] = $s['id']; $sales[] = $s['id'];
} }
$sales[] = $admin['id']; $sales[] = $admin['id'];
$d = ORM::for_table('tbl_plans') $query = ORM::for_table('tbl_plans')
->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan')) ->join('tbl_voucher', array('tbl_plans.id', '=', 'tbl_voucher.id_plan'))
->where_in('generated_by', $sales) ->where_in('generated_by', $sales);
->offset($pageNow) $d = Paginator::findMany($query);
->limit($limit)
->findArray();
} }
} }
// extract admin // extract admin
@ -581,6 +570,7 @@ switch ($action) {
} else if ($voucher_format == 'rand') { } else if ($voucher_format == 'rand') {
$code = Lang::randomUpLowCase($code); $code = Lang::randomUpLowCase($code);
} }
die($code);
$d = ORM::for_table('tbl_voucher')->create(); $d = ORM::for_table('tbl_voucher')->create();
$d->type = $type; $d->type = $type;
$d->routers = $server; $d->routers = $server;
@ -743,15 +733,15 @@ switch ($action) {
$id = $routes[2]; $id = $routes[2];
$days = $routes[3]; $days = $routes[3];
$stoken = $_GET['stoken']; $stoken = $_GET['stoken'];
if(App::getTokenValue($stoken)){ if (App::getTokenValue($stoken)) {
r2(U . 'plan', 's', "Extend already done"); r2(U . 'plan', 's', "Extend already done");
} }
$tur = ORM::for_table('tbl_user_recharges')->find_one($id); $tur = ORM::for_table('tbl_user_recharges')->find_one($id);
$status = $tur['status']; $status = $tur['status'];
if(strtotime($tur['expiration'].' '.$tur['time']) > time()){ if (strtotime($tur['expiration'] . ' ' . $tur['time']) > time()) {
// not expired // not expired
$expiration = date('Y-m-d', strtotime($tur['expiration']." +$days day")); $expiration = date('Y-m-d', strtotime($tur['expiration'] . " +$days day"));
}else{ } else {
//expired //expired
$expiration = date('Y-m-d', strtotime(" +$days day")); $expiration = date('Y-m-d', strtotime(" +$days day"));
} }
@ -759,7 +749,7 @@ switch ($action) {
$tur->status = "on"; $tur->status = "on";
$tur->save(); $tur->save();
App::setToken($stoken, $id); App::setToken($stoken, $id);
if($status=='off'){ if ($status == 'off') {
if ($tur['routers'] != 'radius') { if ($tur['routers'] != 'radius') {
$mikrotik = Mikrotik::info($tur['routers']); $mikrotik = Mikrotik::info($tur['routers']);
$client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']);

View File

@ -75,7 +75,7 @@
{/if} {/if}
{if $ds['status']=='off' && $_c['extend_expired']} {if $ds['status']=='off' && $_c['extend_expired']}
<a href="javascript:extend('{$ds['id']}')" <a href="javascript:extend('{$ds['id']}')"
class="btn btn-info btn-xs">{Lang::T('extend')}</a> class="btn btn-info btn-xs">{Lang::T('Extend')}</a>
{/if} {/if}
</td> </td>
</tr> </tr>

View File

@ -21,26 +21,29 @@
<div class="input-group-addon"> <div class="input-group-addon">
<span class="fa fa-search"></span> <span class="fa fa-search"></span>
</div> </div>
<input type="text" name="search" class="form-control" placeholder="{Lang::T('Search by Code Voucher')}..." value="{$search}"> <input type="text" name="search" class="form-control"
placeholder="{Lang::T('Search by Code Voucher')}..." value="{$search}">
<div class="input-group-btn"> <div class="input-group-btn">
<button class="btn btn-success" type="submit">{Lang::T('Search')}</button> <button class="btn btn-success" type="submit">{Lang::T('Search')}</button>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="btn-group btn-group-justified" role="group"> <div class="btn-group btn-group-justified" role="group">
<div class="btn-group" role="group"> <div class="btn-group" role="group">
<a href="{$_url}plan/add-voucher" class="btn btn-primary btn-block"><i class="ion ion-android-add"></i> {Lang::T('Add Vouchers')}</a> <a href="{$_url}plan/add-voucher" class="btn btn-primary btn-block"><i
class="ion ion-android-add"></i> {Lang::T('Add Vouchers')}</a>
</div> </div>
</div> </div>
<div class="btn-group btn-group-justified" role="group"> <div class="btn-group btn-group-justified" role="group">
<div class="btn-group" role="group"> <div class="btn-group" role="group">
<a href="{$_url}plan/print-voucher" target="print_voucher" class="btn btn-info btn-block"><i class="ion ion-android-print"></i> Print</a> <a href="{$_url}plan/print-voucher" target="print_voucher"
class="btn btn-info btn-block"><i class="ion ion-android-print"></i> Print</a>
</div> </div>
</div> </div>
</div>&nbsp; </div>&nbsp;
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
<table id="datatable" class="table table-bordered table-striped table-condensed"> <table id="datatable" class="table table-bordered table-striped table-condensed">
@ -82,8 +85,7 @@
</td> </td>
<td> <td>
{if $ds['status'] neq '1'} {if $ds['status'] neq '1'}
<a href="{$_url}plan/voucher-view/{$ds['id']}" id="{$ds['id']}" <a href="{$_url}plan/voucher-view/{$ds['id']}" id="{$ds['id']}" style="margin: 0px;"
style="margin: 0px;"
class="btn btn-success btn-xs">&nbsp;&nbsp;{Lang::T('View')}&nbsp;&nbsp;</a> class="btn btn-success btn-xs">&nbsp;&nbsp;{Lang::T('View')}&nbsp;&nbsp;</a>
{/if} {/if}
{if in_array($_admin['user_type'],['SuperAdmin','Admin'])} {if in_array($_admin['user_type'],['SuperAdmin','Admin'])}

View File

@ -1,3 +1,3 @@
{ {
"version": "2024.4.21" "version": "2024.4.23"
} }