prework
This commit is contained in:
parent
c1a4c7bfbe
commit
fdde6591e4
@ -61,7 +61,7 @@ class Filters extends BaseFilters
|
||||
'after' => [
|
||||
'pagecache', // Web Page Caching
|
||||
'performance', // Performance Metrics
|
||||
'toolbar', // Debug Toolbar
|
||||
//'toolbar', // Debug Toolbar
|
||||
],
|
||||
];
|
||||
|
||||
@ -77,7 +77,7 @@ class Filters extends BaseFilters
|
||||
public array $globals = [
|
||||
'before' => [
|
||||
// 'honeypot',
|
||||
'csrf',
|
||||
// 'csrf',
|
||||
// 'invalidchars',
|
||||
],
|
||||
'after' => [
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<?php
|
||||
namespace App\Controllers;
|
||||
|
||||
use CodeIgniter\Validation\CreditCardRules;
|
||||
|
||||
class Admin extends BaseController
|
||||
{
|
||||
public function index()
|
||||
@ -18,6 +20,7 @@ class Admin extends BaseController
|
||||
// === Variabel counter ===
|
||||
$CPending = 0; $CPColl = 0; $CColl = 0; $CPRecv = 0;
|
||||
$CRecv = 0; $CInc = 0; $CPenV = 0; $CFin = 0; $CFinV = 0;
|
||||
$CTotal = 0;
|
||||
|
||||
$dataList = [];
|
||||
|
||||
@ -49,7 +52,7 @@ class Admin extends BaseController
|
||||
case 'FinV': $statscode = 9; $CFinV++; break;
|
||||
default: $statscode = 0; break;
|
||||
}
|
||||
|
||||
$CTotal++;
|
||||
// Simpan ke array
|
||||
$dataList[] = [
|
||||
'statscode' => $statscode,
|
||||
@ -75,6 +78,12 @@ class Admin extends BaseController
|
||||
// === Total counter ===
|
||||
$counter = [
|
||||
'pending' => $CPending,
|
||||
'collect' => $CPColl+$CColl,
|
||||
'recv' => $CPRecv+$CRecv,
|
||||
'incomplete' => $CInc+$CPenV,
|
||||
'complete' => $CFin+$CFinV,
|
||||
'total' => $CTotal,
|
||||
/*
|
||||
'partialCollected' => $CPColl,
|
||||
'collected' => $CColl,
|
||||
'partialReceived' => $CPRecv,
|
||||
@ -83,6 +92,7 @@ class Admin extends BaseController
|
||||
'pendingValidation' => $CPenV,
|
||||
'final' => $CFin,
|
||||
'finalValidation' => $CFinV,
|
||||
*/
|
||||
];
|
||||
|
||||
$data['dataList'] = $dataList;
|
||||
|
||||
@ -15,7 +15,9 @@ class User extends BaseController
|
||||
public function index()
|
||||
{
|
||||
// $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);
|
||||
$results = $query->getResultArray();
|
||||
$data['data'] = $results;
|
||||
|
||||
@ -24,32 +24,42 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<form method="GET" action='<?= base_url('/admin') ?>'>
|
||||
<div class="row align-items-center g-3">
|
||||
<div class="col-auto fw-semibold text-muted">
|
||||
Date :
|
||||
<div class='col'>
|
||||
<form method="GET" action='<?= base_url('/admin') ?>'>
|
||||
<div class="row align-items-center g-1">
|
||||
<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 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 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>
|
||||
</form>
|
||||
</div>
|
||||
<div id="filterGroup" class="col text-end">
|
||||
<button class='btn btn-sm btn-outline-secondary' data-type='secondary'><?=$counter['pending'];?> <small>Pending</small></button>
|
||||
<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>
|
||||
<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>
|
||||
<button class='btn btn-sm btn-dark' data-type='dark'><?=$counter['total'];?> <small>Total</small></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table table-responsive-scroll">
|
||||
<table id="datatables" class="table table-sm table-hover table-bordered align-middle table-striped">
|
||||
@ -87,66 +97,25 @@
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
|
||||
data-bs-target="#detailModal">
|
||||
<?= esc($row['statscode']) ?>
|
||||
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['statscode']) ?> </td>
|
||||
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= 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" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
|
||||
data-bs-target="#detailModal">
|
||||
<?= 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/>
|
||||
|
||||
<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-primary">Pdf</a>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" name="printed"> Printed<br>
|
||||
<input type="checkbox" name="hardcopy"> Hardcopy
|
||||
</td>
|
||||
<td> <input type="checkbox" name="printed"> Printed<br> <input type="checkbox" name="hardcopy"> Hardcopy </td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
@ -168,17 +137,6 @@
|
||||
</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>
|
||||
|
||||
@ -187,9 +145,8 @@
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#datatables').DataTable({
|
||||
table = $('#datatables').DataTable({
|
||||
layout: {
|
||||
topStart: 'info',
|
||||
topEnd: 'search',
|
||||
bottomStart: null, bottomEnd: null
|
||||
},
|
||||
@ -206,18 +163,31 @@
|
||||
targets: [12]
|
||||
}
|
||||
],
|
||||
language: {
|
||||
// search: "Cari:",
|
||||
// lengthMenu: "Tampilkan _MENU_ data",
|
||||
// info: "Menampilkan _START_ sampai _END_ dari _TOTAL_ data",
|
||||
// paginate: {
|
||||
// previous: "Sebelumnya",
|
||||
// next: "Berikutnya"
|
||||
// }
|
||||
},
|
||||
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
|
||||
function commentValue() {
|
||||
const input = prompt("Masukkan Komentar :");
|
||||
|
||||
@ -42,36 +42,16 @@
|
||||
|
||||
<!-- Untuk User Level -->
|
||||
<?php if ($row['USERLEVEL'] == 1) : ?>
|
||||
<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> <button type="button" class="btn btn-light btn-sm position-relative"> 👨🏻💻 Admin </button> </td>
|
||||
<td><span class="badge text-bg-success"><?= $row['USERLEVEL'] ?></span></td>
|
||||
<?php elseif ($row['USERLEVEL'] == 2) : ?>
|
||||
<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> <button type="button" class="btn btn-light btn-sm position-relative"> 🩺 Doctor </button> </td>
|
||||
<td><span class="badge text-bg-primary"><?= $row['USERLEVEL'] ?></span></td>
|
||||
<?php elseif ($row['USERLEVEL'] == 3) : ?>
|
||||
<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> <button type="button" class="btn btn-light btn-sm position-relative"> 👩🏻🏭 Analyst </button> </td>
|
||||
<td><span class="badge text-bg-info"><?= $row['USERLEVEL'] ?></span></td>
|
||||
<?php elseif ($row['USERLEVEL'] == 4) : ?>
|
||||
<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> <button type="button" class="btn btn-light btn-sm position-relative"> 👩💼 Customer Service </button> </td>
|
||||
<td><span class="badge text-bg-warning"><?= $row['USERLEVEL'] ?></span></td>
|
||||
<?php endif; ?>
|
||||
|
||||
@ -84,13 +64,6 @@
|
||||
✎ Edit
|
||||
</button>
|
||||
</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>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user