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();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["src"]) ? $post["src"]:"";
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$sqlstr = User::where('role_name', "<>", "superadmin");
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("role_name");
if (!empty($src)){
$data->where("name","like","%$src%");
$data->orWhere("role_name","like","%$src%");
$data->whereRaw(" ( lower(name) like '%$src%' OR lower(role_name) like '%$src%' ) ");
}
$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([
"is_lock_upload"=>1,
$updateValue = [
"is_lock_upload"=>$reset == 0 ? 1:0,
"lock_upload_time"=>date("Y-m-d H:i"),
"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','User berhasil dibuat.');
->with('success','Lock upload data sudah diubah!');
}
}
@@ -154,6 +154,9 @@ class RealisasiBelanjaController extends Controller
public function upload(Request $request, $typeDana)
{
if (Auth::user()->is_lock_upload == 1){
abort(403, 'Tidak diperbolehkan mengupload data oleh admin!');
}
$method = $request->method();
$this->setTitle("Upload Rencana Belanja ".strtoupper($typeDana));
$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">
<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-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 class="card-body">
@@ -88,10 +90,10 @@
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
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": [
[ 10, 25, 50 ],
[ "10", "25", "50" ]
@@ -109,9 +111,10 @@
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":"";
$("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(
`<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>
@@ -136,6 +139,44 @@
"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>
@endsection
+1 -1
View File
@@ -2,7 +2,7 @@
@section('content_error')
<div class="col-md-12">
<div class="col-middle">
<div class="text-left text-danger">
<div class="text-center text-danger">
<h1 class="error-number">403</h1>
<h2>Akses Ditolak</h2>
<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(['prefix' => 'admin', 'middleware'=>'role:admin|superadmin'], function () {
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);
});