User lock upload data

This commit is contained in:
Pusdatin BPKD Jkt
2022-08-12 11:03:49 +07:00
parent 23300ce262
commit 4ef399d7d5
7 changed files with 113 additions and 14 deletions
@@ -130,13 +130,12 @@ class MstPenggunaController extends Controller
$post = $request->all(); $post = $request->all();
$offset = $post["start"]; $offset = $post["start"];
$limit = $post["length"]; $limit = $post["length"];
$src = isset($post["src"]) ? $post["src"]:""; $src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$sqlstr = User::where('role_name', "<>", "superadmin"); $sqlstr = User::where('role_name', "<>", "superadmin");
$dataTotal = $sqlstr->count(); $dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("role_name"); $data = $sqlstr->orderBy("role_name");
if (!empty($src)){ if (!empty($src)){
$data->where("name","like","%$src%"); $data->whereRaw(" ( lower(name) like '%$src%' OR lower(role_name) like '%$src%' ) ");
$data->orWhere("role_name","like","%$src%");
} }
$dataFilter = $data->count(); $dataFilter = $data->count();
@@ -147,14 +146,22 @@ class MstPenggunaController extends Controller
]); ]);
} }
public function lockUploadData(Request $req) public function lockUploadData($userId="", $reset=0, Request $req)
{ {
$user = User::query()->update([ $updateValue = [
"is_lock_upload"=>1, "is_lock_upload"=>$reset == 0 ? 1:0,
"lock_upload_time"=>date("Y-m-d H:i"), "lock_upload_time"=>date("Y-m-d H:i"),
"lock_upload_by"=>Auth::user()->id "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') return redirect()->route('users.index')
->with('success','User berhasil dibuat.'); ->with('success','Lock upload data sudah diubah!');
} }
} }
@@ -154,6 +154,9 @@ class RealisasiBelanjaController extends Controller
public function upload(Request $request, $typeDana) public function upload(Request $request, $typeDana)
{ {
if (Auth::user()->is_lock_upload == 1){
abort(403, 'Tidak diperbolehkan mengupload data oleh admin!');
}
$method = $request->method(); $method = $request->method();
$this->setTitle("Upload Rencana Belanja ".strtoupper($typeDana)); $this->setTitle("Upload Rencana Belanja ".strtoupper($typeDana));
$this->setSubtitle("Upload File"); $this->setSubtitle("Upload File");
+14
View File
@@ -0,0 +1,14 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
class MappingDbhSkpd extends Eloquent
{
use HasFactory;
protected $connection = 'samasa';
protected $table = 'samasa.mapping_dbh_skpd';
}
@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateMappingDbhSkpdTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('mapping_dbh_skpd', function (Blueprint $table) {
$table->id();
$table->string("kode_rekening", 50);
$table->string("kode_skpd", 50);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('mapping_dbh_skpd');
}
}
@@ -20,7 +20,9 @@
<div class="card-header"> <div class="card-header">
<h5 class="card-title"><i class="fa fa-th-list"></i> @php echo $sitesubTitle; @endphp</h5> <h5 class="card-title"><i class="fa fa-th-list"></i> @php echo $sitesubTitle; @endphp</h5>
<div class="card-tools"> <div class="card-tools">
<a class="btn btn-tool btn-success" href="{{ route('users.create') }}"><i class="fa fa-edit"></i> Tambah Data</a> <a class="btn btn-tool btn-default" 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-default"><i class="fa fa-lock"></i> Lock Upload Data</button>
<button id="btn_reset_lock_all" type="button" class="btn btn-tool btn-default"><i class="fa fa-unlock"></i> unLock Upload Data</button>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
@@ -88,10 +90,10 @@
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
data: function (d) { data: function (d) {
d.src = $("#src").val()
} }
}, },
"dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\">>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">", "dom": "<\"top\" <\"row\"<\"col-md-6\"l><\"col-md-6 text-right\"f>>>rt<\"bottom\" <\"row\"<\"col-md-6\"i><\"col-md-6\"p>> ><\"clear\">",
"lengthMenu": [ "lengthMenu": [
[ 10, 25, 50 ], [ 10, 25, 50 ],
[ "10", "25", "50" ] [ "10", "25", "50" ]
@@ -109,9 +111,10 @@
let info = dtTable.page.info(); let info = dtTable.page.info();
let numStart = info.page; let numStart = info.page;
let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1; let index = (numStart * dtTable.page.len()) + iDisplayIndex + 1;
let checked = aData["is_lock_upload"] == 1 ? "checked":"";
$("td:eq(0)", nRow).html(index); $("td:eq(0)", nRow).html(index);
$("td:eq(4)", nRow).html("<input type='checkbox' class='chk-upload' value='"+aData["id"]+"'>"); $("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(
`<form class="form-delete" action="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" method="POST"> `<form class="form-delete" action="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" method="POST">
<a class="btn btn-default btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-bullseye"></i></a> <a class="btn btn-default btn-sm" href="{{ URL::to("/admin/users") }}/`+ aData["id"] +`" title="Lihat"><i class="fa fa-bullseye"></i></a>
@@ -136,6 +139,44 @@
"processing": "<div class='loading'></div>", "processing": "<div class='loading'></div>",
}, },
}); });
$(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;
});
$("#btn_lock_all").on("click", function(){
let test = Swal.fire({
title: 'Fitur upload 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-upload-all/0/0";
}
})
});
$("#btn_reset_lock_all").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-upload-all/0/1";
}
})
});
}); });
</script> </script>
@endsection @endsection
+1 -1
View File
@@ -2,7 +2,7 @@
@section('content_error') @section('content_error')
<div class="col-md-12"> <div class="col-md-12">
<div class="col-middle"> <div class="col-middle">
<div class="text-left text-danger"> <div class="text-center text-danger">
<h1 class="error-number">403</h1> <h1 class="error-number">403</h1>
<h2>Akses Ditolak</h2> <h2>Akses Ditolak</h2>
<p>Anda dilarang untuk mengakses halaman ini ! Untuk lebih lanjut Hubungi administrator!</p> <p>Anda dilarang untuk mengakses halaman ini ! Untuk lebih lanjut Hubungi administrator!</p>
+2 -1
View File
@@ -22,7 +22,8 @@ Route::post('register', [AuthController::class, 'register']);
Route::group(['middleware' => 'auth'], function () { Route::group(['middleware' => 'auth'], function () {
Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () { Route::group(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () {
Route::post('users/datatable', [MstPenggunaController::class,'datatable']); Route::post('users/datatable', [MstPenggunaController::class,'datatable']);
Route::get('users/lock-upload-all', [MstPenggunaController::class, 'lockUploadData']); Route::get('users/{userId}/lock-upload/{reset}', [MstPenggunaController::class, 'lockUploadData']);
Route::get('users/lock-upload-all/{userId}/{reset}', [MstPenggunaController::class, 'lockUploadData']);
Route::resource('users', MstPenggunaController::class); Route::resource('users', MstPenggunaController::class);
}); });