Commit 57a03e77 by Alfiro Pratama

Fix upload url produk akhir

parent 2c14aca4
...@@ -128,15 +128,13 @@ class MonevController extends Controller ...@@ -128,15 +128,13 @@ class MonevController extends Controller
return view('backend.mahasiswa.monev.upload_monev', $data); return view('backend.mahasiswa.monev.upload_monev', $data);
} }
public function uploadMonev(Request $request) public function uploadMonev(Request $request)
{ {
//
$pro = $request->except('_token'); $pro = $request->except('_token');
$this->validate($request, $this->validate($request,
[ [
'file' => 'required|mimes:pdf|max:5000' 'file' => 'mimes:pdf|max:5000'
], [ ], [
'file.required' => 'Tidak ada file yang di upload', 'file.required' => 'Tidak ada file yang di upload',
'file.mimes' => 'File harus pdf', 'file.mimes' => 'File harus pdf',
...@@ -145,49 +143,110 @@ class MonevController extends Controller ...@@ -145,49 +143,110 @@ class MonevController extends Controller
$proposal = MonevInternal::with(['rProposal'])->find($pro['monev_id']); $proposal = MonevInternal::with(['rProposal'])->find($pro['monev_id']);
if ($pro['type'] !== 'produk') {
$file_nama = $proposal->rProposal->rPeriode->nama.'_'.$proposal->rProposal->proposal_id.'.'.$pro['file']->getClientOriginalExtension(); $file_nama = $proposal->rProposal->rPeriode->nama.'_'.$proposal->rProposal->proposal_id.'.'.$pro['file']->getClientOriginalExtension();
Storage::disk('static')->put('simpmw/monev/'.$pro['monev'].'/'.$pro['type'].'/'.$file_nama, file_get_contents($pro['file']->getRealPath())); Storage::disk('static')->put('simpmw/monev/'.$pro['monev'].'/'.$pro['type'].'/'.$file_nama, file_get_contents($pro['file']->getRealPath()));
if($pro['type'] == 'logbook'){ if($pro['type'] == 'logbook'){
$proposal->logbook_file = $file_nama; $proposal->logbook_file = $file_nama;
$proposal->logbook_date = now(); $proposal->logbook_date = now();
}elseif($pro['type'] == 'kemajuan'){ }elseif($pro['type'] == 'kemajuan'){
$proposal->kemajuan_file = $file_nama; $proposal->kemajuan_file = $file_nama;
$proposal->kemajuan_date = now(); $proposal->kemajuan_date = now();
}elseif($pro['type'] == 'akhir'){ }elseif($pro['type'] == 'akhir'){
$proposal->akhir_file = $file_nama; $proposal->akhir_file = $file_nama;
$proposal->akhir_date = now(); $proposal->akhir_date = now();
}elseif($pro['type'] == 'produk'){ }elseif($pro['type'] == 'proposal'){
$request->validate([ $proposal->upload_dokumen = $file_nama;
'produk_url' => 'required|url', // Validasi bahwa produk_url harus berupa URL yang valid $proposal->date_upload = now();
]); }
} else {
$proposal->produk_url = $request->produk_url; $proposal->produk_url = $request->produk_url;
$proposal->produk_date = now(); $proposal->produk_date = now();
}elseif($pro['type'] == 'proposal'){
$proposal->upload_dokumen = $file_nama;
$proposal->date_upload = now();
} }
$proposal->save(); $proposal->save();
return redirect()->route('mahasiswa.monev-index', $pro['monev'])->with('success', 'Proposal Berhasil revisi'); return redirect()->route('mahasiswa.monev-index', $pro['monev'])->with('success', 'Proposal Berhasil revisi');
} }
public function revisiMonevAll($id)
{
$id = explode('__', decrypt($id));
// $proposal = MonevInternal::with(['rProposal'])->find($id[0]);
$proposal = MonevInternal::with(['rProposal'])->where('id', $id[0])->first();
$id[1] == 'II' ? $title = 'Revisi Dokumen Monev II' : $title = 'Revisi Dokumen Monev I';
$type = ['proposal', 'logbook', 'kemajuan', 'akhir', 'produk'];
$label = ['Unggah Revisi Proposal', 'Unggah Revisi Logbook', 'Unggah Revisi Laporan Kemajuan', 'Unggah Revisi Laporan Akhir', 'Unggah Revisi Produk Akhir'];
$data = [
'proposal' => $proposal,
'title' => $title,
'type' => $type,
'monev' => $id[1],
'label' => $label,
];
return view('backend.mahasiswa.monev.revisi_monev', $data);
}
public function uploadMonevRevisi(Request $request)
{
$pro = $request->except('_token');
$type = ['proposal', 'logbook', 'kemajuan', 'akhir', 'produk'];
$request->validate([
'produk_url' => 'nullable|url', // Produk URL validasi opsional
'proposal' => 'nullable|mimes:pdf|max:5000',
'logbook' => 'nullable|mimes:pdf|max:5000',
'kemajuan' => 'nullable|mimes:pdf|max:5000',
'akhir' => 'nullable|mimes:pdf|max:5000',
], [
'mimes' => ':attribute harus berupa file PDF.',
'max' => ':attribute tidak boleh lebih dari 5MB.',
// 'produk_url.url' => 'Produk URL harus berupa URL valid.',
]);
$proposal = MonevInternal::with(['rProposal'])->find($pro['monev_id']);
foreach ($type as $field) {
if ($field === 'produk' && isset($pro['produk_url'])) {
$proposal->produk_url = $pro['produk_url'];
$proposal->produk_date = now();
} elseif (isset($pro[$field])) {
$file = $pro[$field];
$file_nama = $proposal->rProposal->rPeriode->nama.'_'.$proposal->rProposal->proposal_id.'.'.$file->getClientOriginalExtension();
$store = Storage::disk('static')->put('simpmw/monev/'.$pro['monev'].'/'.$field.'/'.$file_nama, file_get_contents($file->getRealPath()));
$url = 'simpmw/monev/'.$pro['monev'].'/'.$field.'/'.$file_nama;
$proposal->{$field . '_file'} = $file_nama;
$proposal->{$field . '_date'} = now();
$urls[] = $url;
}
}
dd($pro, $urls, $store);
$proposal->save();
return redirect()->route('mahasiswa.monev-index', $pro['monev'])->with('success', 'Proposal Berhasil revisi');
}
public function buktiAnggaran($id) public function buktiAnggaran($id)
{ {
$monev = decrypt($id); $monev_id = decrypt($id);
$title = 'Bukti Penggunaan Anggaran'; $title = 'Bukti Penggunaan Anggaran';
$anggaran = BuktiAnggaran::with(['rProposal', 'rMonev']) $anggaran = BuktiAnggaran::with(['rProposal', 'rMonev'])
->where('monev_id', $monev) ->where('monev_id', $monev_id)
->get(); ->get();
$monev = MonevInternal::with(['rProposal', 'rBuktiAnggaran' => function($query) { $monev = MonevInternal::with(['rProposal', 'rBuktiAnggaran' => function($query) {
$query->orderByRaw('CASE WHEN tgl_pembelian IS NULL THEN 0 ELSE 1 END ASC, tgl_pembelian ASC'); $query->orderByRaw('CASE WHEN tgl_pembelian IS NULL THEN 0 ELSE 1 END ASC, tgl_pembelian ASC');
}]) }])
->where('id', $monev) ->where('id', $monev_id)
->first(); ->first();
$jenis_satuan = JenisSatuanBarang::select('jenis_satuan') $jenis_satuan = JenisSatuanBarang::select('jenis_satuan')
......
...@@ -69,13 +69,13 @@ ...@@ -69,13 +69,13 @@
@if ($errors->has('produk_url')) @if ($errors->has('produk_url'))
<span class="text-danger">{{ $errors->first('produk_url') }}</span> <span class="text-danger">{{ $errors->first('produk_url') }}</span>
@endif @endif
<input type="text" name="produk_url" class="form-control" id="input-form" value="{{ old('produk_url') }}"> <input type="text" name="produk_url" class="form-control" id="input-form" value="{{ old('produk_url') }}" required>
</div> </div>
@else @else
<div class="col-sm-10"> <div class="col-sm-10">
<div class="row"> <div class="row">
<div class="col-8"> <div class="col-8">
<input type="file" name="file" class="form-control" id="input-file" accept="application/pdf"> <input type="file" name="file" class="form-control" id="input-file" accept="application/pdf" required>
@if ($errors->has('file')) @if ($errors->has('file'))
<span class="text-danger">{{ $errors->first('file') }}</span> <span class="text-danger">{{ $errors->first('file') }}</span>
@endif @endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment