package org.taobao88.taobao.controllers;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.taobao88.taobao.controllers.validators.PageRedactorValidator;
import org.taobao88.taobao.enterprise.entity.TopMenu;
import org.taobao88.taobao.enterprise.service.TopMenuService;
@Controller
@RequestMapping(value = "/admin/pageRedactor/topMenu")
public class TopMenuController extends MainController {
@Autowired private TopMenuService topMenuService;
private PageRedactorValidator validator;
@RequestMapping(method = RequestMethod.GET)
public String index(Model model) {
model.addAttribute("topMenuList", topMenuService.getFullTopMenu());
model.addAttribute("top_menu_index", true);
return "pageRedactor";
}
@RequestMapping(value = "/createTopMenu", method = RequestMethod.GET)
public String createTopMenu(Model model) {
model.addAttribute("top_menu_create", true);
return "pageRedactor";
}
@RequestMapping(value = "/createTopMenu/doCreate", method = RequestMethod.POST)
public String doCreateTopMenu(HttpServletRequest request, Model model) {
validator = new PageRedactorValidator();
List<String> errors = validator.validateCreateTopMenu(request);
if (errors.size() != 0) {
model.addAttribute("errors", toJSArray(errors.toArray()));
model.addAttribute("top_menu_create", true);
return "pageRedactor";
}
try {
TopMenu topMenu = new TopMenu();
topMenu.setMenuName(validator.getString("menuName"));
topMenu.setMenuDescription(validator.getString("menuDescription"));
topMenu.setMenuOrder(validator.getInt("menuOrder"));
topMenuService.addTopMenu(topMenu);
return "redirect:/admin/pageRedactor/topMenu";
} catch (Exception e) {
model.addAttribute("unknown_error", true);
model.addAttribute("top_menu_create", true);
return "pageRedactor";
}
}
@RequestMapping(value = "/updateTopMenu", method = RequestMethod.GET)
public String updateTopMenu(@RequestParam("id") int id, Model model) {
TopMenu topMenu = topMenuService.getTopMenuById(id);
model.addAttribute("topMenu", topMenu);
model.addAttribute("top_menu_update", true);
return "pageRedactor";
}
@RequestMapping(value = "/updateTopMenu/doUpdate", method = RequestMethod.POST)
public String doUpdateTopMenu(@RequestParam("id") int id,
@RequestParam("menuName") String menuName,
@RequestParam("menuDescription") String menuDescription,
@RequestParam("menuOrder") int menuOrder) {
TopMenu topMenu = topMenuService.getTopMenuById(id);
topMenu.setMenuName(menuName);
topMenu.setMenuDescription(menuDescription);
topMenu.setMenuOrder(menuOrder);
topMenuService.updateTopMenu(topMenu);
return "redirect:/admin/pageRedactor/topMenu";
}
@RequestMapping(value = "/deleteTopMenu", method = RequestMethod.GET)
public String deleteTopMenu(@RequestParam("id") int id) {
TopMenu topMenu = topMenuService.getTopMenuById(id);
topMenuService.deleteTopMenu(topMenu);
return "redirect:/admin/pageRedactor/topMenu";
}
@RequestMapping(value = "/viewTopMenu", method = RequestMethod.GET)
public String viewTopMenu(@RequestParam("id") int id, Model model) {
model.addAttribute("topMenu", topMenuService.getTopMenuById(id));
model.addAttribute("topMenuList", topMenuService.getFullTopMenu());
return "_template";
}
@RequestMapping(value = "/previewTopMenu", method = RequestMethod.POST)
public String previewTopMenu(
@RequestParam("menuDescription") String menuDescription, Model model) {
TopMenu topMenu = new TopMenu();
topMenu.setMenuDescription(menuDescription);
model.addAttribute("topMenu", topMenu);
model.addAttribute("topMenuList", topMenuService.getFullTopMenu());
return "_template";
}
}