Merge branch 'dev'
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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",
|
||||
@@ -429,6 +437,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();
|
||||
|
||||
@@ -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)
|
||||
@@ -105,17 +115,27 @@
|
||||
{ "data": "name", "className":"text-left" },
|
||||
{ "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" },
|
||||
// { "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!?',
|
||||
@@ -175,10 +214,108 @@
|
||||
/* Read more about isConfirmed, isDenied below */
|
||||
if (result.isConfirmed) {
|
||||
location.href = "{{ URL::to("/admin/users") }}/lock-upload-all/0/1";
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
$("#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
|
||||
}
|
||||
});
|
||||
|
||||
@@ -403,6 +405,8 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@php echo Auth::user()->lock_tambah_data == 1 ? "$('#btnTambah').remove();\n":""; @endphp
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user