Exemplo n.º 1
0
 public function testMovingNodeNotAffectingOtherMenu()
 {
     $node = MenuItem::where('menu_id', '=', 1)->first();
     $node->down();
     $node = MenuItem::where('menu_id', '=', 2)->first();
     $this->assertEquals(1, $node->getLft());
 }
Exemplo n.º 2
0
 public function deleteCategoryInfo($slug)
 {
     $results = \MenuCategory::where('menu_category_slug', '=', $slug)->get();
     foreach ($results as $result) {
         $id = $result->menu_category_id;
     }
     $items_using_cat = \MenuItem::where('menu_item_category_fk', '=', $id)->get();
     foreach ($items_using_cat as $item_using_cat) {
         if ($item_using_cat) {
             return \Redirect::to("admin/category/edit/{$slug}")->with('message', '<div class="alert alert-dismissible alert-danger alert-link">Unable to delete category. Please make sure no items are using this category.</p></div>');
         }
     }
     //if an item exists that has this cat's fk, reload the page with an error
     if (\Auth::check()) {
         \DB::beginTransaction();
         try {
             $statement = \MenuCategory::find($id);
             $statement->delete();
         } catch (ValidationException $e) {
             DB::rollback();
             throw $e;
         }
         \DB::commit();
         return \Redirect::to('admin')->with('message', '<div class="alert alert-dismissible alert-success alert-link">Category has been deleted</p></div>');
     }
     return \Redirect::to('admin');
 }
Exemplo n.º 3
0
 public function showSingle($slug)
 {
     $slugs = MenuItem::where('menu_item_slug', '=', $slug)->get();
     foreach ($slugs as $slug) {
         $slug = $slug->menu_item_id;
     }
     return View::make('menu-items.single-item')->withSlug($slug);
 }
Exemplo n.º 4
0
 public function getItemInfo($slug)
 {
     $results = \MenuItem::where('menu_item_slug', '=', $slug)->get();
     foreach ($results as $result) {
         $id = $result->menu_item_id;
         $menu_item_name = $result->menu_item_name;
     }
     return \View::make('menu-items.delete')->withSlug($slug)->withMenuItemName($menu_item_name);
 }
Exemplo n.º 5
0
 public function nameToSlug($validated)
 {
     $slug = \Input::get('name');
     $slug = preg_replace('#[ -]+#', '-', $slug);
     $slug = strtolower($slug);
     $results = \MenuItem::where('menu_item_slug', '=', $slug)->get(array('menu_item_slug', 'menu_item_id'));
     $slug_check = "";
     foreach ($results as $result) {
         $slug_check = $result->menu_item_slug;
     }
     if ($slug_check !== $slug) {
         return true;
     }
     return false;
 }
Exemplo n.º 6
0
 public function returnAllMenuInfo($slug)
 {
     $results = \MenuItem::where('menu_item_slug', '=', $slug)->get(array('menu_item_description', 'menu_item_picture_uri', 'menu_item_name', 'menu_item_slug', 'menu_item_id', 'menu_item_category_fk', 'menu_item_short', 'menu_item_price'));
     foreach ($results as $result) {
         $menu_item_description = $result->menu_item_description;
         $menu_item_name = $result->menu_item_name;
         $menu_item_picture_uri = $result->menu_item_picture_uri;
         $menu_item_id = $result->menu_item_id;
         $slug = $result->menu_item_slug;
         $menu_item_category_fk = $result->menu_item_category_fk;
         $menu_item_short = $result->menu_item_short;
         $menu_item_price = $result->menu_item_price;
     }
     function getCategories()
     {
         $category = array();
         $categories = \MenuCategory::get();
         foreach ($categories as $cat) {
             $cat_name = $cat->menu_category_name;
             $cat_id = $cat->menu_category_id;
             $category[$cat_id] = $cat_name;
         }
         return $category;
     }
     function getDefault($menu_item_category_fk)
     {
         $results = \MenuCategory::where('menu_category_id', '=', $menu_item_category_fk)->get(array('menu_category_id'));
         foreach ($results as $result) {
             $category = $result->menu_category_id;
         }
         return $category;
     }
     $categories = getCategories();
     $default = "";
     if (isset($menu_item_category_fk)) {
         $default = getDefault($menu_item_category_fk);
     }
     if (\Auth::check()) {
         if (!isset($menu_item_description)) {
             return \Redirect::to('admin');
         }
         return \View::make('menu-items.edit')->withMenuItemDescription($menu_item_description)->withMenuItemPictureUri($menu_item_picture_uri)->withMenuItemName($menu_item_name)->withMenuItemShort($menu_item_short)->withSlug($slug)->withCategories($categories)->withDefault($default)->withMenuItemPrice($menu_item_price);
     }
     return \Redirect::to('admin');
 }
