data['title'] = 'Categories'; $this->data['data'] = DB::table('menu_categories as c') ->leftJoin('menu_categories_types as t', 't.id', '=', 'c.category_type') ->select('c.*','t.name as category_type')->get(); return view('admin.menu.categories', $this->data); } /* | Get single categories |-------------------------------------------------------------------------- */ public function get_category(Request $request) { if($request->id){ return response()->json(MenuCategories::findorFail($request->id)); } } /* | Categories Save |-------------------------------------------------------------------------- */ public function save_category(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/category'); $image->move($destinationPath, $imagename); }else{ $imagename=""; } $create = new MenuCategories; $create->category_type = $request->category_type; $create->category_name = $request->category_name; $create->category_description = $request->category_description; $create->order = $request->order; $create->slug = $request->slug; $create->type = $request->type; $create->image = $imagename; $create->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } /* | update Categories |-------------------------------------------------------------------------- */ public function update_category(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/category'); $image->move($destinationPath, $imagename); File::delete(public_path().'/category/' . $request->old_image); }else{ $imagename = $request->old_image; } $update = MenuCategories::findorFail($request->id); $update->category_type = $request->category_type; $update->category_name = $request->category_name; $update->category_description = $request->category_description; $update->order = $request->order; $update->slug = $request->slug; $update->type = $request->type; if($request->del_category_image && $request->del_category_image == 'true'){ File::delete(public_path().'/category/' . $request->old_image); $update->image = null; }else{ $update->image = $imagename; } $update->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } /* | Categories Status |-------------------------------------------------------------------------- */ public function status_category(Request $request) { if($request->id){ if($request->status == 1){ $status = 0; }else{ $status = 1; } DB::table('menu_categories')->where('id',$request->id)->update(['status' => $status]); return response()->json($status); } abort(404); } /* | Delete category |-------------------------------------------------------------------------- */ public function delete_category(Request $request) { if($request->id){ $delete = MenuCategories::findorFail($request->id); $delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } /* | Manu |-------------------------------------------------------------------------- */ public function get_menu(Request $request) { $this->data['title'] = 'Menu'; $this->data['counts'] = [ 'total' => DB::table('menu_items')->count(), 'active' => DB::table('menu_items')->where('status', 1)->count(), 'inactive' => DB::table('menu_items')->where('status', 0)->count(), 'scheduled' => DB::table('menu_items')->where('schedule', 1)->count(), 'nextday' => DB::table('menu_items')->where('buy', 1)->count() ]; $query = DB::table('menu_items as mi') ->leftJoin('menu_categories as mc', 'mc.id', '=', 'mi.category_id'); if ($request->has('category') && $request->category != '') { $query->where('mi.category_id', $request->category); } if ($request->has('menu_item_name') && $request->menu_item_name != '') { $query->where('mi.menu_item_name', 'like', '%' . $request->menu_item_name . '%'); } if ($request->has('status') && $request->status != '') { $query->where('mi.status', $request->status); } if ($request->has('schedule') && $request->schedule != '') { $query->where('mi.schedule', $request->schedule); } if ($request->has('buy') && $request->buy != '') { $query->where('mi.buy', $request->buy); } $menuitems = $query->select('mi.id as menu_item_id', 'mi.*', 'mc.category_name') ->orderBy('menu_item_id', 'asc') ->get(); foreach ($menuitems as $item) { $item->menuprices = MenuItemPrices::where('menu_id', $item->menu_item_id)->get(); } $this->data['menuitems'] = $menuitems; $this->data['categories'] = MenuCategories::all(); return view('admin.menu.menu', $this->data); } /* | View Manu |-------------------------------------------------------------------------- */ public function viewMenu(Request $request) { $this->data['title'] = 'Menu Details'; $this->data['menuitem'] = DB::table('menu_items as mi') ->leftJoin('menu_categories as mc', 'mc.id', '=', 'mi.category_id') ->where('mi.id',$request->id) ->select('mi.id as menu_item_id','mi.*','mc.category_name') ->first(); $this->data['menuprices'] = MenuItemPrices::where('menu_id',$request->id)->get(); return view('admin.menu.menu_view', $this->data); } /* | Add Menu |-------------------------------------------------------------------------- */ public function addMenu() { $this->data['title'] = 'Add Menu'; $this->data['categories'] = MenuCategories::select('category_name','id')->get(); return view('admin.menu.menu_add', $this->data); } /* | Edit Manu |-------------------------------------------------------------------------- */ public function editMenu(Request $request) { $this->data['title'] = 'Edit Menu'; $this->data['categories'] = MenuCategories::select('category_name','id')->get(); $this->data['menuitem'] = MenuItems::findorFail($request->id); $this->data['menuprices'] = MenuItemPrices::where('menu_id',$request->id)->get(); return view('admin.menu.menu_edit', $this->data); } /* | Save Manu |-------------------------------------------------------------------------- */ public function saveMenu(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/menu'); $image->move($destinationPath, $imagename); }else{ $imagename=""; } $menuitems = new MenuItems; $menuitems->menu_type = $request->menu_type; $menuitems->category_id = $request->category_id; $menuitems->type = $request->type; $menuitems->order_type = $request->order_type; $menuitems->menu_item_name = $request->menu_item_name; $menuitems->description = $request->description; $menuitems->image = $imagename; $menuitems->schedule = $request->schedule; if($request->schedule == 1){ $menuitems->activation = $request->activation; $menuitems->deactivation = $request->deactivation; }else{ $menuitems->activation = null; $menuitems->deactivation = null; } $menuitems->buy = $request->buy; $menuitems->save(); $menu_item_id = $menuitems->id; $menu_items = $request->title; foreach ($menu_items as $k => $v) { $menuprices = new MenuItemPrices; $menuprices->menu_id = $menu_item_id; $menuprices->title = $request->title[$k]; $menuprices->price = $request->price[$k]; $menuprices->serve = $request->serve[$k]; $menuprices->save(); } $request->session()->flash('message', 'Task was successful!'); return back(); } /* | Update Manu |-------------------------------------------------------------------------- */ public function updateMenu(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/menu'); $image->move($destinationPath, $imagename); File::delete(public_path().'/menu/' . $request->old_image); }else{ $imagename = $request->old_image; } $menuitems = MenuItems::find($request->menu_item_id); $menuitems->menu_type = $request->menu_type; $menuitems->category_id = $request->category_id; $menuitems->type = $request->type; $menuitems->order_type = $request->order_type; $menuitems->menu_item_name = $request->menu_item_name; $menuitems->description = $request->description; if($request->del_menu_image && $request->del_menu_image == 'true'){ File::delete(public_path().'/menu/' . $request->old_image); $menuitems->image = null; }else{ $menuitems->image = $imagename; } $menuitems->schedule = $request->schedule; if($request->schedule == 1){ $menuitems->activation = $request->activation; $menuitems->deactivation = $request->deactivation; }else{ $menuitems->activation = null; $menuitems->deactivation = null; } $menuitems->buy = $request->buy; $menuitems->save(); $menu_items = $request->price_id; foreach ($menu_items as $k => $v) { $menuprice = MenuItemPrices::find($v); $menuprice->title = $request->title_update[$k]; $menuprice->price = $request->price_update[$k]; $menuprice->serve = $request->serve_update[$k]; $menuprice->save(); } $request->session()->flash('message', 'Task was successful!'); return back(); } /* | Change Menu status |-------------------------------------------------------------------------- */ public function statusMenu(Request $request) { if($request->id){ if($request->status == 1){ $status = 0; }else{ $status = 1; } DB::table('menu_items')->where('id',$request->id)->update(['status' => $status]); return response()->json($status); } abort(404); } /* | Delete Menu |-------------------------------------------------------------------------- */ public function deleteMenu(Request $request) { if($request->menu_item_id){ $delete = MenuItems::find($request->menu_item_id); $delete->delete(); $mp_delete = MenuItemPrices::where('menu_id',$request->menu_item_id)->first(); $mp_delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } /* | addNewMenuItemDetail |-------------------------------------------------------------------------- */ public function addNewMenuItemDetail(Request $request) { if($request->id != ''){ $menuprices = new MenuItemPrices; $menuprices->menu_id = $request->id; $menuprices->title = $request->title; $menuprices->price = $request->price; $menuprices->serve = $request->serve; $menuprices->save(); return response()->json($menuprices); }else{ return response()->json(false); } } /* | deleteMenuItemDetail |-------------------------------------------------------------------------- */ public function deleteMenuItemDetail(Request $request) { if($request->id){ $delete = MenuItemPrices::find($request->id); $delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } /* | updateMenuOrder |-------------------------------------------------------------------------- */ public function updateMenuOrder(Request $request) { $menu_ids = $request->menu_id; $menu_sequence = $request->sequence; foreach ($menu_ids as $k => $v) { DB::table('menu_items')->where('id', $v)->update(['sequence' => $menu_sequence[$k]]); } $request->session()->flash('message', 'Menu Sequence updated successfully!'); return back(); } public function qrMenu(Request $request) { $this->data['title'] = 'QR Menu'; if(isset($request->type) && $request->type != ''){ $this->data['data'] = \App\MenuQR::where('type',$request->type)->get(); }else{ $this->data['data'] = \App\MenuQR::all(); } return view('admin.menu.qr.menu_qr', $this->data); } public function getQRMenu(Request $request) { if($request->id){ return response()->json(\App\MenuQR::findorFail($request->id)); } } public function saveQRMenu(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/qrmenu'); $image->move($destinationPath, $imagename); }else{ $imagename=""; } $create = new \App\MenuQR; $create->order = $request->order; $create->type = $request->type; $create->image = $imagename; $create->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } public function updateQRMenu(Request $request) { if(input::hasfile("image")){ $image = $request->file('image'); $imagename = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/qrmenu'); $image->move($destinationPath, $imagename); File::delete(public_path().'/qrmenu/' . $request->old_image); }else{ $imagename = $request->old_image; } $update = \App\MenuQR::findorFail($request->id); $update->order = $request->order; $update->type = $request->type; if($request->del_category_image && $request->del_category_image == 'true'){ File::delete(public_path().'/qrmenu/' . $request->old_image); $update->image = null; }else{ $update->image = $imagename; } $update->save(); $request->session()->flash('message', 'Task was successful!'); return back(); } public function deleteQRMenu(Request $request) { if($request->id){ $delete = \App\MenuQR::findorFail($request->id); $delete->delete(); $request->session()->flash('message', 'Task was successful!'); return back(); } abort(404); } }