/**
  * Request method to delete category
  *
  * @param id of category to delete
  * @return view
  */
 @RequestMapping(value = "/delete/category", method = RequestMethod.GET)
 public ModelAndView deleteCategory(@RequestParam int id) {
   categoryService.deleteCategory(id);
   ModelAndView view = new ModelAndView("redirect:/admin/categories");
   view.addObject("categories", categoryService.getAllCategories());
   return view;
 }
 /**
  * Admin root path
  *
  * @return view
  */
 @RequestMapping(method = RequestMethod.GET)
 public ModelAndView adminHome() {
   ModelAndView view = new AdminModelAndView("admin");
   view.addObject("usersCount", userService.getAllUsers().size());
   view.addObject("productsCount", productService.getAllProducts().size());
   view.addObject("categoriesCount", categoryService.getAllCategories().size());
   view.addObject("purchasesCount", purchaseService.getAllPurchases().size());
   view.addObject("promotions", productService.getOnPromotion());
   return view;
 }
 /**
  * Request method to show one product
  *
  * @param productId id of product to show
  * @return view
  */
 @RequestMapping(value = "/product", method = RequestMethod.GET)
 public ModelAndView addOrEditProductGet(@RequestParam int productId) {
   ModelAndView view = new AdminModelAndView("add_product");
   if (productId == 0) {
     view.addObject("product", new Product());
   } else {
     view.addObject("product", productService.getProduct(productId));
   }
   view.addObject("categoriesList", categoryService.getAllCategories());
   return view;
 }