middleware(function ($request, $next) { return $next($request); }); } public function index() { $menu_master = ''; $suplayers = Suplayer::all(); return view('staff.list-suplayer', compact('suplayers','menu_master')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'code' => 'required|unique:suplayers,code', 'name' => 'required|max:50', 'email' => 'required|unique:suplayers,email', 'address_phone' => 'required', 'kota' => 'required|max:50', 'bank_info' => 'required', 'npwp' => 'max:20', 'website' => 'required', 'supplay' => 'required', ]); Suplayer::create($request->except('act', 'id')); return redirect()->route('suplayer.index')->with('msg', 'data berhasil ditambahkan'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { if (\Request::ajax()) { $suplayer = Suplayer::findOrFail($id); return response()->json(['suplayer' => $suplayer]); } else { $suplayer = Suplayer::findOrFail($id); $menu_master = ''; return view('staff.list-suplayer-detail',compact('suplayer', 'menu_master')); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $request->validate([ 'code' => 'required', 'name' => 'required|max:50', 'email' => 'required', 'address_phone' => 'required', 'kota' => 'required|max:50', 'bank_info' => 'required', 'npwp' => 'max:20', 'website' => 'required', 'supplay' => 'required', ]); Suplayer::where('id',$id)->update($request->except('act', 'id', '_token', '_method')); if ($request->from == 'suplayer-home') { return redirect()->route('supplier.home')->with('msg', 'data berhasil perbarui'); }elseif ($request->from == 'vendor-home') { return redirect()->route('vendor.home')->with('msg', 'data berhasil perbarui'); }else{ return redirect()->back()->with('msg', 'data berhasil perbarui'); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { Suplayer::destroy($id); return redirect()->route('suplayer.index')->with('msg','data berhasil dihapus'); } public function supplier(Request $request,$act = null) { if ($act == 'show_material') { $auth = Auth::user(); $k = MaterialKategori::with(['materials' => function($q) use ($auth){ $q->whereDoesntHave('suppliers',function($q2) use ($auth){ $q2->where('id_supplier',$auth->supplier->id); }); }])->findOrFail($request->id_kategori); $materials = $k->materials; return response()->json(['materials' => $materials]); }elseif($act == 'insert_material'){ MaterialSupplier::create([ 'id_supplier' => $request->id_supplier, 'id_material' => $request->id_material, 'harga' => str_replace('.','',$request->harga) ]); return redirect()->back()->with('msg','data berhasil ditambahkan'); }elseif($act == 'update_material'){ MaterialSupplier::where([['id_supplier',$request->id_supplier],['id_material',$request->id_material]]) ->update([ 'harga' => str_replace('.','',$request->harga) ]); return redirect()->back()->with('msg','data berhasil diperbarui'); }elseif($act == 'delete_material'){ MaterialSupplier::destroy($request->id); return redirect()->back()->with('msg','data berhasil dihapus'); }else{ $supplier = Auth::user()->supplier; $kosong = false; foreach ($supplier->toArray() as $key => $value) { if($key != 'website' and $key != 'code' and $key != 'supplay'){ if ($value == null) { $kosong = true; break; } } } $materialKategoris = MaterialKategori::all(); $menu_master = ''; return view('guest.suplayer-home',compact('supplier','kosong','act','materialKategoris', 'menu_master')); } } public function vendor(Request $request,$act = null) { if ($act == 'show_item') { $auth = Auth::user(); $vendors = Vendor::whereDoesntHave('suppliers',function($q2) use ($auth){ $q2->where('id_supplier',$auth->supplier->id); })->whereHas('subkategori.kategori',function($q) use ($request){ $q->where('id',$request->id_kategori); })->get(); return response()->json(['vendors' => $vendors]); }elseif($act == 'insert_item'){ VendorSupplier::create([ 'id_supplier' => $request->id_supplier, 'id_vendor' => $request->id_vendor, 'harga' => str_replace('.','',$request->harga) ]); return redirect()->back()->with('msg','data berhasil ditambahkan'); }elseif($act == 'update_item'){ VendorSupplier::where([['id_supplier',$request->id_supplier],['id_vendor',$request->id_vendor]]) ->update([ 'harga' => str_replace('.','',$request->harga) ]); return redirect()->back()->with('msg','data berhasil diperbarui'); }elseif($act == 'delete_item'){ VendorSupplier::destroy($request->id); return redirect()->back()->with('msg','data berhasil dihapus'); }else{ $vendor = Auth::user()->supplier; $kosong = false; $vendorKategoris = VendorKategori::all(); foreach ($vendor->toArray() as $key => $value) { if($key != 'website' and $key != 'code' and $key != 'supplay'){ if ($value == null) { $kosong = true; break; } } } $menu_master = ''; return view('guest.vendor-home',compact('vendor','kosong','act','vendorKategoris', 'menu_master')); } } }