<?php
namespace App\Http\Controllers;
use App\Models\Input_data;
use App\Models\Instansi;
use App\Models\Master_input;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class InputDataController extends Controller
{
public function index_input(string $id, string $user)
{
$data['title'] = "Input Data";
$data['id'] = $id;
$data['instansi'] = Instansi::select('id','user_id')->where('user_id', $user)->first();
$data['judul'] = Master_input::select('uraian')->findOrFail($id);
$data['inputs'] = Input_data::where('master_input_id', $id)->where('user_id', $user)->paginate(10);
return view('input_data.lihat_data.index', $data);
}
public function index()
{
//
}
public function create()
{
//
}
public function create_input(string $id)
{
$data['title'] = "Tambah Input Data";
$data['master_input_id'] = $id;
$data['judul'] = Master_input::select('uraian')->findOrFail($id);
return view('input_data.lihat_data.tambah', $data);
}
public function store(Request $request)
{
// $rules = [
// 'aspek' => 'required',
// 'nama_dokumen' => 'required',
// 'deskripsi' => 'required',
// 'dokumen_terlampir' => 'required',
// // 'upload_dokumen' => 'required|file|max:2024',
// 'link_dokumen' => 'required',
// 'kelengkapan' => 'required',
// ];
// if($request->check_upload == "file") {
// $rules['upload_dokumen'] = 'required|file|max:2024';
// } else {
// $rules['link_dokumen'] = 'required';
// }
// $validate = $request->validate($rules);
// $validate['master_input_id'] = $request->master_input_id;
// if($request->check_upload == "file") {
// $filePath = "/storage/".$request->upload_dokumen->store('dokumen/input-data/kelengkapan','public');
// // $filePath = Storage::disk('public')->put('/file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
// $validate['upload_dokumen'] = $filePath;
// $validate['check_upload'] = 0;
// } else {
// $validate['check_upload'] = 1;
// }
// $validate['upload_dokumen'] = $request->link_dokumen;
$request->validate([
'aspek' => 'required|unique:input_datas',
'kelengkapan' => 'required',
], [
'aspek.required' => 'Aspek Wajib diisi!',
'aspek.unique' => 'Aspek telah dipakai!',
'kelengkapan.required' => 'Kelengkapan Wajib diisi!',
]);
$input_data = Input_data::create([
'aspek' => $request->aspek,
'dokumen_terlampir' => $request->dokumen_terlampir,
'keterangan' => $request->keterangan ?? '-',
'kategori' => $request->kategori ?? null,
'kelengkapan' => $request->kelengkapan,
'master_input_id' => $request->master_input_id,
'user_id' => Auth::user()->id,
]);
$check = Input_data::find($input_data->id);
if($check->aspek == null || $check->dokumen_terlampir == null || $check->keterangan == null) {
$check->kelengkapan = "Tidak Ada";
$check-> save();
}
$data['Master_input'] = Master_input::find($request->master_input_id);
$data['inputs'] = Input_data::where('master_input_id', $request->master_input_id)->where('kelengkapan', 'Tidak Ada')->count();
if($data['inputs'] > 0) {
$data['Master_input']->status = "Tidak Ada";
} else {
$data['Master_input']->status = "Ada";
}
$data['Master_input']->save();
// Input_data::create($validate);
return redirect("/input-data/lihat-data/$request->master_input_id/" . Auth::user()->id)->with('success', 'Berhasil menambahkan data input');
}
public function show(Input_data $input_datum)
{
//
}
public function edit(Input_data $input_datum)
{
}
public function edit_input(Input_data $input_datum, string $id)
{
// $data['title'] = 'Edit Input Data';
$data['master_input_id'] = $id;
$data['input'] = $input_datum;
return response()->json([
'data' => $data['input'],
]);
// return view('input_data.lihat_data.edit', $data);
}
public function update(Request $request, $id)
{
// Input_data $input_datum
// $rules = [
// 'aspek' => 'required',
// 'nama_dokumen' => 'required',
// 'deskripsi' => 'required',
// 'dokumen_terlampir' => 'required',
// // 'upload_dokumen' => 'file|max:2024',
// 'link_dokumen' => 'required',
// 'kelengkapan' => 'required',
// ];
// $rules = [];
// if($request->check_upload == "file") {
// $rules['upload_dokumen'] = 'file|max:2024';
// } else {
// $rules['link_dokumen'] = 'required';
// }
// $validate = $request->validate($rules);
// if($request->file('upload_dokumen')) {
// Storage::disk('public')->delete($input_datum->upload_dokumen);
// $filePath = Storage::disk('public')->put('file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
// $validate['upload_dokumen'] = $filePath;
// }
// if($request->check_upload == "file") {
// if($request->file('upload_dokumen')) {
// if(File::exists(public_path().$input_datum->upload_dokumen)) {
// File::delete(public_path().$input_datum->upload_dokumen);
// }
// $filePath = "/storage/".$request->upload_dokumen->store('dokumen/input-data/kelengkapan','public');
// // $filePath = Storage::disk('public')->put('/file/input-data/kelengkapan', $request->file('upload_dokumen'), 'public');
// $validate['upload_dokumen'] = $filePath;
// $validate['check_upload'] = 0;
// }
// } else {
// if(File::exists(public_path().$input_datum->upload_dokumen)) {
// File::delete(public_path().$input_datum->upload_dokumen);
// }
// }
$rules = [
// 'aspek' => 'required',
'kelengkapan' => 'required',
];
$input_datum = Input_data::find($id);
// if($request->aspek != $input_datum->aspek) {
// $rules['aspek'] = 'required|unique:input_datas';
// }
$request->validate($rules, [
// 'aspek.required' => 'Aspek Wajib diisi!',
// 'aspek.unique' => 'Aspek telah dipakai!',
'kelengkapan.required' => 'Kelengkapan Wajib diisi!',
]);
$input_data = Input_data::where('id', $id)->update([
// 'aspek' => $request->aspek,
'dokumen_terlampir' => ($request->dokumen_terlampir == "null") ? "" : $request->dokumen_terlampir,
'keterangan' => ($request->keterangan == "null") ? "" : $request->keterangan,
'kelengkapan' => $request->kelengkapan,
]);
$input = Input_data::find($id);
$data['inputs'] = Input_data::where('master_input_id', $input->master_input_id)->where('kelengkapan', 'Tidak Ada')->count();
$a = $input->aspek;
\App\Helpers\LogActivity::addToLog('Mengedit Input Data : '.$a);
$data['Master_input'] = Master_input::find($input->master_input_id);
if($data['inputs'] > 0) {
$data['Master_input']->status = "Tidak Ada";
} else {
$data['Master_input']->status = "Ada";
}
$data['Master_input']->save();
$check = Input_data::find($id);
// if($check->aspek == null || $check->aspek == "null" || $check->dokumen_terlampir == null || $check->dokumen_terlampir == "null" || $check->keterangan == null || $check->keterangan == "null") {
// $check->kelengkapan = "Tidak Ada";
// $check-> save();
// }
return response()->json([
'message' => 'Data Berhasil Diubah!',
'data' => $check,
]);
// $validate['upload_dokumen'] = $request->link_dokumen;
// $validate['check_upload'] = 1;
// $input_datum->update($validate);
// return redirect("/input-data/lihat-data/$request->master_input_id")->with('success', 'Berhasil edit data input');
}
public function destroy(Input_data $input_datum)
{
// Storage::disk('public')->delete($input_datum->upload_dokumen);
// if($input_datum->upload_dokumen && $input_datum->check_upload == "0"){
// if(File::exists(public_path().$input_datum->upload_dokumen)) {
// File::delete(public_path().$input_datum->upload_dokumen);
// }
// }
$input_datum->delete();
$data['Master_input'] = Master_input::find($input_datum->master_input_id);
$data['inputs'] = Input_data::where('master_input_id', $input_datum->master_input_id)->count();
if($data['inputs'] > 0) {
$data['Master_input']->status = "Ada";
} else {
$data['Master_input']->status = "Tidak Ada";
}
$data['Master_input']->save();
return redirect()->back()->with('success', "Berhasil hapus data input");
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]