/** * Balero CMS Project: Proyecto 100% Mexicano de código libre. * Página Oficial: http://www.balerocms.com * * @author Anibal Gomez <anibalgomez@icloud.com> * @copyright Copyright (C) 2015 Neblina Software. Derechos reservados. * @license Licencia BSD; vea LICENSE.txt */ package com.neblina.balero.web.authorized.admin; import com.neblina.balero.service.UserService; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.annotation.Secured; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/admin/user") public class AdminUserController { private static final Logger log = LogManager.getLogger(AdminUserController.class.getName()); @Autowired private UserService userService; @Secured("ROLE_ADMIN") @RequestMapping(value = "") public String userList(Model model) { model.addAttribute("users", userService.findAll()); return "authorized/user"; } @Secured("ROLE_ADMIN") @RequestMapping("/") public String userListRedirect() { return "redirect:/admin/user"; } @Secured("ROLE_ADMIN") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public String userGet(Model model, @PathVariable("id") Long id) { model.addAttribute("users", userService.findOneById(id)); return "authorized/user_edit"; } @Secured("ROLE_ADMIN") @RequestMapping(value = "/{id}", method = RequestMethod.POST) public String userPost(Model model, @PathVariable("id") Long id, @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName, @RequestParam("email") String email) { model.addAttribute("success", 1); model.addAttribute("users", userService.findOneById(id)); userService.updateUserInfo( id, firstName, lastName, email ); return "authorized/user_edit"; } @Secured("ROLE_ADMIN") @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) public String deleteUserGet(Model model, @PathVariable("id") Long id) { model.addAttribute("success", 1); model.addAttribute("users", userService.findOneById(id)); userService.deleteUserEmail(id); return "redirect:/admin/user"; } @Secured("ROLE_ADMIN") @RequestMapping(value = "/list", method = RequestMethod.POST) public String userEmailListPost(@RequestParam("firstName") String firstName, @RequestParam("email") String email, Model model) { model.addAttribute("success", 1); userService.createUserAccount("temp", "temp", "temp", firstName, "temp", email, true, "ROLE_ANONYMOUS", "user"); return "redirect:/admin/user"; } }