1 18 19 package cowsultants.itracker.web.actions; 20 21 import java.io.*; 22 import java.rmi.*; 23 import java.util.*; 24 import javax.ejb.*; 25 import javax.rmi.*; 26 import javax.naming.*; 27 import javax.servlet.*; 28 import javax.servlet.http.*; 29 30 import org.apache.commons.beanutils.*; 31 import org.apache.struts.action.*; 32 import org.apache.struts.upload.*; 33 import org.apache.struts.util.*; 34 import org.apache.struts.validator.*; 35 36 import cowsultants.itracker.ejb.client.exceptions.*; 37 import cowsultants.itracker.ejb.client.interfaces.*; 38 import cowsultants.itracker.ejb.client.models.*; 39 import cowsultants.itracker.ejb.client.resources.*; 40 import cowsultants.itracker.ejb.client.util.*; 41 import cowsultants.itracker.web.forms.*; 42 import cowsultants.itracker.web.util.*; 43 44 45 public class EditPreferencesFormAction extends ITrackerAction { 46 47 public EditPreferencesFormAction() { 48 } 49 50 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 51 ActionErrors errors = new ActionErrors(); 52 53 if(! isLoggedIn(request, response)) { 54 return mapping.findForward("login"); 55 } 56 57 try { 58 InitialContext ic = new InitialContext(); 59 60 Object uhRef = ic.lookup("java:comp/env/" + UserHandler.JNDI_NAME); 61 UserHandlerHome uhHome = (UserHandlerHome) PortableRemoteObject.narrow(uhRef, UserHandlerHome.class); 62 UserHandler uh = uhHome.create(); 63 64 HttpSession session = request.getSession(); 65 UserModel user = (UserModel) session.getAttribute(Constants.USER_KEY); 66 if(user == null) { 67 return mapping.findForward("login"); 68 } 69 70 UserPreferencesModel userPrefs = uh.getUserPreferencesByUserId(user.getId()); 71 72 UserForm userForm = (UserForm) form; 73 if(userForm == null) { 74 userForm = new UserForm(); 75 } 76 userForm.setLogin(user.getLogin()); 77 userForm.setEmail(user.getEmail()); 78 userForm.setFirstName(user.getFirstName()); 79 userForm.setLastName(user.getLastName()); 80 81 Locale userLocale = ITrackerResources.getLocale(userPrefs.getUserLocale()); 82 userForm.setUserLocale((userLocale == null ? ITrackerResources.getDefaultLocale() : userLocale.toString())); 83 userForm.setSaveLogin((userPrefs.getSaveLogin() ? "true" : "false")); 84 userForm.setNumItemsOnIndex((userPrefs.getNumItemsOnIndex() < 1 ? ITrackerResources.getString("itracker.web.generic.all", userLocale) : Integer.toString(userPrefs.getNumItemsOnIndex()))); 85 userForm.setNumItemsOnIssueList((userPrefs.getNumItemsOnIssueList() < 1 ? ITrackerResources.getString("itracker.web.generic.all", userLocale) : Integer.toString(userPrefs.getNumItemsOnIssueList()))); 86 userForm.setShowClosedOnIssueList((userPrefs.getShowClosedOnIssueList() ? "true" : "false")); 87 userForm.setSortColumnOnIssueList(userPrefs.getSortColumnOnIssueList()); 88 userForm.setHiddenIndexSections(UserUtilities.getHiddenIndexSections(userPrefs.getHiddenIndexSections())); 89 userForm.setRememberLastSearch((userPrefs.getRememberLastSearch() ? "true" : "false")); 90 91 request.setAttribute("preferencesForm", userForm); 92 session.setAttribute(Constants.EDIT_USER_KEY, user); 93 session.setAttribute(Constants.EDIT_USER_PREFS_KEY, userPrefs); 94 saveToken(request); 95 return mapping.getInputForward(); 96 } catch(Exception e) { 97 Logger.logError("Exception while creating edit issue form.", e); 98 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("itracker.web.error.system")); 99 } 100 101 return mapping.findForward("error"); 102 } 103 104 } 105 | Popular Tags |