paginate(config('default_pagination')); return view('vendor-views.addon.index', compact('addons')); } public function store(Request $request) { if(!Helpers::get_restaurant_data()->food_section) { Toastr::warning(translate('messages.permission_denied')); return back(); } $request->validate([ 'name' => 'required|array', 'name.*' => 'max:191', 'price' => 'required|numeric|between:0,999999999999.99', ],[ 'name.required' => translate('messages.Name is required!'), ]); $addon = new AddOn(); $addon->name = $request->name[array_search('en', $request->lang)]; $addon->price = $request->price; $addon->restaurant_id = \App\CentralLogics\Helpers::get_restaurant_id(); $addon->save(); $data = []; foreach($request->lang as $index=>$key) { if($request->name[$index] && $key != 'en') { array_push($data, Array( 'translationable_type' => 'App\Models\AddOn', 'translationable_id' => $addon->id, 'locale' => $key, 'key' => 'name', 'value' => $request->name[$index], )); } } if(count($data)) { Translation::insert($data); } Toastr::success(translate('messages.addon_added_successfully')); return back(); } public function edit($id) { if(!Helpers::get_restaurant_data()->food_section) { Toastr::warning(translate('messages.permission_denied')); return back(); } $addon = AddOn::withoutGlobalScope('translate')->findOrFail($id); return view('vendor-views.addon.edit', compact('addon')); } public function update(Request $request, $id) { if(!Helpers::get_restaurant_data()->food_section) { Toastr::warning(translate('messages.permission_denied')); return back(); } $request->validate([ 'name' => 'required|max:191', 'price' => 'required|numeric|between:0,999999999999.99', ], [ 'name.required' => translate('messages.Name is required!'), ]); $addon = AddOn::find($id); $addon->name = $request->name[array_search('en', $request->lang)]; $addon->price = $request->price; $addon->save(); foreach($request->lang as $index=>$key) { if($request->name[$index] && $key != 'en') { Translation::updateOrInsert( ['translationable_type' => 'App\Models\AddOn', 'translationable_id' => $addon->id, 'locale' => $key, 'key' => 'name'], ['value' => $request->name[$index]] ); } } Toastr::success(translate('messages.addon_updated_successfully')); return redirect(route('vendor.addon.add-new')); } public function delete(Request $request) { if(!Helpers::get_restaurant_data()->food_section) { Toastr::warning(translate('messages.permission_denied')); return back(); } $addon = AddOn::find($request->id); $addon->delete(); Toastr::success(translate('messages.addon_deleted_successfully')); return back(); } }