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'); }
public function updateMenuCategory($slug) { $validate = new Validate(); $validator = $validate->Validate_Category(); if (\Auth::check()) { $check = new CheckEditedCategory(); $slugcheck = $check->checkSlugMatch($slug); $namecheck = $check->checkNameMatch($slug); $idcheck = $check->checkIdMatch($slug); $results = \MenuCategory::where('menu_category_slug', '=', $slug)->get(array('menu_category_slug', 'menu_category_name', 'menu_category_id')); foreach ($results as $result) { $menu_category_name = $result->menu_category_name; $slug = $result->menu_category_slug; $id = $result->menu_category_id; } if ($validator->fails()) { return \Redirect::back()->withErrors($validator); } if ($idcheck === true) { \DB::beginTransaction(); try { $slug = strtolower($slug); $statement = \MenuCategory::find($id); $statement->save(); } catch (ValidationException $e) { DB::rollback(); throw $e; } \DB::commit(); return \Redirect::to('admin/category/edit/' . $slug)->with('message', '<p class="alert alert-dismissible alert-success alert-link">Saved!' . '</p>'); } if ($slugcheck === false || $namecheck === false) { $slug = \Input::get('name'); $slug = preg_replace('#[ -]+#', '-', $slug); $slug = strtolower($slug); $results = \MenuCategory::where('menu_category_slug', '=', $slug)->get(array('menu_category_id')); foreach ($results as $result) { $check_id = $result->menu_category_id; } if (isset($check_id)) { return \Redirect::back()->withErrors($validator)->withInput(array('name'))->with('message', '<p class="alert alert-dismissible alert-danger alert-link">A category with the same name already exists'); } \DB::beginTransaction(); try { $statement = \MenuCategory::find($id); $statement->menu_category_name = \Input::get('name'); $statement->menu_category_slug = $slug; $statement->save(); } catch (ValidationException $e) { DB::rollback(); throw $e; } \DB::commit(); return \Redirect::to('admin/category/edit/' . $slug)->with('message', '<p class="alert alert-dismissible alert-success alert-link">Saved!' . '</p>'); } return \Redirect::to('admin/category/edit' . $slug)->withErrors($validator)->withInput(array('name'))->with('message', '<p class="alert alert-dismissible alert-danger alert-link">A category with the same name already exists'); } }