fix : request sdm notif and filtering data

This commit is contained in:
2026-05-20 09:23:54 +07:00
parent 55f1ebfcc6
commit 817a3c5034
15 changed files with 576 additions and 58 deletions
+8
View File
@@ -85,6 +85,14 @@ if ($key=='delete_user') {
$id=$_POST['id'];
$del_user = pg_query("DELETE FROM data_user WHERE id='$id'");
} else
if ($key=='nonaktif_user') {
$id=$_POST['id'];
$upd_user = pg_query("UPDATE data_user SET aktif='f' WHERE id='$id'");
} else
if ($key=='aktif_user') {
$id=$_POST['id'];
$upd_user = pg_query("UPDATE data_user SET aktif='t' WHERE id='$id'");
} else
if ($key=='ganti_password') {
$nampeg=$_POST['nampeg'];
$d=pg_query("SELECT id FROM data_pegawai WHERE nama='$nampeg'");
+1 -1
View File
@@ -59,7 +59,7 @@ var sess_satker = $('#cek_satker').val();
var imp3 = $("#user_nama").val();
var z3 = $('#browsers');
var val3 = $(z3).find('option[value="' + imp3 + '"]');
var data_pegawai_id = val3.attr('id_ms_pegawai2');
var data_pegawai_id = $("#user_nama").val();
var jenis = $('#jenis_user').val();
var aktif = $('#user_aktif').val();
var username = $('#username').val();
+46 -24
View File
@@ -21,6 +21,12 @@ while($row=pg_fetch_array($data)) {
$satuan_kerja_id=$row[7];
$nama=$row[8];
}
//default aktif user
if(!$id){
$aktif = "t";
$jenis_user = 5;
}
?>
@@ -30,32 +36,23 @@ while($row=pg_fetch_array($data)) {
<input type="text" class="form-control" list="browsers" name="browser" id="user_nama" value="<?php echo $nama; ?>">
<datalist id="browsers">
<select class="form-control js-select2-single" id="user_nama" name="user_nama" style="width: 100%;">
<option></option>
<?php
$userpeg=pg_query("SELECT p.nama,p.id,s.nama
$userpeg=pg_query("SELECT p.id, p.nama, s.nama as satker_nama, s.id as satker_id
FROM data_pegawai p
INNER JOIN satuan_kerja s ON (s.id=p.satuan_kerja)
WHERE p.aktif='t'
".($jenis== 'Kordik' ? "AND s.id=$satker_id" : "")."
ORDER BY p.nama ASC");
while($rows=pg_fetch_array($userpeg)) {
while($rows=pg_fetch_array($userpeg)) {
$selected = ($nama == $rows['nama']) ? 'selected' : '';
?>
<?php
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false) {
?>
<option id_ms_pegawai2="<?php echo($rows['id']);?>" value="<?php echo $rows[0]; ?>"><?php echo $rows[2]; ?></option>
<?php
} else
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false) {
?>
<option id_ms_pegawai2="<?php echo($rows['id']);?>" value="<?php echo $rows[0]; ?>"><?php echo $rows[0].' ------ '.$rows[2]; ?></option>
<option value="<?php echo $rows['id']; ?>" data-satker-id="<?php echo $rows['satker_id']; ?>" <?php echo $selected; ?>><?php echo $rows['nama']; ?> - <?php echo $rows['satker_nama']; ?></option>
<?php
}
}
?>
</datalist>
</select>
</div>
<!-- <div class="form-group">
@@ -95,10 +92,9 @@ while($row=pg_fetch_array($data)) {
<div class="form-group">
<label for="exampleInputEmail1">Jenis</label>
<select class="form-control" name="jenis_user" id="jenis_user">
<option></option>
<?php
$ju=pg_query("SELECT id,jenis FROM jenis_user WHERE id IS NOT NULL
".($jenis== 'Kordik' ? "AND jenis='Staf'" : "")."
AND (jenis = 'Admin' OR jenis = 'Staf')
ORDER BY id ASC");
while($rju=pg_fetch_array($ju)) {
?>
@@ -110,18 +106,44 @@ while($row=pg_fetch_array($data)) {
</div>
<div class="form-group">
<label for="exampleInputEmail1">Aktif</label>
<select class="form-control" id="user_aktif">
<option></option>
<option <?php if ($aktif=='t') {echo "selected";} ?> value="1">AKTIF</option>
<option <?php if ($aktif=='f') {echo "selected";} ?> value="0">OFF</option>
</select>
<input type="hidden" id="user_aktif" name="user_aktif" value="<?= $aktif == 't' ? '1' : '0' ?>">
</div>
</form>
<script>
var $userNama = $('#user_nama');
var $dropdownParent = $userNama.closest('.modal');
$userNama.select2({
placeholder: 'Pilih Pegawai',
allowClear: true,
width: '100%',
dropdownParent: $dropdownParent.length ? $dropdownParent : $(document.body)
});
function setSatkerFromSelectedPegawai() {
var selected = $('#user_nama option:selected');
var satkerId = selected.data('satker-id');
if (!satkerId) {
$('#user_satker').val('');
} else {
$('#user_satker').val(String(satkerId));
}
// Refresh UI if #user_satker is enhanced (select2/other)
$('#user_satker').trigger('change');
$('#jenis_user').val('5').trigger('change');
}
// When select2 changes (select, clear)
$userNama.on('change', setSatkerFromSelectedPegawai);
/* $("#user_nama").change(function(){
var id_ms_pegawai3 = $("#user_nama").val();
var z = $('#browsers');
+102 -4
View File
@@ -1,13 +1,46 @@
<?php
include('../../koneksi.php');
$jenis=$_POST['jenis'];
$satker_id=$_POST['satker_id'];
$satker_id=(int)$_POST['satker_id'];
// Filter aktif user: default ON (t)
$aktif_filter = isset($_POST['aktif']) ? $_POST['aktif'] : 't';
$aktif_filter = ($aktif_filter === 'f') ? 'f' : 't';
?>
<script type="text/javascript">
$('button[name="edit_user"]').popover();
$('button[name="nonaktif_user"]').popover();
$('button[name="aktif_user"]').popover();
$('button[name="delete_user"]').popover();
$("#tabel_data_user").DataTable({"stateSave": true,"paging": true,"lengthChange": true,"searching": true,"ordering": false,"info": true,"autoWidth": false});
var dtUser = $("#tabel_data_user").DataTable({
"stateSave": true,
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": false,
"info": true,
"autoWidth": false,
"destroy": true
});
// Inject filter aktif into DataTables controls
(function(){
var aktifFilter = <?php echo json_encode($aktif_filter); ?>;
var $wrapper = $('#tabel_data_user_wrapper');
var $target = $wrapper.find('.dataTables_filter');
if ($target.length && !$target.find('#filter_aktif_user').length) {
$target.append(
'<span style="margin-left:20px;">' +
'<label style="margin:0 6px 0 0;">Aktif:</label>' +
'<select id="filter_aktif_user" class="form-control input-sm" style="width: 140px; display:inline-block;">' +
'<option value="t">ON</option>' +
'<option value="f">OFF</option>' +
'</select>' +
'</span>'
);
}
$('#filter_aktif_user').val(aktifFilter);
})();
</script>
<table id="tabel_data_user" class="table table-striped table-condensed table-bordered" cellpadding="1" style="font-family:Arial;font-size:13px">
@@ -26,13 +59,21 @@ $("#tabel_data_user").DataTable({"stateSave": true,"paging": true,"lengthChange"
<tbody style="color:black">
<?php
$no=1;
$where = array();
$where[] = "u.aktif='$aktif_filter'";
if ($jenis == 'Kordik') {
$where[] = "s2.id=$satker_id";
}
$whereSql = (count($where) ? ('WHERE '.implode(' AND ', $where)) : '');
$data = pg_query("SELECT u.id,s.nama,u.nama,u.password,j.jenis,u.aktif,p.nama,COALESCE(s2.nama,s.nama)
FROM data_user u
LEFT OUTER JOIN satuan_kerja s ON (u.satuan_kerja_id=s.id)
INNER JOIN jenis_user j ON (j.id=u.jenis_user)
LEFT OUTER JOIN data_pegawai p ON (p.id=u.data_pegawai_id)
LEFT OUTER JOIN satuan_kerja s2 ON (s2.id=p.satuan_kerja)
".($jenis== 'Kordik' ? "WHERE s2.id=$satker_id" : "")."
".$whereSql."
ORDER BY u.id DESC");
while($row=pg_fetch_array($data)) {
$jns=$row[4];
@@ -55,6 +96,15 @@ $("#tabel_data_user").DataTable({"stateSave": true,"paging": true,"lengthChange"
<i class="fa fa-remove"></i>
</button>
<?php } else {} ?>
<?php if ($row[5]=='t') { ?>
<button type="button" name="nonaktif_user" style="height:22px;"class="btn btn-danger btn-xs nonaktif_user" id="<?php echo $row['id'];?>" data-content="Nonaktifkan" rel="popover" data-placement="top" data-trigger="hover">
<i class="fa fa-remove"></i>
</button>
<?php } else { ?>
<button type="button" name="aktif_user" style="height:22px;"class="btn btn-success btn-xs aktif_user" id="<?php echo $row['id'];?>" data-content="Aktifkan" rel="popover" data-placement="top" data-trigger="hover">
<i class="fa fa-refresh"></i>
</button>
<?php } ?>
</td>
</tr>
<?php
@@ -67,6 +117,13 @@ $("#tabel_data_user").DataTable({"stateSave": true,"paging": true,"lengthChange"
<script type="text/javascript">
// Handle filter change (re-load table)
$(document).off('change', '#filter_aktif_user').on('change', '#filter_aktif_user', function(){
var sess_jenis = $('#cek_jenis').val();
var sess_satker = $('#cek_satker').val();
var sess_aktif = $('#filter_aktif_user').val();
$('#tabel_user').load("app/master/user/tabel.php",{jenis:sess_jenis,satker_id:sess_satker,aktif:sess_aktif});
});
$("#tabel_data_user").on('click','.edit_user',function(){
var id = $(this).attr('id');
var sess_jenis = $('#cek_jenis').val();
@@ -100,11 +157,52 @@ $("#tabel_data_user").DataTable({"stateSave": true,"paging": true,"lengthChange"
success: function(data){
var sess_jenis = $('#cek_jenis').val();
var sess_satker = $('#cek_satker').val();
$('#tabel_user').load("app/master/user/tabel.php",{jenis:sess_jenis,satker_id:sess_satker});
var sess_aktif = $('#filter_aktif_user').val();
$('#tabel_user').load("app/master/user/tabel.php",{jenis:sess_jenis,satker_id:sess_satker,aktif:sess_aktif});
}
});
} else {}
});
$("#tabel_data_user").on('click','.nonaktif_user',function(){
var x = confirm("Anda yakin ingin menonaktifkan ?");
if (x) {
var key = "nonaktif_user";
var id = $(this).attr('id');
$.ajax({
type: "POST",
url: "app/master/user/crud.php",
data: 'id='+id
+'&key='+key,
success: function(data){
var sess_jenis = $('#cek_jenis').val();
var sess_satker = $('#cek_satker').val();
var sess_aktif = $('#filter_aktif_user').val();
$('#tabel_user').load("app/master/user/tabel.php",{jenis:sess_jenis,satker_id:sess_satker,aktif:sess_aktif});
}
});
} else {}
});
$("#tabel_data_user").on('click','.aktif_user',function(){
var x = confirm("Anda yakin ingin mengaktifkan ?");
if (x) {
var key = "aktif_user";
var id = $(this).attr('id');
$.ajax({
type: "POST",
url: "app/master/user/crud.php",
data: 'id='+id
+'&key='+key,
success: function(data){
var sess_jenis = $('#cek_jenis').val();
var sess_satker = $('#cek_satker').val();
var sess_aktif = $('#filter_aktif_user').val();
$('#tabel_user').load("app/master/user/tabel.php",{jenis:sess_jenis,satker_id:sess_satker,aktif:sess_aktif});
}
});
}
});
</script>