View Javadoc

1   /**
2    * 
3    */
4   package org.itracker.web.ptos;
5   
6   import java.util.Collections;
7   import java.util.List;
8   import java.util.Map;
9   
10  import javax.servlet.http.HttpServletRequest;
11  import javax.servlet.http.HttpSession;
12  
13  import org.itracker.model.CustomField;
14  import org.itracker.model.NameValuePair;
15  import org.itracker.model.Project;
16  import org.itracker.services.util.IssueUtilities;
17  import org.itracker.services.util.ProjectUtilities;
18  import org.itracker.services.util.WorkflowUtilities;
19  import org.itracker.web.util.Constants;
20  import org.itracker.web.util.LoginUtilities;
21  
22  /**
23   * @author Venkoba
24   * 
25   */
26  public class CreateIssuePTO {
27  	@SuppressWarnings("unchecked")
28  	public static void setupCreateIssue(HttpServletRequest req) {
29  		HttpSession session = req.getSession();
30  		Project project = (Project) session.getAttribute(Constants.PROJECT_KEY);
31  		Map<Integer, List<NameValuePair>> listOptions = (Map<Integer, List<NameValuePair>>) session
32  				.getAttribute(Constants.LIST_OPTIONS_KEY);
33  		List<NameValuePair> possibleOwners = WorkflowUtilities.getListOptions(
34  				listOptions, IssueUtilities.FIELD_OWNER);
35  		List<NameValuePair> severities = WorkflowUtilities.getListOptions(
36  				listOptions, IssueUtilities.FIELD_SEVERITY);
37  		List<NameValuePair> possibleCreators = WorkflowUtilities
38  				.getListOptions(listOptions, IssueUtilities.FIELD_CREATOR);
39  		List<NameValuePair> components = WorkflowUtilities.getListOptions(
40  				listOptions, IssueUtilities.FIELD_COMPONENTS);
41  		List<NameValuePair> versions = WorkflowUtilities.getListOptions(
42  				listOptions, IssueUtilities.FIELD_VERSIONS);
43  		List<CustomField> projectFields = project.getCustomFields();
44  		if (projectFields != null && projectFields.size() > 0) {
45  			Collections.sort(projectFields, CustomField.ID_COMPARATOR);
46  		}
47  		String wrap = "soft";
48          if(ProjectUtilities.hasOption(ProjectUtilities.OPTION_SURPRESS_HISTORY_HTML, project.getOptions())) {
49             wrap = "hard";
50          }
51  		/*
52  		 * Get the status name for the current locale and set in request
53  		 */
54  		String pageTitleKey = "itracker.web.createissue.title";
55  		String pageTitleArg = project.getName();
56  		req.setAttribute("pageTitleKey", pageTitleKey);
57  		req.setAttribute("pageTitleArg", pageTitleArg);
58  		
59  		req.setAttribute("statusName", IssueUtilities.getStatusName(
60  				IssueUtilities.STATUS_NEW, (java.util.Locale) 
61  						LoginUtilities.getCurrentLocale(req)));
62  		req.setAttribute("hasAttachmentOption", !ProjectUtilities.hasOption(
63  				ProjectUtilities.OPTION_NO_ATTACHMENTS, project.getOptions()));
64  		req.setAttribute("possibleOwners", possibleOwners);
65  		req.setAttribute("severities", severities);
66  		req.setAttribute("possibleCreators", possibleCreators);
67  		req.setAttribute("components", components);
68  		req.setAttribute("versions", versions);
69  		req.setAttribute("projectFields", projectFields);
70  		req.setAttribute("listOptions", listOptions);
71  		req.setAttribute("wrap", wrap);
72  	}
73  
74  }