middleware(function ($request, $next) { return $next($request); }); } public function index() { $menu_master = ''; $users = User::where('id_role', 19)->get(); $site_projects = SiteProject::all(); $role = Role::orderBy('name')->get(); return view('staff.list-all-vendor', compact('users', 'site_projects', 'role', 'menu_master')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.rajaongkir.com/starter/city", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "key: c5e9c208d292681daf49eebe6920794b" ), )); $city = curl_exec($curl); $err = curl_error($curl); curl_close($curl); $cities = json_decode($city); $ahsKategoris = AhsKategori::orderBy('urutan','asc')->get(); $site_projects = SiteProject::all(); $menu_master = ''; return view('staff.list-all-vendor-create', compact('ahsKategoris', 'cities', 'site_projects', 'menu_master')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $user = new User(); $user->fullname = $request->get('fullname'); $user->username = $request->get('username'); $user->email = $request->get('email'); $user->password = bcrypt($request->get('password')); $user->level = 'VENDOR'; $user->id_role = 19; $user->active = $request->get('active'); $user->curr_siteproject = $request->get('site_projects')[0]; $user->no_telepon = $request->get('phone'); $user->alamat_workshop = $request->get('alamat_workshop'); $user->area_jangkauan = $request->get('area_jangkauan'); $user->jasa = $request->get('jasa'); // File if($request->file('file')) { $nama_file = []; for($i = 0; $i <= count($request->file('file')) - 1; $i++) { $location = public_path('uploads/'); $file = $request->file('file')[$i]; $file->move($location, $file->getClientOriginalName()); $nama_file[] = $file->getClientOriginalName(); } if(!empty($nama_file)) { $user->upload_file = json_encode($nama_file); } } $user->save(); // Vendor Product if($request->get('id_pekerjaan')) { for($i = 0; $i <= count($request->get('id_pekerjaan')) - 1; $i++) { $pekerjaan = explode('-', $request->get('id_pekerjaan')[$i]); $vendor_product = new VendorProduct(); $vendor_product->id_vendor = $pekerjaan[0]; $vendor_product->id_sub_kategori = $pekerjaan[1]; $vendor_product->id_kategori = $pekerjaan[2]; $vendor_product->id_user = $user->id; $vendor_product->save(); } } // Site Project for($i = 0; $i <= count($request->get('site_projects')) - 1; $i++) { $site_projects = new UserSiteProject(); $site_projects->id_user = $user->id; $site_projects->id_site_project = $request->get('site_projects')[$i]; $site_projects->save(); } return redirect()->route('list_vendor.index')->with('msg', 'Vendor Successfully Created'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { if (\Request::ajax()) { $user = User::findOrFail($id); $usite_projectS = UserSiteProject::where('id_user', $id)->get(); $menu_accessS = $user->menuAkses()->first(); return response()->json([ 'user' => $user, 'usite_projectS' => $usite_projectS, 'menu_accessS' => $menu_accessS, ]); } else { abort('404'); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $user = User::findOrFail($id); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.rajaongkir.com/starter/city", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( "key: c5e9c208d292681daf49eebe6920794b" ), )); $city = curl_exec($curl); $err = curl_error($curl); curl_close($curl); $cities = json_decode($city); $ahsKategoris = AhsKategori::orderBy('urutan','asc')->get(); $site_projects = SiteProject::all(); $menu_master = ''; return view('staff.list-all-vendor-edit', compact('user','ahsKategoris', 'cities', 'site_projects', 'menu_master')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $user = User::findOrFail($id); $user->fullname = $request->get('fullname'); $user->username = $request->get('username'); $user->email = $request->get('email'); $user->active = $request->get('active'); $user->curr_siteproject = $request->get('site_projects')[0]; $user->no_telepon = $request->get('phone'); $user->alamat_workshop = $request->get('alamat_workshop'); $user->area_jangkauan = $request->get('area_jangkauan'); $user->jasa = $request->get('jasa'); // File if($request->file('file')) { $user_file = json_decode(User::findOrFail($id)->upload_file); for($i = 0; $i <= count($request->file('file')) - 1; $i++) { $location = public_path('uploads/'); $file = $request->file('file')[$i]; $file->move($location, $file->getClientOriginalName()); $user_file[] = $file->getClientOriginalName(); } $user->upload_file = json_encode($user_file); } $user->save(); // Delete Vendor Product VendorProduct::where('id_user', $id)->delete(); // Vendor Product if($request->get('id_pekerjaan')) { for($i = 0; $i <= count($request->get('id_pekerjaan')) - 1; $i++) { $pekerjaan = explode('-', $request->get('id_pekerjaan')[$i]); $vendor_product = new VendorProduct(); $vendor_product->id_vendor = $pekerjaan[0]; $vendor_product->id_sub_kategori = $pekerjaan[1]; $vendor_product->id_kategori = $pekerjaan[2]; $vendor_product->id_user = $user->id; $vendor_product->save(); } } // Site Project // Delete UserSiteProject::where('id_user', $id)->delete(); // Insert for($i = 0; $i <= count($request->get('site_projects')) - 1; $i++) { $site_projects = new UserSiteProject(); $site_projects->id_user = $user->id; $site_projects->id_site_project = $request->get('site_projects')[$i]; $site_projects->save(); } return redirect()->route('list_vendor.index')->with('msg', 'Vendor Successfully Updated'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { User::destroy($id); // Delete List Vendor VendorProduct::where('id_user', $id)->delete(); return redirect()->route('list_vendor.index')->with('msg', 'data berhasil dihapus'); } public static function checkVendor($id_user,$id_vendor) { // $user = User::findOrFail($id_user); // $vendors = json_decode($user->id_vendor); // if(in_array($id_vendor, $vendors)) { // return 'checked'; // } else { // return 'false'; // } $pekerjaan = VendorProduct::where([['id_user', $id_user], ['id_vendor', $id_vendor]])->count(); if($pekerjaan > 0) { return 'checked'; } else { return 'false'; } } }