This commit is contained in:
mahdahar 2025-11-17 15:50:30 +07:00
parent c1a4c7bfbe
commit fdde6591e4
5 changed files with 93 additions and 138 deletions

View File

@ -61,7 +61,7 @@ class Filters extends BaseFilters
'after' => [ 'after' => [
'pagecache', // Web Page Caching 'pagecache', // Web Page Caching
'performance', // Performance Metrics 'performance', // Performance Metrics
'toolbar', // Debug Toolbar //'toolbar', // Debug Toolbar
], ],
]; ];
@ -77,7 +77,7 @@ class Filters extends BaseFilters
public array $globals = [ public array $globals = [
'before' => [ 'before' => [
// 'honeypot', // 'honeypot',
'csrf', // 'csrf',
// 'invalidchars', // 'invalidchars',
], ],
'after' => [ 'after' => [

View File

@ -1,6 +1,8 @@
<?php <?php
namespace App\Controllers; namespace App\Controllers;
use CodeIgniter\Validation\CreditCardRules;
class Admin extends BaseController class Admin extends BaseController
{ {
public function index() public function index()
@ -18,6 +20,7 @@ class Admin extends BaseController
// === Variabel counter === // === Variabel counter ===
$CPending = 0; $CPColl = 0; $CColl = 0; $CPRecv = 0; $CPending = 0; $CPColl = 0; $CColl = 0; $CPRecv = 0;
$CRecv = 0; $CInc = 0; $CPenV = 0; $CFin = 0; $CFinV = 0; $CRecv = 0; $CInc = 0; $CPenV = 0; $CFin = 0; $CFinV = 0;
$CTotal = 0;
$dataList = []; $dataList = [];
@ -49,7 +52,7 @@ class Admin extends BaseController
case 'FinV': $statscode = 9; $CFinV++; break; case 'FinV': $statscode = 9; $CFinV++; break;
default: $statscode = 0; break; default: $statscode = 0; break;
} }
$CTotal++;
// Simpan ke array // Simpan ke array
$dataList[] = [ $dataList[] = [
'statscode' => $statscode, 'statscode' => $statscode,
@ -75,6 +78,12 @@ class Admin extends BaseController
// === Total counter === // === Total counter ===
$counter = [ $counter = [
'pending' => $CPending, 'pending' => $CPending,
'collect' => $CPColl+$CColl,
'recv' => $CPRecv+$CRecv,
'incomplete' => $CInc+$CPenV,
'complete' => $CFin+$CFinV,
'total' => $CTotal,
/*
'partialCollected' => $CPColl, 'partialCollected' => $CPColl,
'collected' => $CColl, 'collected' => $CColl,
'partialReceived' => $CPRecv, 'partialReceived' => $CPRecv,
@ -83,6 +92,7 @@ class Admin extends BaseController
'pendingValidation' => $CPenV, 'pendingValidation' => $CPenV,
'final' => $CFin, 'final' => $CFin,
'finalValidation' => $CFinV, 'finalValidation' => $CFinV,
*/
]; ];
$data['dataList'] = $dataList; $data['dataList'] = $dataList;

View File

@ -15,7 +15,9 @@ class User extends BaseController
public function index() public function index()
{ {
// $db = \Config\Database::connect(); // $db = \Config\Database::connect();
$sql = "SELECT USERID, USERLEVEL from GDC_CMOD.dbo.USERS"; $sql = "select u.USERID, u.USERLEVEL from GDC_CMOD.dbo.USERS u
left join glendb.dbo.USERS u1 on u1.USERID=u.USERID
where u1.LOCKEDACCOUNT is null";
$query = $this->db->query($sql); $query = $this->db->query($sql);
$results = $query->getResultArray(); $results = $query->getResultArray();
$data['data'] = $results; $data['data'] = $results;

View File

@ -24,32 +24,42 @@
</div> </div>
<div class="row"> <div class="row">
<form method="GET" action='<?= base_url('/admin') ?>'> <div class='col'>
<div class="row align-items-center g-3"> <form method="GET" action='<?= base_url('/admin') ?>'>
<div class="col-auto fw-semibold text-muted"> <div class="row align-items-center g-1">
Date : <div class="col-auto fw-semibold text-muted">
Date :
</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date1"
value="<?php echo $date1; ?>" />
</div>
<div class="col-auto">-</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date2"
value="<?php echo $date2; ?>" />
</div>
<div class="col-auto">
<button type="submit" class="btn btn-sm btn-primary">Search</button>
</div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-outline-dark" onclick="window.location.href='<?=base_url();?>';"> RESET </button> </div>
</div> </div>
</form>
<div class="col-auto"> </div>
<input type="date" class="form-control form-control-sm" name="date1" <div id="filterGroup" class="col text-end">
value="<?php echo $date1; ?>" /> <button class='btn btn-sm btn-outline-secondary' data-type='secondary'><?=$counter['pending'];?> <small>Pending</small></button>
</div> <button class='btn btn-sm btn-outline-info' data-type='info'><?=$counter['collect'];?> <small>Collect</small></button>
<button class='btn btn-sm btn-outline-primary' data-type='primary'><?=$counter['recv'];?> <small>Receive</small></button>
<div class="col-auto">-</div> <button class='btn btn-sm btn-outline-warning' data-type='warning'><?=$counter['incomplete'];?> <small>Incomplete</small></button>
<button class='btn btn-sm btn-outline-success' data-type='success'><?=$counter['complete'];?> <small>Complete</small></button>
<div class="col-auto"> <button class='btn btn-sm btn-dark' data-type='dark'><?=$counter['total'];?> <small>Total</small></button>
<input type="date" class="form-control form-control-sm" name="date2" </div>
value="<?php echo $date2; ?>" /> </div>
</div>
<div class="col-auto">
<button type="submit" class="btn btn-sm btn-primary">Search</button>
</div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-outline-dark" onclick="window.location.href='<?=base_url();?>';"> RESET </button> </div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-dark" data-bs-toggle="offcanvas" data-bs-target="#offcanvasFilter" aria-controls="offcanvasFilter"> Adv.Filter </button> </div>
</div>
</form>
<div class="table table-responsive-scroll"> <div class="table table-responsive-scroll">
<table id="datatables" class="table table-sm table-hover table-bordered align-middle table-striped"> <table id="datatables" class="table table-sm table-hover table-bordered align-middle table-striped">
@ -87,66 +97,25 @@
} }
?> ?>
<tr> <tr>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" <td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['statscode']) ?> </td>
data-bs-target="#detailModal"> <td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['reqdate']) ?> </td>
<?= esc($row['statscode']) ?> <td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['patname']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['sp_accessnumber']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['hostordernumber']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['reff']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['doc']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['tests']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['odr_cresult_to']) ?> </td>
<td> <h6> <span class="px-3 py-2 badge text-success border border-success bg-success-subtle"> _ </span> </h6>
<a href="#" class="text-primary">Result</a><br> <a href="#" class="text-primary" disabled>Invalidation</a><br>
</td> </td>
<td class="pointercol <?= esc($class) ?>" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['stats']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" <td>
data-bs-target="#detailModal"> <a href="#" class="text-primary">Preview</a> <br/>
<?= esc($row['reqdate']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['patname']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['sp_accessnumber']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['hostordernumber']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['reff']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['doc']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['tests']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['odr_cresult_to']) ?>
</td>
<td>
<h6>
<span class="px-3 py-2 badge text-success border border-success bg-success-subtle">
_
</span>
</h6>
<a href="#" class="text-primary">Result</a><br>
<a href="#" class="text-primary" disabled>Invalidation</a><br>
</td>
<td class="pointercol <?= esc($class) ?>" data-access="<?= $row['sp_accessnumber'] ?>"
data-bs-toggle="modal" data-bs-target="#detailModal">
<?= esc($row['stats']) ?>
</td>
<td>
<a href="#" class="text-primary">Preview</a> <br/>
<a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a> <br/> <a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a> <br/>
<a href="#" class="text-primary">Pdf</a> <a href="#" class="text-primary">Pdf</a>
</td> </td>
<td> <td> <input type="checkbox" name="printed"> Printed<br> <input type="checkbox" name="hardcopy"> Hardcopy </td>
<input type="checkbox" name="printed"> Printed<br>
<input type="checkbox" name="hardcopy"> Hardcopy
</td>
</tr> </tr>
<?php endforeach; ?> <?php endforeach; ?>
</tbody> </tbody>
@ -168,17 +137,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- OffCanvas Filter -->
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasFilter" aria-labelledby="offcanvasFilterLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Advanced Filter</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
orang dalam
</div>
</div>
</div> </div>
@ -187,9 +145,8 @@
<?= $this->section('script') ?> <?= $this->section('script') ?>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$('#datatables').DataTable({ table = $('#datatables').DataTable({
layout: { layout: {
topStart: 'info',
topEnd: 'search', topEnd: 'search',
bottomStart: null, bottomEnd: null bottomStart: null, bottomEnd: null
}, },
@ -206,18 +163,31 @@
targets: [12] targets: [12]
} }
], ],
language: {
// search: "Cari:",
// lengthMenu: "Tampilkan _MENU_ data",
// info: "Menampilkan _START_ sampai _END_ dari _TOTAL_ data",
// paginate: {
// previous: "Sebelumnya",
// next: "Berikutnya"
// }
},
responsive: true, responsive: true,
}); });
$('#filterGroup .btn').on('click', function () {
$('#filterGroup .btn').each(function () {
const type = $(this).data('type');
$(this).removeClass(`btn-${type}`).addClass(`btn-outline-${type}`);
});
const type = $(this).data('type');
$(this).removeClass(`btn-outline-${type}`).addClass(`btn-${type}`);
let vals;
if(type=='secondary') { vals = [0]; }
if(type=='info') { vals = ['1','2']; }
if(type=='primary') { vals = ['3','4','5']; }
if(type=='warning') { vals = [6,7]; }
if(type=='success') { vals = [8]; }
if(type=='dark') {vals=[];}
regex = vals.join('|');
table.column(0).search(regex, true, false).draw();
});
}); });
// Untuk Koment Value // Untuk Koment Value
function commentValue() { function commentValue() {
const input = prompt("Masukkan Komentar :"); const input = prompt("Masukkan Komentar :");

View File

@ -42,36 +42,16 @@
<!-- Untuk User Level --> <!-- Untuk User Level -->
<?php if ($row['USERLEVEL'] == 1) : ?> <?php if ($row['USERLEVEL'] == 1) : ?>
<td> <td> <button type="button" class="btn btn-light btn-sm position-relative"> 👨🏻‍💻 Admin </button> </td>
<button type="button" class="btn btn-light btn-sm position-relative">
👨🏻‍💻 Admin
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-success border border-light rounded-circle"></span>
</button>
</td>
<td><span class="badge text-bg-success"><?= $row['USERLEVEL'] ?></span></td> <td><span class="badge text-bg-success"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 2) : ?> <?php elseif ($row['USERLEVEL'] == 2) : ?>
<td> <td> <button type="button" class="btn btn-light btn-sm position-relative"> 🩺 Doctor </button> </td>
<button type="button" class="btn btn-light btn-sm position-relative">
🩺 Doctor
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-primary border border-light rounded-circle"></span>
</button>
</td>
<td><span class="badge text-bg-primary"><?= $row['USERLEVEL'] ?></span></td> <td><span class="badge text-bg-primary"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 3) : ?> <?php elseif ($row['USERLEVEL'] == 3) : ?>
<td> <td> <button type="button" class="btn btn-light btn-sm position-relative"> 👩🏻‍🏭 Analyst </button> </td>
<button type="button" class="btn btn-light btn-sm position-relative">
👩🏻‍🏭 Analyst
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-info border border-light rounded-circle"></span>
</button>
</td>
<td><span class="badge text-bg-info"><?= $row['USERLEVEL'] ?></span></td> <td><span class="badge text-bg-info"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 4) : ?> <?php elseif ($row['USERLEVEL'] == 4) : ?>
<td> <td> <button type="button" class="btn btn-light btn-sm position-relative"> 👩‍💼 Customer Service </button> </td>
<button type="button" class="btn btn-light btn-sm position-relative">
👩‍💼 Customer Service
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-warning border border-light rounded-circle"></span>
</button>
</td>
<td><span class="badge text-bg-warning"><?= $row['USERLEVEL'] ?></span></td> <td><span class="badge text-bg-warning"><?= $row['USERLEVEL'] ?></span></td>
<?php endif; ?> <?php endif; ?>
@ -84,13 +64,6 @@
Edit Edit
</button> </button>
</div> </div>
<div class="col-8">
<form method="POST" action="<?= base_url('admin/user/delete') ?>" onsubmit="return confirm('Yakin ingin menghapus user <?= esc($row['USERID']) ?>?')">
<?= csrf_field() ?>
<input type="hidden" name="userid" value="<?= esc($row['USERID']) ?>">
<button type="submit" class="btn btn-sm btn-outline-danger w-100">🗑 Delete</button>
</form>
</div>
</div> </div>
</td> </td>
</tr> </tr>