| 1 6 7 package org.contineo.actions.admin.user; 8 9 import java.util.Collection ; 10 import javax.servlet.http.HttpServletRequest ; 11 import javax.servlet.http.HttpServletResponse ; 12 import javax.servlet.http.HttpSession ; 13 import org.apache.log4j.Level; 14 import org.apache.log4j.Logger; 15 import org.apache.struts.action.Action; 16 import org.apache.struts.action.ActionError; 17 import org.apache.struts.action.ActionErrors; 18 import org.apache.struts.action.ActionForm; 19 import org.apache.struts.action.ActionForward; 20 import org.apache.struts.action.ActionMapping; 21 import org.apache.struts.action.ActionMessage; 22 import org.apache.struts.action.ActionMessages; 23 import org.contineo.admin.User; 24 import org.contineo.admin.dao.GroupDAO; 25 import org.contineo.admin.dao.UserDAO; 26 import org.contineo.core.FileBean; 27 import org.contineo.core.LoggingManager; 28 import org.contineo.core.SessionManagement; 29 import org.contineo.core.config.SettingConfigurator; 30 34 public class SaveUserAction extends Action { 35 36 40 private Logger logger; 41 42 43 44 public SaveUserAction() { 45 logger = LoggingManager.getLogger(this.getClass()); 46 } 47 48 public ActionForward execute(ActionMapping mapping, 49 ActionForm form, HttpServletRequest request, 50 HttpServletResponse response) { 51 ActionForward actionForward = new ActionForward(); 52 ActionErrors errors = new ActionErrors(); 53 ActionMessages messages = new ActionMessages(); 54 HttpSession session = request.getSession(); 55 if (SessionManagement.isValid(session)) { 56 try { 57 User user = (User)form; 58 UserDAO dao = new UserDAO(); 59 if (dao.existsUser(user.getUserName())) { 60 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.userexists")); 61 } else { 62 boolean stored = dao.store(user); 63 if (!stored) 64 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.saveuser.notstored")); 65 else { 66 messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("msg.action.saveuser")); 67 SettingConfigurator conf = new SettingConfigurator(); 68 String userdir = conf.getValue("userdir") + "/" + user.getUserName(); 69 FileBean.createDir(userdir); 70 FileBean.createDir(userdir + "/mails"); 71 } 72 } 73 form.reset(mapping, request); 74 GroupDAO gdao = new GroupDAO(); 75 Collection coll = gdao.findAll(); 76 request.setAttribute("groups", coll); 77 } catch (Exception e) { 78 if (logger.isEnabledFor(Level.ERROR)) 79 logger.error(e.getMessage()); 80 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.saveuser.notstored")); 81 } 82 saveErrors(request, errors); 83 saveMessages(request, messages); 84 actionForward = mapping.findForward("adduser"); 85 } else 86 actionForward = mapping.findForward("invalid"); 87 return actionForward; 88 } 89 } 90 | Popular Tags |