Package se.inera.ifv.casebox.controller

Source Code of se.inera.ifv.casebox.controller.UserController

package se.inera.ifv.casebox.controller;

import java.util.List;

import javax.validation.Valid;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
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.servlet.ModelAndView;

import se.inera.ifv.casebox.controller.vo.UserForm;
import se.inera.ifv.casebox.core.entity.User;
import se.inera.ifv.casebox.core.service.UserService;
import se.inera.ifv.casebox.exception.CaseboxException;

@Controller
@RequestMapping("/admin/user")
public class UserController {
   
    @Autowired
    private UserService userService;
    private static final Logger log = LoggerFactory.getLogger(UserController.class);

    @RequestMapping(value="/create", method=RequestMethod.POST)
    public ModelAndView create(@ModelAttribute("form") @Valid UserForm form,
            BindingResult result) {
        ModelAndView mav = new ModelAndView("admin/user");
       
        try {
            userService.createUser(form.getUsername(), form.getPassword(), form.getFirstname(), form.getLastname());
        } catch (CaseboxException e) {
            log.error(e.getMessage());
            mav.getModel().put("error", e.getMessageCode());
        }
        List<User> users = userService.findAllUsers();
        mav.addObject("users", users);
        return mav;
    }
   
    @RequestMapping(value="/delete/{username}", method=RequestMethod.GET)
    public ModelAndView delete(@PathVariable String username) {
        ModelAndView mav = new ModelAndView("admin/user");
        log.debug("Delete user {}", new Object[]{username});
        try {
            userService.deleteUser(username);
        } catch (CaseboxException e) {
            log.error(e.getMessage());
            mav.getModel().put("error", e.getMessageCode());
        }
        List<User> users = userService.findAllUsers();
        mav.addObject("users", users);
        mav.addObject("form", new UserForm());
        return mav;
    }
   
    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView userOverview() {
        ModelAndView mav = new ModelAndView("admin/user");
        List<User> users = userService.findAllUsers();
        mav.addObject("users", users);
        mav.addObject("form", new UserForm());
        return mav;
    }
}
TOP

Related Classes of se.inera.ifv.casebox.controller.UserController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.