diff --git a/app/Http/Controllers/Opendata/DatasetController.php b/app/Http/Controllers/Opendata/DatasetController.php index 0fcb155..b62702d 100644 --- a/app/Http/Controllers/Opendata/DatasetController.php +++ b/app/Http/Controllers/Opendata/DatasetController.php @@ -14,6 +14,7 @@ use App\Models\Master\Template; use App\Models\Master\TabelData; use App\Models\Master\TabelDataKolom; use App\Models\Dataset; +use App\Models\DatasetCatatan; use App\Models\TxDataset; use App\Repositories\Eloquent\DatasetRepository; use DB; @@ -92,9 +93,9 @@ class DatasetController extends Controller public function grid(Request $request) { if((session('group_id') == 1) || (session('group_alias') == 'admin')){ - $data = Dataset::with(['tabelData'])->where('status',1)->orderBy('DatasetId','DESC')->get(); + $data = Dataset::with(['tabelData'])->orderBy('DatasetId','DESC')->get(); }else{ - $data = Dataset::with(['tabelData'])->where('status',1)->orderBy('DatasetId','DESC')->whereIn('instansi_id',[auth()->user()->ms_instansi_id])->get(); + $data = Dataset::with(['tabelData'])->orderBy('DatasetId','DESC')->whereIn('instansi_id',[session('instansi_id')])->get(); } // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; @@ -107,25 +108,27 @@ class DatasetController extends Controller if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ $action .= '
'; - if($row->created_by == auth()->user()->id){ + if(($row->created_by == auth()->user()->id) || ($row->status == 2)){ $action .= 'Edit'; } $action .= 'Detail'; if((session('group_id') == 1) || (session('group_alias') == 'admin')){ // $action .= ''; if($row->status == 1){ - $action .= 'Hapus'; + // $action .= 'Tolak Verifikasi'; }else{ - $action .= 'Restore Data'; + // $action .= 'Verifikasi'; } } $action .= '
'; } $status = ''; if($row->status == 1){ - $status = ''; - }else{ - $status = ''; + $status = 'Valid'; + }elseif($row->status == 0){ + $status = 'Menunggu Verifikasi'; + }elseif($row->status == 2){ + $status = 'Verifikasi Ditolak'; } $_data[] = [ @@ -187,6 +190,7 @@ class DatasetController extends Controller $dataset->data = null; $dataset->file = null; $dataset->deskripsi = $request->deskripsi; + $dataset->status = 0; $dataset->created_by = auth()->user()->id; $dataset->save(); } @@ -292,6 +296,7 @@ class DatasetController extends Controller $data['item'] = Dataset::find($keyId); $template = TabelData::find($data['item']->ms_tabel_data_id); + $data['catatan'] = DatasetCatatan::where('dataset_id',$keyId)->orderBy('created_at','ASC')->get(); $data['tabel'] = TabelDataKolom::where('ms_tabel_data_id',$template->MsTabelDataId)->orderBy('order','ASC')->get(); // $filename = pathinfo($tabelData->template_url, PATHINFO_FILENAME); // $data['modelClass'] = "App\\Models\\Dataset\\Dataset" . ucfirst($filename); @@ -325,6 +330,27 @@ class DatasetController extends Controller return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } + public function verifikasi(Request $request,$id) + { + $keyId = decode_id($id); + $dataset = Dataset::find($keyId); + $dataset->status = $request->verifikasi; + $dataset->save(); + + if($request->catatan){ + $cat = new DatasetCatatan; + $cat->dataset_id = $keyId; + $cat->type = 'dataset'; + $cat->catatan = $request->catatan; + $cat->status = 1; + $cat->save(); + } + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } function generateTemplate($id){ $keyId = decode_id($id); diff --git a/app/Models/DatasetCatatan.php b/app/Models/DatasetCatatan.php new file mode 100644 index 0000000..5ac532f --- /dev/null +++ b/app/Models/DatasetCatatan.php @@ -0,0 +1,14 @@ +id('DatasetCatatanId'); + $table->integer('dataset_id'); + $table->string('type')->nullable(); //dataset, dataset tambahan + $table->text('catatan')->nullable(); + $table->integer('status')->default(0); + $table->timestampsTz(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('dataset_catatan'); + } +}; diff --git a/resources/views/dataset.blade.php b/resources/views/dataset.blade.php index c2495da..73f8010 100644 --- a/resources/views/dataset.blade.php +++ b/resources/views/dataset.blade.php @@ -115,7 +115,6 @@ @endforeach - diff --git a/resources/views/modules/opendata/dataset/view.blade.php b/resources/views/modules/opendata/dataset/view.blade.php index 4a7524a..900b538 100644 --- a/resources/views/modules/opendata/dataset/view.blade.php +++ b/resources/views/modules/opendata/dataset/view.blade.php @@ -100,9 +100,39 @@ + {{-- {!! $modelClass::legend() !!} --}} + @if(@$item->status == 0) +
+
Form Verifikasi Dataset
+
+ {{ csrf_field() }} +
+ +
+
+ +
+
+ +
+
+ @endif + @if($item->status == '2') +
+
Catatan Verifikasi Dataset
+ @foreach ($catatan as $valCatatan) +
+
{{$valCatatan->created_at}}
+
{{$valCatatan->catatan}}
+
+ @endforeach + @endif @endsection diff --git a/routes/modules/modules.php b/routes/modules/modules.php index 8791bf6..2fd0da9 100644 --- a/routes/modules/modules.php +++ b/routes/modules/modules.php @@ -41,6 +41,7 @@ Route::name('opendata.')->prefix('opendata')->group(function () { Route::get('view/{id?}',[DatasetController::class,'view'])->name('view'); Route::get('delete/{id?}',[DatasetController::class,'delete'])->name('delete'); Route::get('aktif/{id?}',[DatasetController::class,'aktif'])->name('aktif'); + Route::post('verifikasi/{id?}',[DatasetController::class,'verifikasi'])->name('verifikasi'); Route::get('generateTemplate/{id?}',[DatasetController::class,'generateTemplate'])->name('generateTemplate'); // Route::get('download/{id?}',[DatasetController::class,'download'])->name('download'); });