From fded62b39d421bada6fc10c8665d2d28c66de577 Mon Sep 17 00:00:00 2001 From: Focuslinkstech <45756999+Focuslinkstech@users.noreply.github.com> Date: Fri, 17 May 2024 10:59:41 +0100 Subject: [PATCH] Update Add plan details to gateway --- system/autoload/Package.php | 7 ++ system/controllers/order.php | 19 +++- system/controllers/services.php | 186 -------------------------------- ui/ui/app-settings.tpl | 12 +-- ui/ui/user-selectGateway.tpl | 59 +++++++++- 5 files changed, 82 insertions(+), 201 deletions(-) diff --git a/system/autoload/Package.php b/system/autoload/Package.php index 1cf8b903..41827e1f 100644 --- a/system/autoload/Package.php +++ b/system/autoload/Package.php @@ -820,4 +820,11 @@ class Package $ui->assign('whatsapp', urlencode("```$invoice```")); $ui->assign('in', $in); } + public static function tax($price, $tax_rate = 1) + { + // Convert tax rate to decimal + $tax_rate_decimal = $tax_rate / 100; + $tax = $price * $tax_rate_decimal; + return $tax; + } } diff --git a/system/controllers/order.php b/system/controllers/order.php index 4aa29efb..61f730c7 100644 --- a/system/controllers/order.php +++ b/system/controllers/order.php @@ -131,7 +131,7 @@ switch ($action) { $router = Mikrotik::info($trx['routers']); $plan = ORM::for_table('tbl_plans')->find_one($trx['plan_id']); $bandw = ORM::for_table('tbl_bandwidth')->find_one($plan['id_bw']); - $invoice = ORM::for_table('tbl_transactions')->where("invoice",$trx['trx_invoice'])->find_one(); + $invoice = ORM::for_table('tbl_transactions')->where("invoice", $trx['trx_invoice'])->find_one(); $ui->assign('invoice', $invoice); $ui->assign('trx', $trx); $ui->assign('router', $router); @@ -280,6 +280,16 @@ switch ($action) { if (strpos($user['email'], '@') === false) { r2(U . 'accounts/profile', 'e', Lang::T("Please enter your email address")); } + $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; + $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : null; + $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : null; + if ($tax_rate_setting === 'custom') { + $tax_rate = $custom_tax_rate; + } else { + $tax_rate = $tax_rate_setting; + } + $plan = ORM::for_table('tbl_plans')->find_one($routes['3']); + $tax = Package::tax($plan['price'], $tax_rate); $pgs = array_values(explode(',', $config['payment_gateway'])); if (count($pgs) == 0) { sendTelegram("Payment Gateway not set, please set it in Settings"); @@ -288,11 +298,12 @@ switch ($action) { } if (count($pgs) > 1) { $ui->assign('pgs', $pgs); - //$ui->assign('pgs', $pgs); + if ($tax_enable === 'yes') { + $ui->assign('tax', $tax); + } $ui->assign('route2', $routes[2]); $ui->assign('route3', $routes[3]); - - //$ui->assign('plan', $plan); + $ui->assign('plan', $plan); $ui->display('user-selectGateway.tpl'); break; } else { diff --git a/system/controllers/services.php b/system/controllers/services.php index dadfb0cf..a0f85ec2 100644 --- a/system/controllers/services.php +++ b/system/controllers/services.php @@ -244,37 +244,6 @@ switch ($action) { $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; $radiusRate = $b['rate_up'] . $radup . '/' . $b['rate_down'] . $raddown . '/' . $b['burst']; $rate = trim($rate . " " . $b['burst']); - - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } - // Create new plan $d = ORM::for_table('tbl_plans')->create(); $d->name_plan = $name; @@ -391,37 +360,6 @@ switch ($action) { Mikrotik::setHotspotExpiredPlan($client, 'EXPIRED NUXBILL ' . $pool_expired, $pool_expired); } } - - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } - $d->name_plan = $name; $d->id_bw = $id_bw; $d->price = $price_with_tax; // Set price with or without tax based on configuration @@ -578,38 +516,6 @@ switch ($action) { $rate = $b['rate_up'] . $unitup . "/" . $b['rate_down'] . $unitdown; $radiusRate = $b['rate_up'] . $radup . '/' . $b['rate_down'] . $raddown . '/' . $b['burst']; $rate = trim($rate . " " . $b['burst']); - - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } - - $d = ORM::for_table('tbl_plans')->create(); $d->type = 'PPPOE'; $d->name_plan = $name; @@ -712,37 +618,6 @@ switch ($action) { Mikrotik::setPpoePlan($client, 'EXPIRED NUXBILL ' . $pool_expired, $pool_expired, '512K/512K'); } } - - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } - $d->name_plan = $name; $d->id_bw = $id_bw; $d->price = $price_with_tax; @@ -822,35 +697,6 @@ switch ($action) { } run_hook('edit_ppoe'); #HOOK if ($msg == '') { - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } $d->name_plan = $name; $d->price = $price_with_tax; $d->enabled = $enabled; @@ -881,38 +727,6 @@ switch ($action) { } run_hook('add_ppoe'); #HOOK if ($msg == '') { - - // Check if tax is enabled in config - $tax_enable = isset($config['enable_tax']) ? $config['enable_tax'] : 'no'; - - // Default tax rate - $default_tax_rate = 0.01; // Default tax rate 1% - - // Check if tax rate is set to custom in config - $tax_rate_setting = isset($config['tax_rate']) ? $config['tax_rate'] : $default_tax_rate; - - // Check if tax rate is custom - if ($tax_rate_setting === 'custom') { - // Check if custom tax rate is set in config - $custom_tax_rate = isset($config['custom_tax_rate']) ? (float)$config['custom_tax_rate'] : $default_tax_rate; - // Convert custom tax rate to decimal - $custom_tax_rate_decimal = $custom_tax_rate / 100; - $tax_rate = $custom_tax_rate_decimal; - } else { - // Use tax rate - $tax_rate = $tax_rate_setting; - } - - - // Calculate the new price with tax if tax is enabled - if ($tax_enable === 'yes') { - $price_with_tax = $price + ($price * $tax_rate); - } else { - // If tax is not enabled, use the original price - $price_with_tax = $price; - } - - $d = ORM::for_table('tbl_plans')->create(); $d->type = 'Balance'; $d->name_plan = $name; diff --git a/ui/ui/app-settings.tpl b/ui/ui/app-settings.tpl index c47db57e..a83c1609 100644 --- a/ui/ui/app-settings.tpl +++ b/ui/ui/app-settings.tpl @@ -631,22 +631,22 @@ <label class="col-md-2 control-label">{Lang::T('Tax Rate')}</label> <div class="col-md-6"> <select name="tax_rate" id="tax_rate" class="form-control"> - <option value="0.005" {if $_c['tax_rate']=='0.005' }selected="selected" {/if}> + <option value="0.5" {if $_c['tax_rate']=='0.5' }selected="selected" {/if}> {Lang::T('0.5%')} </option> - <option value="0.01" {if $_c['tax_rate']=='0.01' }selected="selected" {/if}> + <option value="1" {if $_c['tax_rate']=='1' }selected="selected" {/if}> {Lang::T('1%')} </option> - <option value="0.015" {if $_c['tax_rate']=='0.015' }selected="selected" {/if}> + <option value="1.5" {if $_c['tax_rate']=='1.5' }selected="selected" {/if}> {Lang::T('1.5%')} </option> - <option value="0.02" {if $_c['tax_rate']=='0.02' }selected="selected" {/if}> + <option value="0.20" {if $_c['tax_rate']=='2' }selected="selected" {/if}> {Lang::T('2%')} </option> - <option value="0.05" {if $_c['tax_rate']=='0.05' }selected="selected" {/if}> + <option value="0.50" {if $_c['tax_rate']=='5' }selected="selected" {/if}> {Lang::T('5%')} </option> - <option value="0.1" {if $_c['tax_rate']=='0.1' }selected="selected" {/if}> + <option value="10" {if $_c['tax_rate']=='10' }selected="selected" {/if}> {Lang::T('10%')} </option> <!-- Custom tax rate option --> diff --git a/ui/ui/user-selectGateway.tpl b/ui/ui/user-selectGateway.tpl index 4a86462f..ff40df8c 100644 --- a/ui/ui/user-selectGateway.tpl +++ b/ui/ui/user-selectGateway.tpl @@ -11,15 +11,64 @@ <div class="col-md-8"> <select name="gateway" id="gateway" class="form-control"> {foreach $pgs as $pg} - <option value="{$pg}"> - {ucwords($pg)}</option> + <option value="{$pg}"> + {ucwords($pg)}</option> {/foreach} </select> </div> - <div class="col-md-2"> - <button type="submit" class="btn btn-block btn-primary">{Lang::T('Pay Now')}</button> - </div> </div> + </div> + <div class="panel-body"> + <center><b>{Lang::T('Package Details')}</b></center> + <ul class="list-group list-group-unbordered"> + <li class="list-group-item"> + <b>{Lang::T('Plan Name')}</b> <span class="pull-right">{$plan['name_plan']}</span> + </li> + {if $plan['is_radius'] or $plan['routers']} + <li class="list-group-item"> + <b>{Lang::T('Location')}</b> <span class="pull-right">{if + $plan['is_radius']}Radius{else}{$plan['routers']}{/if}</span> + </li> + {/if} + <li class="list-group-item"> + <b>{Lang::T('Type')}</b> <span class="pull-right">{if $plan['prepaid'] eq + 'yes'}Prepaid{else}Postpaid{/if} + {$plan['type']}</span> + </li> + <li class="list-group-item"> + <b>{Lang::T('Plan Price')}</b> <span class="pull-right">{if $using eq + 'zero'}{Lang::moneyFormat(0)}{else}{Lang::moneyFormat($plan['price'])}{/if}</span> + </li> + {if $plan['validity']} + <li class="list-group-item"> + <b>{Lang::T('Plan Validity')}</b> <span class="pull-right">{$plan['validity']} + {$plan['validity_unit']}</span> + </li> + {/if} + </ul> + <center><b>{Lang::T('Summary')}</b></center> + <ul class="list-group list-group-unbordered"> + {if $tax} + <li class="list-group-item"> + <b>{Lang::T('Tax')}</b> <span + class="pull-right">{Lang::moneyFormat($tax)}</span> + </li> + <li class="list-group-item"> + <b>{Lang::T('Total')}</b> <small>({Lang::T('Plan Price')} + {Lang::T('Tax')})</small><span class="pull-right" + style="font-size: large; font-weight:bolder; font-family: 'Courier New', Courier, monospace; ">{Lang::moneyFormat($plan['price']+$tax)}</span> + </li> + {else} + <li class="list-group-item"> + <b>{Lang::T('Total')}</b> <span class="pull-right" + style="font-size: large; font-weight:bolder; font-family: 'Courier New', Courier, monospace; "> + {Lang::moneyFormat($plan['price'])}</span> + </li> + {/if} + </ul> + <center> + <button type="submit" class="btn btn-primary">{Lang::T('Pay Now')}</button><br> + <a class="btn btn-link" href="{$_url}home">{Lang::T('Cancel')}</a> + </center> </form> </div> </div>