Sales are below agent, but admin add sales not yet select Agent

This commit is contained in:
Ibnu Maksum 2024-02-16 17:25:54 +07:00
parent e1272ec531
commit cb23ddb912
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
3 changed files with 43 additions and 12 deletions

View File

@ -72,6 +72,16 @@ function _get($param, $defvalue = '')
return safedata($_GET[$param]);
}
}
function _req($param, $defvalue = '')
{
if (!isset($_REQUEST[$param])) {
return $defvalue;
} else {
return safedata($_REQUEST[$param]);
}
}
try {
require_once File::pathFixer('system/orm.php');

View File

@ -100,23 +100,23 @@ switch ($action) {
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin', 'Agent'])) {
r2(U . "dashboard", 'e', Lang::T('You do not have permission to access this page'));
}
$username = _post('username');
if ($username != '') {
$search = _req('search');
if ($search != '') {
if ($admin['user_type'] == 'SuperAdmin') {
$paginator = Paginator::build(ORM::for_table('tbl_users'), ['username' => '%' . $username . '%'], $username);
$paginator = Paginator::build(ORM::for_table('tbl_users'), ['username' => '%' . $search . '%'], $search);
$d = ORM::for_table('tbl_users')
->where_like('username', '%' . $username . '%')
->where_like('username', '%' . $search . '%')
->offset($paginator['startpoint'])
->limit($paginator['limit'])->order_by_asc('id')->find_many();
} else if ($admin['user_type'] == 'Admin') {
$paginator = Paginator::build(ORM::for_table('tbl_users'), [
'username' => '%' . $username . '%',
'username' => '%' . $search . '%',
['user_type' => 'Report'],
['user_type' => 'Agent'],
['user_type' => 'Sales']
], $username);
], $search);
$d = ORM::for_table('tbl_users')
->where_like('username', '%' . $username . '%')
->where_like('username', '%' . $search . '%')
->where_any_is([
['user_type' => 'Report'],
['user_type' => 'Agent'],
@ -125,11 +125,13 @@ switch ($action) {
->offset($paginator['startpoint'])
->limit($paginator['limit'])->order_by_asc('id')->find_many();
} else {
$paginator = Paginator::build(ORM::for_table('tbl_users'), ['username' => '%' . $username . '%'], $username);
$paginator = Paginator::build(ORM::for_table('tbl_users'), ['username' => '%' . $search . '%'], $search);
$d = ORM::for_table('tbl_users')
->where_like('username', '%' . $username . '%')
->where('root', $admin['id'])
->where('id', $admin['id'])
->where_like('username', '%' . $search . '%')
->where_any_is([
['id' => $admin['id']],
['root' => $admin['id']]
])
->offset($paginator['startpoint'])
->limit($paginator['limit'])->order_by_asc('id')->find_many();
}
@ -154,8 +156,23 @@ switch ($action) {
->offset($paginator['startpoint'])->limit($paginator['limit'])->order_by_asc('id')->find_many();
}
}
$admins = [];
foreach ($d as $k) {
if(!empty($k['root'])){
$admins[] = $k['root'];
}
}
if(count($admins) > 0){
$adms = ORM::for_table('tbl_users')->where_in('id', $admins)->find_many();
unset($admins);
foreach($adms as $adm){
$admins[$adm['id']] = $adm['fullname'];
}
}
$ui->assign('admins', $admins);
$ui->assign('d', $d);
$ui->assign('search', $search);
$ui->assign('paginator', $paginator);
run_hook('view_list_admin'); #HOOK
$ui->display('users.tpl');

View File

@ -13,7 +13,7 @@
<div class="input-group-addon">
<span class="fa fa-search"></span>
</div>
<input type="text" name="username" class="form-control"
<input type="text" name="search" value="{$search}" class="form-control"
placeholder="Search by Username...">
<div class="input-group-btn">
<button class="btn btn-success" type="submit">{Lang::T('Search')}</button>
@ -37,6 +37,7 @@
<th>{Lang::T('Email')}</th>
<th>{Lang::T('Type')}</th>
<th>{Lang::T('Location')}</th>
<th>{Lang::T('Agent')}</th>
<th>{Lang::T('Last Login')}</th>
<th>{Lang::T('Manage')}</th>
</tr>
@ -51,6 +52,9 @@
<td>{$ds['email']}</td>
<td>{$ds['user_type']}</td>
<td>{$ds['city']}, {$ds['subdistrict']}, {$ds['ward']}</td>
<td>{if $ds['root']}
<a href="{$_url}settings/users-edit/{$ds['root']}">
{$admins[$ds['root']]}</a>{/if}</td>
<td>{Lang::dateTimeFormat($ds['last_login'])}</td>
<td>
<a href="{$_url}settings/users-edit/{$ds['id']}"