UserForm.java

  1. package org.itracker.web.forms;

  2. import org.apache.struts.action.ActionErrors;
  3. import org.apache.struts.action.ActionMapping;
  4. import org.apache.struts.action.ActionMessage;
  5. import org.apache.struts.action.ActionMessages;
  6. import org.apache.struts.validator.ValidatorForm;

  7. import javax.servlet.http.HttpServletRequest;
  8. import java.util.HashMap;
  9. import java.util.Map;

  10. public class UserForm extends ValidatorForm {

  11.     private static final long serialVersionUID = 1L;

  12.     private String action = null;
  13.     private Integer id = -1;
  14.     private String login = null;
  15.     private String currPassword = null;
  16.     private String password = null;
  17.     private String confPassword = null;
  18.     private String firstName = null;
  19.     private String lastName = null;
  20.     private String email = null;

  21.     private boolean superUser = false;

  22.     private Map<String, Boolean> permissions = new HashMap<>();

  23.     private String userLocale = null;
  24.     private String numItemsOnIndex = null;
  25.     private String numItemsOnIssueList = null;
  26.     private String showClosedOnIssueList = null;
  27.     private String sortColumnOnIssueList = null;
  28.     private Integer[] hiddenIndexSections = null;
  29.     private String rememberLastSearch = null;
  30.     private String useTextActions = null;

  31.     public String getAction() {
  32.         return action;
  33.     }

  34.     public void setAction(String value) {
  35.         action = value;
  36.     }

  37.     public Integer getId() {
  38.         return id;
  39.     }

  40.     public void setId(Integer value) {
  41.         id = value;
  42.     }

  43.     public String getLogin() {
  44.         return login;
  45.     }

  46.     public void setLogin(String value) {
  47.         login = value;
  48.     }

  49.     public String getCurrPassword() {
  50.         return currPassword;
  51.     }

  52.     public void setCurrPassword(String value) {
  53.         currPassword = value;
  54.     }

  55.     public String getPassword() {
  56.         return password;
  57.     }

  58.     public void setPassword(String value) {
  59.         password = value;
  60.     }

  61.     public String getConfPassword() {
  62.         return confPassword;
  63.     }

  64.     public void setConfPassword(String value) {
  65.         confPassword = value;
  66.     }

  67.     public String getFirstName() {
  68.         return firstName;
  69.     }

  70.     public void setFirstName(String value) {
  71.         firstName = value;
  72.     }

  73.     public String getLastName() {
  74.         return lastName;
  75.     }

  76.     public void setLastName(String value) {
  77.         lastName = value;
  78.     }

  79.     public String getEmail() {
  80.         return email;
  81.     }

  82.     public void setEmail(String value) {
  83.         email = value;
  84.     }

  85.     public boolean isSuperUser() {
  86.         return superUser;
  87.     }

  88.     public void setSuperUser(boolean value) {
  89.         superUser = value;
  90.     }

  91.     public Map<String, Boolean> getPermissions() {
  92.         return permissions;
  93.     }

  94.     public void setPermissions(Map<String, Boolean> value) {
  95.         permissions = value;
  96.     }

  97.     public String getUserLocale() {
  98.         return userLocale;
  99.     }

  100.     public void setUserLocale(String value) {
  101.         userLocale = value;
  102.     }


  103.     public String getNumItemsOnIndex() {
  104.         return numItemsOnIndex;
  105.     }

  106.     public void setNumItemsOnIndex(String value) {
  107.         numItemsOnIndex = value;
  108.     }

  109.     public String getNumItemsOnIssueList() {
  110.         return numItemsOnIssueList;
  111.     }

  112.     public void setNumItemsOnIssueList(String value) {
  113.         numItemsOnIssueList = value;
  114.     }

  115.     public String getShowClosedOnIssueList() {
  116.         return showClosedOnIssueList;
  117.     }

  118.     public void setShowClosedOnIssueList(String value) {
  119.         showClosedOnIssueList = value;
  120.     }

  121.     public String getSortColumnOnIssueList() {
  122.         return sortColumnOnIssueList;
  123.     }

  124.     public void setSortColumnOnIssueList(String value) {
  125.         sortColumnOnIssueList = value;
  126.     }

  127.     public Integer[] getHiddenIndexSections() {
  128.         if (null == hiddenIndexSections)
  129.             return null;
  130.         return hiddenIndexSections.clone();
  131.     }

  132.     public void setHiddenIndexSections(Integer[] value) {
  133.         if (null == value)
  134.             this.hiddenIndexSections = null;
  135.         else
  136.             hiddenIndexSections = value.clone();
  137.     }

  138.     public String getRememberLastSearch() {
  139.         return rememberLastSearch;
  140.     }

  141.     public void setRememberLastSearch(String value) {
  142.         rememberLastSearch = value;
  143.     }

  144.     public String getUseTextActions() {
  145.         return useTextActions;
  146.     }

  147.     public void setUseTextActions(String value) {
  148.         useTextActions = value;
  149.     }

  150.     public void reset(ActionMapping mapping, HttpServletRequest request) {
  151.         action = null;
  152.         id = -1;
  153.         login = null;
  154.         currPassword = null;
  155.         password = null;
  156.         confPassword = null;
  157.         firstName = null;
  158.         lastName = null;
  159.         email = null;
  160.         superUser = false;

  161.         permissions = new HashMap<>();

  162.         userLocale = null;
  163.         numItemsOnIndex = null;
  164.         numItemsOnIssueList = null;
  165.         showClosedOnIssueList = null;
  166.         sortColumnOnIssueList = null;
  167.         hiddenIndexSections = null;
  168.         rememberLastSearch = null;
  169.         useTextActions = null;
  170.     }

  171.     public ActionErrors validate(ActionMapping mapping,
  172.                                  HttpServletRequest request) {

  173.         ActionErrors errors = super.validate(mapping, request);

  174.         if (password == null || password.trim().equals("")) {
  175.             return errors;
  176.         }

  177.         if (!("register".equalsIgnoreCase(action)
  178.                 || "create".equalsIgnoreCase(action)
  179.                 || "update".equalsIgnoreCase(action)
  180.                 || "preferences".equalsIgnoreCase(action)
  181.         ) && (currPassword == null || "".equals(currPassword))) {

  182.             errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
  183.                     "itracker.web.error.missingpassword"));

  184.         } else if (!password.equals(confPassword)) {
  185.             errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
  186.                     "itracker.web.error.matchingpass"));
  187.         }


  188.         request.setAttribute("warnings", errors);
  189.         request.setAttribute("isUpdate", true);
  190.         request.setAttribute("allowProfileUpdate", true);
  191.         request.setAttribute("allowPasswordUpdate", true);

  192.         return errors;
  193.     }

  194. }