home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 May
/
CMCD0505.ISO
/
Software
/
Shareware
/
Programare
/
bugzero
/
jsp
/
_issuelist.jspf
< prev
next >
Wrap
Text File
|
2005-01-26
|
8KB
|
248 lines
<%
boolean isHomePage = false;
if ("home.jsp".equals(parent)) {
isHomePage = true;
}
IssueList _issueList = null;
Issue[] issueList = null;
int startIndex = 0;
String startStr = request.getParameter("startIndex");
if (startStr != null && startStr.trim().length() > 0) {
try {
startIndex = Integer.parseInt(startStr.trim());
} catch (Exception e) {
startIndex = 0;
}
}
if (startStr != null || msg != null) {
// in case startStr or msg is there, the issue is already loaded
if (!needReload(request)) {
_issueList = (IssueList)session.getAttribute("issueList");
if (_issueList != null) {
issueList = _issueList.getIssues();
}
}
}
if (issueList == null || !query.isLoaded()) {
if (isHomePage) {
query.loadFilter(); // need to reload the default query
}
_issueList = query.list();
issueList = _issueList.getIssues();
session.setAttribute("issueList", _issueList);
}
// set the query in the seesion
if (isHomePage) {
session.setAttribute("query", query);
}
String[] showColumns = query.getShowColumns();
int showNumbers = query.getShowNumbers();
if (showNumbers == 0) {
showNumbers = 10;
if (isHomePage) {
query.setShowNumbers(showNumbers);
}
}
String referUrl = "referUrl";
%>
<% if (issueList.length == 0) {
if (isHomePage) { %>
<dd><b><%=MessageCode.get("jsp.no_active_issue")%></b>
<% } else { %>
<dd><b><%=MessageCode.get("jsp.no_query_result")%></b>
<% }
if (msg != null) { %>
<center>
<font color=red><b><%=msg%></b></font>
</center>
<% }
session.removeAttribute(referUrl);
return;
} %>
<%
if (startIndex > issueList.length || startIndex < 0) {
startIndex = 0;
}
String referPage = contextPath+"/jsp/"+parent+"?startIndex="+startIndex;
session.setAttribute(referUrl, referPage);
int endIndex = startIndex + showNumbers;
if (endIndex > issueList.length) {
endIndex = issueList.length;
}
_issueList.setStart(startIndex);
_issueList.setEnd(endIndex);
%>
<%
String projectId = person.getProject();
Project conf = Project.getInstance(projectId);
String sortColumn = _issueList.getSortColumn();
String exportType = null;
DateTime dateTime = (DateTime)session.getAttribute("datetime");
boolean showButton = "edit".equals(person.getAccessCode());
String responsibleSelect = "responsibleSelect";
%>
<%!
String getImage(String sortColumn, IssueList _issueList) {
String image = null;
if (sortColumn.equals(_issueList.getSortColumn())) {
if (_issueList.isDesc()) {
image = "<img src=\"img/desc.gif\">";
} else {
image = "<img src=\"img/asc.gif\">";
}
} else {
image = "";
}
return image;
}
%>
<center>
<form method="POST" name="issuelist_form" action="<%=contextPath%>/servlet/qa" style="margin-top:0;margin-bottom:0;">
<input type="hidden" name="action" value="none">
<input type="hidden" name="responsible">
<table cellspacing=2 cellpadding=2 width=95% border=0>
<tr><td><b>
<% if (isHomePage) {
exportType = "1";
%>
<%=label.get("my_favorites", projectId)%>
<% } else {
exportType = "2";
%>
<%=label.get("query_result", projectId)%>
<%} %>
</b> (<%=dateTime.localTime()%>)
</td><td align=right>
<font color="#555555" size="-1"><b><%=label.get("sort_order_label")%></b></font>
<select name="sort"
style="font-size:14px;font-face:arial;"
onChange="location.href='<%=contextPath%>/servlet/sorting?parent=<%=parent%>&sort_column='+issuelist_form.sort.options[issuelist_form.sort.selectedIndex].value;">
<%=ListMaker.makeOptionList(label, projectId, conf.sortFields(person.getGroup()), sortColumn) %>
</select>
<a href="<%=contextPath%>/servlet/export/issueList.csv?type=<%=exportType%>" title="Export to CSV"><img src="img/excel.gif" border=0></a>
</td></tr>
</table>
<% if (showButton && (endIndex-startIndex) > 15) { %>
<%@ include file="_buttons.jspf" %>
<% responsibleSelect += "2"; } %>
<table cellspacing=1 cellpadding=3 width=95% border=0>
<tr class="header">
<td><nobr><input type=checkbox name="allbox" value="1" onClick="do_checkbox(issuelist_form, issuelist_form.allbox)">
<%=getImage("entryId", _issueList)%>
<a href="<%=contextPath%>/servlet/sorting?parent=<%=parent%>&sort_column=entryId" class="button">
<%=label.get("entryId", projectId)%></a></nobr></td>
<% for (int c=0; c<showColumns.length; c++) { %>
<td><%=getImage(showColumns[c], _issueList)%>
<a href="<%=contextPath%>/servlet/sorting?parent=<%=parent%>&sort_column=<%=showColumns[c]%>" class="button">
<%=label.get(showColumns[c], projectId)%></a></td>
<% } %>
</tr>
<% int index=0;
for (int i=startIndex; i<endIndex; i++) {
int id = issueList[i].getId();
String listColor="f1";
if ((index/2)*2 != index++) {
listColor = "e8";
}
%>
<tr class="<%=listColor%>">
<td valign=top><nobr><input type=checkbox name="<%=id%>" value="1">
<a href="edit.jsp?projectId=<%=projectId%>&entryId=<%=id%>&index=<%=i%>"><%=id%></a></nobr></td>
<% for (int c=0; c<showColumns.length; c++) {
String field_name = showColumns[c];
String field_value = null;
if ("last_modified".equals(field_name)) {
field_value = dateTime.localTime(issueList[i].getLastModified());
} else if ("arrived_date".equals(field_name)) {
field_value = dateTime.localTime(issueList[i].getArrivedDate());
} else if ("closed_date".equals(field_name)) {
long t = issueList[i].getClosedDate();
if (t == 0) {
field_value = "N/A";
} else {
field_value = dateTime.localTime(t);
}
} else if ("detail".equals(field_name)
|| "response".equals(field_name) ) {
field_value = HtmlParser.toHtml(issueList[i].get(field_name));
} else if (conf.getField(field_name).isURLField()) {
field_value = issueList[i].getLink(field_name);
} else if (conf.getField(field_name).isTextAreaField()) {
field_value = HtmlParser.toHtml(issueList[i].get(field_name));
} else {
field_value = HtmlParser.escapeTag(issueList[i].getDisplay(field_name));
}
%>
<td valign=top><%=field_value%></td>
<% } %>
</tr>
<% } %>
</table>
<table cellspacing=0 cellpadding=2 width=95% border=0>
<tr class="header"><td>
<font color="#000000">
<%=label.get("total_pages")%> <%=issueList.length%> | <%=startIndex+1%>-<%=endIndex%> <%=label.get("displayed")%>
</font>
<%@ include file="_buttons.jspf" %>
</td><td align=right>
<% int showPages = 10; %>
<% if (startIndex>0) {
int prev = startIndex-showNumbers;
if (prev < 0) prev = 0;
%>
<a href="<%=parent%>?startIndex=<%=prev%>">
<img src="img/prev.gif" title="<%=label.get("previous_button")%>" align=middle border=0></a>
<% } %>
<%
int currentPage = startIndex/showNumbers;
if ( (startIndex-showNumbers*currentPage) > 0) currentPage++;
currentPage++;
int totalPages = currentPage + (issueList.length - startIndex - 1)/showNumbers;
int startPage = currentPage - showPages/2;
if ( startPage> (totalPages - showPages + 1) ) {
startPage = totalPages - showPages + 1;
}
if (startPage < 1) {
startPage = 1;
}
int endPage = startPage + showPages - 1;
if (endPage > totalPages) {
endPage = totalPages;
}
if (totalPages > 1) {
for (int i=startPage; i<=endPage; i++) {
int pageIndex = startIndex + showNumbers*(i - currentPage);
if (pageIndex < 0) {
pageIndex = 0;
} else if (pageIndex > issueList.length) {
pageIndex = issueList.length;
}
%>
<% if (i != currentPage) { %>
<a href="<%=parent%>?startIndex=<%=pageIndex%>">
<font color="#000000"><%=i%></font></a>
<% } else {%>
<font color="#000000"><%=i%></font>
<% } %>
<%} }%>
<% if (endIndex<issueList.length) {
int next = issueList.length - endIndex;
if (next > showNumbers) next = showNumbers;
%>
<a href="<%=parent%>?startIndex=<%=endIndex%>">
<img src="img/next.gif" title="<%=label.get("next_button")%>" align=middle border=0></a>
<% } %>
</td></tr>
</table>
</form>
</center>