예제 #1
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');
 }
예제 #2
0
 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');
     }
 }