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
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
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 }