1 16 package com.blandware.atleap.webapp.action.core.user; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.User; 20 import com.blandware.atleap.service.core.UserManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.UserForm; 23 import org.apache.struts.action.ActionForm; 24 import org.apache.struts.action.ActionForward; 25 import org.apache.struts.action.ActionMapping; 26 import org.apache.struts.action.ActionMessage; 27 import org.apache.struts.action.ActionMessages; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 32 52 public final class ViewUserAction extends BaseAction { 53 62 public ActionForward execute(ActionMapping mapping, ActionForm form, 63 HttpServletRequest request, HttpServletResponse response) throws Exception { 64 65 UserForm userForm = (UserForm) form; 66 String userName = null; 67 if ( userForm.getName() != null ) { 68 userName = userForm.getName(); 69 } else if ( request.getRemoteUser() != null ) { 70 userName = request.getRemoteUser(); 71 } else { 72 if ( log.isWarnEnabled() ) { 73 log.warn("Missing user name. Returning to list..."); 74 } 75 if ( request.isUserInRole("core-user-list") ) { 76 return mapping.findForward("listUsers"); 77 } else { 78 return mapping.findForward("admin"); 79 } 80 81 } 82 83 if ( !userName.equals(request.getRemoteUser()) && !request.isUserInRole("core-user-view") ) { 84 response.sendError(HttpServletResponse.SC_FORBIDDEN); 85 return null; 86 } 87 88 UserManager userManager = (UserManager) getBean(Constants.USER_MANAGER_BEAN); 89 User user = userManager.retrieveUser(userName); 90 if ( user == null ) { 91 ActionMessages errors = new ActionMessages(); 93 errors.add("userNotFound", new ActionMessage("core.user.errors.notFound")); 94 saveErrors(request, errors); 95 return mapping.findForward("listUsers"); 96 } 97 98 request.setAttribute("viewingOneself", new Boolean (userName.equals(request.getRemoteUser()))); 99 100 request.setAttribute("user", user); 101 return mapping.findForward("viewUser"); 102 } 103 } | Popular Tags |