Melakukan Perubahan di admin

This commit is contained in:
Vinsensiaaa
2024-02-26 14:39:07 +07:00
parent ab3367e347
commit cceedcd9c0
7 changed files with 248 additions and 9 deletions
@@ -11,6 +11,8 @@ use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Str;
use Hash;
use illuminate\Support\Facades\DB;
use PhpParser\Node\Expr\Exit_;
class MstPenggunaController extends Controller
{
@@ -169,6 +171,64 @@ class MstPenggunaController extends Controller
->with('success','Lock upload data sudah diubah!');
}
public function lockTambahData($userId="", $reset=0, Request $req)
{
$updateValue = [
"lock_tambah_data"=>$reset == 0 ? 1:0,
"lock_upload_by"=>Auth::user()->id
];
if (empty($userId))
{
User::query()->update($updateValue);
}else{
User::where(["id"=>$userId])->update($updateValue);
}
return redirect()->route('users.index')
->with('success','Lock Tambah data sudah diubah!');
}
public function lockUbahData($userId="", $reset=0, Request $req)
{
$updateValue = [
"lock_ubah_data"=>$reset == 0 ? 1:0,
"lock_upload_by"=>Auth::user()->id
];
if (empty($userId))
{
User::query()->update($updateValue);
}else{
User::where(["id"=>$userId])->update($updateValue);
}
return redirect()->route('users.index')
->with('success','Lock Ubah data sudah diubah!');
}
public function lockHapusData($userId="", $reset=0, Request $req)
{
$updateValue = [
"lock_hapus_data"=>$reset == 0 ? 1:0,
"lock_upload_by"=>Auth::user()->id
];
if (empty($userId))
{
User::query()->update($updateValue);
}else{
User::where(["id"=>$userId])->update($updateValue);
}
return redirect()->route('users.index')
->with('success','Lock Hapus data sudah diubah!');
}
public function resetPass(User $user)
{
$random = Str::random(8);
+7
View File
@@ -9,6 +9,7 @@ use Hash;
use Session;
use App\Models\User;
use App\Models\RoleUser;
use Illuminate\Contracts\Session\Session as SessionSession;
class AuthController extends Controller
{
@@ -50,6 +51,12 @@ class AuthController extends Controller
Auth::attempt($data);
if (Auth::check()) {
if (Auth::user()->status_lock == 1)
{
Auth::logout();
Session::flash('eror', 'Data Terkunci Silahkan Hubungi Admin');
return redirect()->route('login');
}
// True sekalian session field di users nanti bisa dipanggil via Auth
// Login Success
$taValue = [];
@@ -45,6 +45,9 @@ class RealisasiBelanjaController extends Controller
public function create(Request $request)
{
if (Auth::user()->lock_tambah_data == 1){
abort(403, 'Tidak diperbolehkan menambah data oleh admin!');
}
$get = $request->all();
$rskExists = BelanjaRealisasi::where("kode_rsk",$get["rsk"])->count();
if ($rskExists > 0)
@@ -56,7 +59,9 @@ class RealisasiBelanjaController extends Controller
$VwDpaRsk = VwDpaRsk::where("I_ID",$get["rsk"])->first();
$unitSatuan = UnitSatuan::orderBy("id")->get();
return view('realisasi_belanja.create', compact("unitSatuan","VwDpaRsk"));
}
public function createFromRsk()
@@ -203,6 +208,9 @@ class RealisasiBelanjaController extends Controller
public function update(Request $request, BelanjaRealisasi $realisasi_belanja)
{
if (Auth::user()->lock_ubah_data == 1){
abort(403, 'Tidak diperbolehkan mengupdate data oleh admin!');
}
$request->validate([
"jenis_dana"=>"required",
"sub_jenis_dana"=>"required",
@@ -425,6 +433,9 @@ class RealisasiBelanjaController extends Controller
public function destroy(BelanjaRealisasi $realisasi_belanja)
{
if (Auth::user()->lock_hapus_data == 1){
abort(403, 'Tidak diperbolehkan menghapus data oleh admin!');
}
try{
DB::beginTransaction();
$realisasi_belanja->delete();
+3
View File
@@ -26,6 +26,9 @@ class User extends Authenticatable
'password',
'role_name',
'is_lock_upload',
'lock_tambah_data',
'lock_ubah_data',
'lock_hapus_data',
'lock_upload_time',
'lock_upload_by',
'wilayah'
@@ -19,10 +19,17 @@
<div class="card card-secondary">
<div class="card-header">
<h5 class="card-title"><i class="fa fa-th-list"></i> @php echo $sitesubTitle; @endphp</h5>
<div class="card-tools">
<a class="btn btn-tool btn-dark" href="{{ route('users.create') }}"><i class="fa fa-edit"></i> Tambah Data</a>
<button id="btn_lock_all" type="button" class="btn btn-tool btn-dark"><i class="fa fa-lock"></i> Lock Upload Data</button>
<!-- <button id="btn_lock_all" type="button" class="btn btn-tool btn-dark"><i class="fa fa-lock"></i> Lock Upload Data</button> -->
<button id="btn_reset_lock_all" type="button" class="btn btn-tool btn-dark"><i class="fa fa-unlock"></i> unLock Upload Data</button>
<!-- <button id="btn_lock_tambah" type="button" class="btn btn-tool btn-dark"><i class="fa fa-lock"></i> Lock Tambah Data</button> -->
<button id="btn_reset_tambah" type="button" class="btn btn-tool btn-dark"><i class="fa fa-unlock"></i> unLock Tambah Data</button>
<!-- <button id="btn_lock_ubah" type="button" class="btn btn-tool btn-dark"><i class="fa fa-lock"></i> Lock Ubah Data</button> -->
<button id="btn_reset_ubah" type="button" class="btn btn-tool btn-dark"><i class="fa fa-unlock"></i> unLock Ubah Data</button>
<button id="btn_lock_hapus" type="button" class="btn btn-tool btn-dark"><i class="fa fa-lock"></i> Lock Hapus Data</button>
<button id="btn_reset_hapus" type="button" class="btn btn-tool btn-dark"><i class="fa fa-unlock"></i> unLock Hapus Data</button>
</div>
</div>
<div class="card-body">
@@ -33,8 +40,11 @@
<th>NRK</th>
<th>Nama</th>
<th>Level</th>
<th>Lock Upload</th>
<th width="150px" class="text-center">Action</th>
<th><input class="form-check-input" type="checkbox" id="btn_lock_all" >Lock Upload</th>
<th><input class="form-check-input" type="checkbox" id="btn_lock_tambah">Lock Tambah</th>
<th><input class="form-check-input" type="checkbox" id="btn_lock_ubah">Lock Ubah</th>
<th><input class="form-check-input" type="checkbox" id="btn_lock_hapus">Lock Hapus</th>
<th class="text-center">Action</th>
</thead>
</tr>
{{-- @foreach ($data as $key => $value)
@@ -106,16 +116,26 @@
{ "data": "role_name", "className":"text-center" },
{ "data": null, "className":"text-center" },
{ "data": null, "className":"text-center" },
{ "data": null, "className":"text-center" },
{ "data": null, "className":"text-center" },
{ "data": null, "className":"text-center" },
// { "data": null, "className":"text-center" },
],
"rowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull, oSettings) {
let info = dtTable.page.info();
let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let checked = aData["is_lock_upload"] == 1 ? "checked":"";
let checkedTambahData = aData["lock_tambah_data"] == 1 ? "checked":"";
let checkedUbahData = aData["lock_ubah_data"] == 1 ? "checked":"";
let checkedHapusData = aData["lock_hapus_data"] == 1 ? "checked":"";
$("td:eq(0)", nRow).html(index);
$("td:eq(4)", nRow).html("<input type='checkbox' class='chk-upload' value='"+aData["id"]+"' "+checked+">");
$("td:eq(5)", nRow).html(
$("td:eq(5)", nRow).html(`<input class="user_lock_tambah_data" type="checkbox" name="lock-tambah-data[]" ` + checkedTambahData + ` value="` + aData["id"] + `">`);
$("td:eq(6)", nRow).html(`<input class="user_lock_ubah_data" type="checkbox" name="lock-ubah-data[]" ` + checkedUbahData + ` value="` + aData["id"] + `">`);
$("td:eq(7)", nRow).html(`<input class="user_lock_hapus_data" type="checkbox" name="lock-hapus-data[]" ` + checkedHapusData + ` value="` + aData["id"] + `">`);
$("td:eq(8)", nRow).html(
`<form class="form-delete" action="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" method="POST">
<a class="btn btn-info btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-eye"></i></a>
<a class="btn btn-warning btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`/update" title="Ubah"><i class="fa fa-edit"></i></a>
@@ -141,12 +161,31 @@
},
});
$(document).on("click",".chk-upload", function(){
let val = $(this).val();
let reset = $(this).prop("checked") == 1 ?0:1;
location.href = "{{ URL::to("/admin/users") }}/"+val+"/lock-upload/"+reset;
});
$(document).on("click",".user_lock_tambah_data", function(){
let val = $(this).val();
let reset = $(this).prop("checked") == 1 ?0:1;
location.href = "{{ URL::to("/admin/users") }}/"+val+"/lock-tambah-data/"+reset;
});
$(document).on("click",".user_lock_ubah_data", function(){
let val = $(this).val();
let reset = $(this).prop("checked") == 1 ?0:1;
location.href = "{{ URL::to("/admin/users") }}/"+val+"/lock-ubah-data/"+reset;
});
$(document).on("click",".user_lock_hapus_data", function(){
let val = $(this).val();
let reset = $(this).prop("checked") == 1 ?0:1;
location.href = "{{ URL::to("/admin/users") }}/"+val+"/lock-hapus-data/"+reset;
});
$("#btn_lock_all").on("click", function(){
let test = Swal.fire({
title: 'Fitur upload data akan dikunci untuk semua user!?',
@@ -179,6 +218,104 @@
})
});
$("#btn_lock_tambah").on("click", function(){
let test = Swal.fire({
title: 'Fitur tambah data akan dikunci untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-tambah-all/0/0";
}
})
});
$("#btn_reset_tambah").on("click", function(){
let test = Swal.fire({
title: 'Fitur tambah data akan direset untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-tambah-all/0/1";
}
})
});
$("#btn_lock_ubah").on("click", function(){
let test = Swal.fire({
title: 'Fitur ubah data akan dikunci untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-ubah-all/0/0";
}
})
});
$("#btn_reset_ubah").on("click", function(){
let test = Swal.fire({
title: 'Fitur ubah data akan direset untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-ubah-all/0/1";
}
})
});
$("#btn_lock_hapus").on("click", function(){
let test = Swal.fire({
title: 'Fitur hapus data akan dikunci untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-hapus-all/0/0";
}
})
});
$("#btn_reset_hapus").on("click", function(){
let test = Swal.fire({
title: 'Fitur upload data akan direset untuk semua user!?',
showDenyButton: true,
showCancelButton: false,
confirmButtonText: 'Ya',
denyButtonText: "Tidak",
icon: "warning",
}).then((result) => {
/* Read more about isConfirmed, isDenied below */
if (result.isConfirmed) {
location.href = "{{ URL::to("/admin/users") }}/lock-hapus-all/0/1";
}
})
});
$(document).on("click",".btn_reset_password",function (e){
e.preventDefault();
let url = $(this).attr("href");
@@ -196,6 +333,9 @@
}
})
});
$("#optRole").on("change",function(){
dtTable.draw();
});
});
</script>
@endsection
@@ -1,4 +1,5 @@
@php
// var_dump(Auth::user()->lock_ubah_data); exit;
$siteBreadcumb = [
["url"=>"/realisasi-pendapatan","label"=>$siteTitle],
];
@@ -94,7 +95,7 @@
<h2 class="card-title"><i class="fa fa-th-list mr-2"></i> {{ $sitesubTitle }}</h2>
<div class="card-tools">
@php if (Auth::user()->can("Input Realisasi DBH Realisasi Belanja")) { @endphp
<a class="modalButton btn btn-sm btn-success" size="modal-xl" title="Tambah Data Realisasi Belanja" href="{{ URL::to("/realisasi-belanja/create-from-rsk") }}"><i class='fa fa-edit'></i> Tambah Data</a>
<a id= "btnTambah" class="modalButton btn btn-sm btn-success" size="modal-xl" title="Tambah Data Realisasi Belanja" href="{{ URL::to("/realisasi-belanja/create-from-rsk") }}"><i class='fa fa-edit'></i> Tambah Data</a>
@php } @endphp
</div>
</div>
@@ -282,8 +283,8 @@
let realisasi = aData["jml"] > 0 ? "<span class='text-success font-weight-bold p-1'>"+separateNumberIndo(aData["jml"])+"</span>":"";
// let btnInput = parseInt(aData["f_view_sbpk"]) == 0 ? `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
// <button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`:``;
let btnInput = `<a class="btn btn-warning btn-sm" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah"><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-danger btn-sm"title="Hapus"><i class="fa fa-trash"></i></button>`;
let btnInput = `<a class="btn btn-warning btn-sm btnEdit" href="{{ URL::to("/realisasi-belanja") }}/`+ aData["id"] +`/edit" title="Ubah" ><i class="fa fa-edit"></i></a>
<button type="submit" class="btn btn-danger btn-sm btnHapus"title="Hapus" id="btnHapus"><i class="fa fa-trash"></i></button>`;
let volume_satuan_realisasi = aData["volume_satuan_realisasi"] > 0 ? "<span class='text-success font-weight-bold p-1'>"+separateNumberIndo(aData["volume_satuan_realisasi"])+"</span>":"";
let unit_satuan_realisasi = aData["unit_satuan_realisasi"] != null ? "<span class='text-success font-weight-bold p-1'>"+aData["unit_satuan_realisasi"]+"</span>":"";
@@ -380,7 +381,8 @@
],
"drawCallback": function( settings ) {
$(".dataTables_scrollBody").scrollTo($("#tblRealisasi .c_row_"+selectionRow));
console.log(selectionRow);
@php echo Auth::user()->lock_ubah_data == 1 ? "$('.btnEdit').remove();\n":""; @endphp
@php echo Auth::user()->lock_hapus_data == 1 ? "$('.btnHapus').remove();\n":""; @endphp
}
});
@@ -404,6 +406,8 @@
});
});
@php echo Auth::user()->lock_tambah_data == 1 ? "$('#btnTambah').remove();\n":""; @endphp
});
</script>
@endsection
+14
View File
@@ -33,6 +33,20 @@ Route::group(['middleware' => 'auth'], function () {
Route::post('users/datatable', [MstPenggunaController::class,'datatable']);
Route::get('users/{userId}/lock-upload/{reset}', [MstPenggunaController::class, 'lockUploadData']);
Route::get('users/lock-upload-all/{userId}/{reset}', [MstPenggunaController::class, 'lockUploadData']);
Route::get('users/{userId}/lock-tambah-data/{type}', [MstPenggunaController::class, 'lockTambahData']);
Route::get('users/{userId}/lock-ubah-data/{type}', [MstPenggunaController::class, 'lockUbahData']);
Route::get('users/{userId}/lock-hapus-data/{type}', [MstPenggunaController::class, 'lockHapusData']);
Route::get('users/lock-tambah-all/{userId}/{reset}', [MstPenggunaController::class, 'lockTambahData']);
Route::get('users/{userId}/lock-tambah-all/{reset}', [MstPenggunaController::class, 'lockTambahData']);
Route::get('users/{userId}/lock-ubah/{reset}', [MstPenggunaController::class, 'lockUbahData']);
Route::get('users/lock-ubah-all/{userId}/{reset}', [MstPenggunaController::class, 'lockUbahData']);
Route::get('users/lock-hapus-all/{userId}/{reset}', [MstPenggunaController::class, 'lockHapusData']);
Route::get('users/{userId}/lock-hapus-all/{reset}', [MstPenggunaController::class, 'lockHapusData']);
Route::get('users/{user}/reset', [MstPenggunaController::class, 'resetPass']);
Route::resource('users', MstPenggunaController::class);