user(); $permohonans = LesenPenjaja::where('user_id',$user->id)->get(); return view('dashboard', ['permohonans' => $permohonans]); } public function create(Request $request): View { // $lesen_penjaja = LesenPenjaja::find($request->session()->get('lesen_penjaja_id')); $lesen_penjaja = new LesenPenjaja(); $jenis_penjajas = JenisPenjaja::where('status_data',1)->orderBy('kategori', 'desc')->orderBy('jenis','asc')->get(); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; return view('penjaja.mohon', [ 'user' => $request->user(), 'permohonan' => $lesen_penjaja, 'doc_kad_pengenalan' => $doc_kad_pengenalan, 'doc_gambar' => $doc_gambar, 'doc_lokasi' => $doc_lokasi, 'doc_kebenaran' => $doc_kebenaran, 'doc_kenderaan' => $doc_kenderaan, 'doc_kenderaan_geran' => $doc_kenderaan_geran, 'doc_suntikan_ty2' => $doc_suntikan_ty2, 'doc_kursus_makanan' => $doc_kursus_makanan, 'jenis_penjajas' => $jenis_penjajas ]); } /** * Handle an incoming registration request. * * @throws \Illuminate\Validation\ValidationException */ public function store(Request $request): RedirectResponse { /* $request->validate([ 'nossm' => ['required', 'string', 'max:255'], 'jenis_perniagaan' => ['required', 'string', 'max:50'], 'nama_perniagaan' => ['required', 'string', 'max:250'], 'alamat_perniagaan' => ['required', 'string', 'min:10'], 'notelefon_perniagaan' => ['required'], ]);*/ $syarikat = Syarikat::firstOrCreate(['nossm'=>$request->nossm], [ 'name' => ltrim(rtrim($request->nama_perniagaan)), 'jenis_perniagaan' => $request->jenis_perniagaan, 'nossm' => ltrim(rtrim($request->nossm)), 'alamat' => ltrim(rtrim($request->alamat_perniagaan)), 'notelefon' => ltrim(rtrim($request->notelefon_perniagaan)), 'bil_cawangan' => ltrim(rtrim($request->bil_cawangan)), ]); $user = $request->user(); $user_syarikat = UserSyarikat::create([ 'user_id' => $user->id, 'syarikat_id' => $syarikat->id, 'status' => 'aktif' ]); /* switch($request->jenis_penjaja){ case 'bukan kawasan berpusat': case 'buah bermusim': case 'food truck': case 'foodtruck': case 'car boot sale': case 'sementara': case 'berkenderaan': $grup_laporan = 'penjaja sementara'; break; case 'gerai': case 'arked': case 'pasar majlis': $grup_laporan = 'penjaja statik'; break; case 'berpusat': $grup_laporan = 'penjaja berpusat'; break; default: $grup_laporan = 'penjaja sementara'; break; }*/ $grup_laporan = JenisPenjaja::find($request->jenis_penjaja); if($request->mohon_id != ''){ $lesen_penjaja = LesenPenjaja::find($request->mohon_id); $lesen_penjaja->user_id = $user->id; $lesen_penjaja->syarikat_id = $syarikat->id; $lesen_penjaja->jenis_penjaja_id = $request->jenis_penjaja; $lesen_penjaja->jenis_lain = ''; $lesen_penjaja->status_tanah = $request->status_tanah; $lesen_penjaja->status_lain = ''; $lesen_penjaja->kawasan_id = $request->kawasan; $lesen_penjaja->taman_id = $request->taman; $lesen_penjaja->jalan_id = $request->jalan; $lesen_penjaja->penempatan_id = $request->penempatan; $lesen_penjaja->makanan = $request->makanan; $lesen_penjaja->minuman = $request->minuman; $lesen_penjaja->lain = $request->lain; $lesen_penjaja->masa_jualan_mula = $request->masa_jualan_mula; $lesen_penjaja->masa_jualan_tamat = $request->masa_jualan_tamat; $lesen_penjaja->jenis_kenderaan = $request->jenis_kenderaan; $lesen_penjaja->no_pendaftaran = $request->no_pendaftaran; $lesen_penjaja->longitude = $request->longitude; $lesen_penjaja->latitude = $request->latitude; $lesen_penjaja->group_laporan = $grup_laporan->kategori; $lesen_penjaja->save(); } else{ $lesen_penjaja = LesenPenjaja::create([ 'user_id' => $user->id, 'syarikat_id' => $syarikat->id, 'jenis_penjaja_id' => $request->jenis_penjaja, 'jenis_lain' => '', 'status_tanah' => $request->status_tanah, 'status_lain' => '', 'kawasan_id' => $request->kawasan, 'taman_id' => $request->taman, 'jalan_id' => $request->jalan, 'penempatan_id' => $request->penempatan, 'makanan' => $request->makanan, 'minuman' => $request->minuman, 'lain' => $request->lain, 'masa_jualan_mula' => $request->masa_jualan_mula, 'masa_jualan_tamat' => $request->masa_jualan_tamat, 'jenis_kenderaan' => $request->jenis_kenderaan, 'no_pendaftaran' => $request->no_pendaftaran, 'longitude' => $request->longitude, 'latitude' => $request->latitude, 'group_laporan' => $grup_laporan->kategori ]); } $folder = 'dokumens/penjaja/'.$lesen_penjaja->id.'/'; $nama_doc = Dokumen::where('jenis', 'lesen_penjaja')->get(); foreach($nama_doc as $doc){ if ($request->hasFile($doc->nama)) { //ada upload? $validated = $request->validate([ $doc->nama => 'file|mimes:jpg,png,pdf', // 2MB max ]); // Store the file $path = $request->file($doc->nama); $extension = $path->extension(); // Determine the file's extension based on the file's MIME type... $name = $doc->nama.".".$extension; $path->storeAs($folder, $name); $lesen_penjaja_dokumen = LesenPenjajaDokumen::updateOrCreate( [ 'lesen_penjaja_id' => $lesen_penjaja->id, 'dokumen_id' => $doc->id, ], [ 'lesen_penjaja_id' => $lesen_penjaja->id, 'dokumen_id' => $doc->id, 'path' => $name, 'jenis_dokumen' => $extension, ]); } } // $request->session()->put('lesen_penjaja_id', $lesen_penjaja->id); return redirect(route('penjaja-mohon-papar', ['id' => $lesen_penjaja->id]))->with('success', 'Permohonan telah disimpan sebagai draf. Klik butang \'Hantar Permohonan\' untuk teruskan.'); } public function edit_permohonan(Request $request, $id){ $permohonan = LesenPenjaja::find($id); $jenis_penjajas = JenisPenjaja::where('status_data',1)->orderBy('kategori', 'desc')->orderBy('jenis','asc')->get(); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; if(!$permohonan->dokumens->isEmpty()){ $doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan'); $doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar'); $doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi'); $doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran'); $doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan'); $doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran'); $doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2'); $doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan'); } if(!is_null($permohonan)){ Gate::authorize('edit-sendiri', $permohonan); return view('penjaja.mohon', [ 'user' => $request->user(), 'permohonan' => $permohonan, 'doc_kad_pengenalan' => $doc_kad_pengenalan, 'doc_gambar' => $doc_gambar, 'doc_lokasi' => $doc_lokasi, 'doc_kebenaran' => $doc_kebenaran, 'doc_kenderaan' => $doc_kenderaan, 'doc_kenderaan_geran' => $doc_kenderaan_geran, 'doc_suntikan_ty2' => $doc_suntikan_ty2, 'doc_kursus_makanan' => $doc_kursus_makanan, 'jenis_penjajas' => $jenis_penjajas ]); } else{ return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai'); } } public function hapus_permohonan($id){ $permohonan = LesenPenjaja::find($id); Gate::authorize('hapus-sendiri', $permohonan); $permohonan->delete(); return redirect(route('dashboard', absolute: false)); } public function hantar_permohonan(Request $request){ $permohonan = LesenPenjaja::find($request->session()->get('lesen_penjaja_id')); if(!is_null($permohonan)){ Gate::authorize('edit-sendiri', $permohonan); $permohonan->status_progress = 'baru'; $permohonan->tarikhmohon = Carbon::now(); $permohonan->save(); return redirect(route('dashboard', absolute: false))->with('success', 'Permohonan berjaya dihantar.'); } else{ return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai'); } } public function papar_permohonan(Request $request, $id){ $permohonan = LesenPenjaja::find($id); if($permohonan->status_progress == 'draf'){ $action = 'penjaja-mohon-hantar'; } else{ $action = 'dashboard'; } $request->session()->put('lesen_penjaja_id', $permohonan->id); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; if(!$permohonan->dokumens->isEmpty()){ $doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan'); $doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar'); $doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi'); $doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran'); $doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan'); $doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran'); $doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2'); $doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan'); } if(!is_null($permohonan)){ Gate::authorize('edit-sendiri', $permohonan); return view('penjaja.mohon_papar', [ 'user' => $request->user(), 'permohonan' => $permohonan, 'doc_kad_pengenalan' => $doc_kad_pengenalan, 'doc_gambar' => $doc_gambar, 'doc_lokasi' => $doc_lokasi, 'doc_kebenaran' => $doc_kebenaran, 'doc_kenderaan' => $doc_kenderaan, 'doc_kenderaan_geran' => $doc_kenderaan_geran, 'doc_suntikan_ty2' => $doc_suntikan_ty2, 'doc_kursus_makanan' => $doc_kursus_makanan, 'action' => $action ]); } else{ return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai'); } } /* public function showDokumen($id, $filename) { $permohonan = LesenPenjaja::find($id); Gate::authorize('edit-sendiri', $permohonan); $path = 'dokumens/penjaja/'.$id.'/'.$filename; if (!Storage::exists($path)) { abort(404); } return response()->file(storage_path('app/' . $path)); }*/ public function stream($id, $filename) { $permohonan = LesenPenjaja::find($id); Gate::authorize('sendiri-or-staff', $permohonan); $path = 'dokumens/penjaja/'.$id.'/'.$filename; if (!Storage::exists($path)) abort(404); return response()->file(storage_path('app/' . $path)); } }