Exemplo n.º 7
0
 public function checkNameMatch($slug)
 {
     $get_name = \MenuItem::where('menu_item_slug', '=', $slug)->get(array('menu_item_name'));
     foreach ($get_name as $name) {
         $name = $name->menu_item_name;
     }
     //-----------
     $nameprep = \Input::get('name');
     $nameprep = preg_replace('#[ -]+#', '-', $nameprep);
     $nameprep = strtolower($nameprep);
     //------------
     $name_check = \MenuItem::where('menu_item_slug', '=', $nameprep)->get(array('menu_item_name'));
     foreach ($name_check as $get_name) {
         $name_check = $get_name->menu_item_name;
     }
     $result = strcasecmp($name, $name_check);
     if ($result === 0) {
         return true;
     }
     return false;
 }
 public function getallmenus()
 {
     $menuliist = MenuItem::where("menu", Input::get("menu"))->orderBy("label", "asc")->lists("label", "id");
     $menuliist[0] = "Select parent";
     $html = '	<label for="label">MenuItem</label>';
     $html .= Form::select('parent', $menuliist, Input::get("parent"), array("class" => "form-control", "id" => "parentselect"));
     return $html;
 }
Exemplo n.º 9
0
 public function updateMenuItem($slug)
 {
     $validate = new Validate();
     $validator = $validate->Validate();
     if (\Auth::check()) {
         $check = new CheckEditedItem();
         $slugcheck = $check->checkSlugMatch($slug);
         $namecheck = $check->checkNameMatch($slug);
         $idcheck = $check->checkIdMatch($slug);
         $results = \MenuItem::where('menu_item_slug', '=', $slug)->get(array('menu_item_description', 'menu_item_picture_uri', 'menu_item_name', 'menu_item_slug', 'menu_item_id', 'menu_item_short', 'menu_item_category_fk', 'menu_item_price'));
         foreach ($results as $result) {
             $menu_item_description = $result->menu_item_description;
             $menu_item_name = $result->menu_item_name;
             $menu_item_picture_uri = $result->menu_item_picture_uri;
             $slug = $result->menu_item_slug;
             $id = $result->menu_item_id;
             $menu_item_short = $result->menu_item_short;
             $menu_item_category_fk = $result->menu_item_category_fk;
             $menu_item_price = $result->menu_item_price;
         }
         if ($validator->fails()) {
             return \Redirect::back()->withErrors($validator);
         }
         if ($idcheck === true) {
             \DB::beginTransaction();
             try {
                 $slug = strtolower($slug);
                 $statement = \MenuItem::find($id);
                 $statement->menu_item_description = \Input::get('description');
                 if (\Input::hasFile('Upload')) {
                     $name = \Input::file('Upload')->getClientOriginalName();
                     \Input::file('Upload')->move('uploads', $name);
                     $statement->menu_item_picture_uri = '/uploads/' . $name;
                 }
                 $statement->menu_item_short = \Input::get('desc');
                 $statement->menu_item_price = \Input::get('price');
                 $statement->menu_item_category_fk = \Input::get('category');
                 $statement->save();
             } catch (ValidationException $e) {
                 DB::rollback();
                 throw $e;
             }
             \DB::commit();
             return \Redirect::to('admin/edit/' . $slug)->with('message', '<div class="alert alert-dismissible alert-success alert-link"><button type="button" class="close" data-dismiss="alert">×</button>Saved at: ' . link_to('/menu/' . $slug) . '</p></div>');
         }
         if ($slugcheck === false || $namecheck === false) {
             $slug = \Input::get('name');
             $slug = preg_replace('#[ -]+#', '-', $slug);
             $slug = strtolower($slug);
             $results = \MenuItem::where('menu_item_slug', '=', $slug)->get(array('menu_item_id'));
             foreach ($results as $result) {
                 $check_id = $result->menu_item_id;
             }
             if (isset($check_id)) {
                 return \Redirect::back()->withErrors($validator)->withInput(array('name', 'description', 'category', 'desc', 'price'))->with('message', '<p class="alert alert-dismissible alert-danger alert-link">An item with the same name already exists');
             }
             \DB::beginTransaction();
             try {
                 $statement = \MenuItem::find($id);
                 $statement->menu_item_name = \Input::get('name');
                 $statement->menu_item_description = \Input::get('description');
                 if (\Input::hasFile('Upload')) {
                     $name = \Input::file('Upload')->getClientOriginalName();
                     \Input::file('Upload')->move('uploads', $name);
                     $statement->menu_item_picture_uri = '/uploads/' . $name;
                 }
                 $statement->menu_item_slug = $slug;
                 $statement->menu_item_price = \Input::get('price');
                 $statement->menu_item_short = \Input::get('desc');
                 $statement->menu_item_category_fk = \Input::get('category');
                 $statement->save();
             } catch (ValidationException $e) {
                 DB::rollback();
                 throw $e;
             }
             \DB::commit();
             return \Redirect::to('admin/edit/' . $slug)->with('message', '<div class="alert alert-dismissible alert-success alert-link"><button type="button" class="close" data-dismiss="alert">×</button>Saved at: ' . link_to('/menu/' . $slug) . '</p></div>');
         }
         return \Redirect::to('admin/edit/' . $slug)->withErrors($validator)->withInput(array('name', 'description', 'category', 'desc', 'price'))->with('message', '<p class="alert alert-dismissible alert-danger alert-link">An item with the same name already exists');
     }
 }