feat: add invoice listing page with DataTables integration and update routing

This commit is contained in:
Focuslinkstech 2025-04-08 18:59:15 +01:00
parent 24b713804a
commit f0b9b56bb0
3 changed files with 225 additions and 218 deletions

View File

@ -7,20 +7,20 @@
**/
_auth();
$ui->assign('_title', Lang::T('Invoices'));
$ui->assign('_system_menu', 'Reports');
_admin();
$ui->assign('_title', Lang::T('Invoice Lists'));
$ui->assign('_system_menu', 'reports');
$action = $routes['1'];
$user = User::_info();
$ui->assign('_user', $user);
$ui->assign('_admin', $admin);
if (empty($action)) {
$action = 'list';
}
switch ($action) {
case 'list':
$ui->assign('xheader', '<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">');
$ui->assign('invoices', Invoice::getAll());
$ui->display('admin/invoice/list.tpl');
$ui->display('admin/invoices/list.tpl');
break;
default:
$ui->display('admin/404.tpl');

View File

@ -78,8 +78,8 @@
<ul class="dropdown-menu">
<li class="user-header">
<img src="{$app_url}/{$UPLOAD_PATH}{$_admin['photo']}.thumb.jpg"
onerror="this.src='{$app_url}/{$UPLOAD_PATH}/admin.default.png'" class="img-circle"
alt="Avatar">
onerror="this.src='{$app_url}/{$UPLOAD_PATH}/admin.default.png'"
class="img-circle" alt="Avatar">
<p>
{$_admin['fullname']}
<small>{Lang::T($_admin['user_type'])}</small>
@ -174,7 +174,8 @@
href="{Text::url('services/hotspot')}">Hotspot</a></li>
<li {if $_routes[1] eq 'pppoe' }class="active" {/if}><a
href="{Text::url('services/pppoe')}">PPPOE</a></li>
<li {if $_routes[1] eq 'vpn' }class="active" {/if}><a href="{Text::url('services/vpn')}">VPN</a>
<li {if $_routes[1] eq 'vpn' }class="active" {/if}><a
href="{Text::url('services/vpn')}">VPN</a>
</li>
<li {if $_routes[1] eq 'list' }class="active" {/if}><a
href="{Text::url('bandwidth/list')}">Bandwidth</a></li>
@ -216,6 +217,8 @@
href="{Text::url('reports')}">{Lang::T('Daily Reports')}</a></li>
<li {if $_routes[1] eq 'activation' }class="active" {/if}><a
href="{Text::url('reports/activation')}">{Lang::T('Activation History')}</a></li>
{* <li {if $_routes[0] eq 'invoices' }class="active" {/if}><a
href="{Text::url('invoices')}">{Lang::T('Invoices')}</a></li> *}
{$_MENU_REPORTS}
</ul>
</li>
@ -286,16 +289,19 @@
<li {if $_routes[1] eq 'Announcement' }class="active" {/if}><a
href="{Text::url('pages/Announcement')}">{Lang::T('Announcement')}</a></li>
<li {if $_routes[1] eq 'Announcement_Customer' }class="active" {/if}><a
href="{Text::url('pages/Announcement_Customer')}">{Lang::T('Customer Announcement')}</a>
href="{Text::url('pages/Announcement_Customer')}">{Lang::T('Customer
Announcement')}</a>
</li>
<li {if $_routes[1] eq 'Registration_Info' }class="active" {/if}><a
href="{Text::url('pages/Registration_Info')}">{Lang::T('Registration Info')}</a></li>
href="{Text::url('pages/Registration_Info')}">{Lang::T('Registration Info')}</a>
</li>
<li {if $_routes[1] eq 'Payment_Info' }class="active" {/if}><a
href="{Text::url('pages/Payment_Info')}">{Lang::T('Payment Info')}</a></li>
<li {if $_routes[1] eq 'Privacy_Policy' }class="active" {/if}><a
href="{Text::url('pages/Privacy_Policy')}">{Lang::T('Privacy Policy')}</a></li>
<li {if $_routes[1] eq 'Terms_and_Conditions' }class="active" {/if}><a
href="{Text::url('pages/Terms_and_Conditions')}">{Lang::T('Terms and Conditions')}</a></li>
href="{Text::url('pages/Terms_and_Conditions')}">{Lang::T('Terms and
Conditions')}</a></li>
{$_MENU_PAGES}
</ul>
</li>
@ -374,7 +380,8 @@
{$_MENU_AFTER_LOGS}
{if in_array($_admin['user_type'],['SuperAdmin','Admin'])}
<li {if $_routes[1] eq 'docs' }class="active" {/if}>
<a href="{if $_c['docs_clicked'] != 'yes'}{Text::url('settings/docs')}{else}{$app_url}/docs{/if}">
<a
href="{if $_c['docs_clicked'] != 'yes'}{Text::url('settings/docs')}{else}{$app_url}/docs{/if}">
<i class="ion ion-ios-bookmarks"></i>
<span class="text">{Lang::T('Documentation')}</span>
{if $_c['docs_clicked'] != 'yes'}

View File

@ -35,7 +35,7 @@
<span class="label label-warning">{Lang::T('Pending')}</span>
{/if}
</td>
<td>{$invoice->created_date}</td>
<td>{$invoice->created_at}</td>
<td>{$invoice->due_date}</td>
<td>
<a href="{$app_url}/system/uploads/invoices/{$invoice->filename}" class="btn btn-primary btn-xs">{Lang::T('View')}</a>