Author: adamw Date: 2005-08-15 16:34:06 -0400 (Mon, 15 Aug 2005) New Revision: 862 Added: trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/table/ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/table/header.jsp trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/secure/views/navigator/ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/secure/views/navigator/rnotes.jsp Modified: trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/WEB-INF/classes/actions.xml Log: Release notes view Modified: trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/WEB-INF/classes/actions.xml =================================================================== --- trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/WEB-INF/classes/actions.xml 2005-08-15 16:30:57 UTC (rev 861) +++ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/WEB-INF/classes/actions.xml 2005-08-15 20:34:06 UTC (rev 862) @@ -1293,6 +1293,7 @@ <view name="excel-current">/secure/views/navigator/navigator-excel-current.jsp</view> <view name="full">/secure/views/navigator/navigator-full.jsp</view> <view name="error">/secure/views/navigator/navigator.jsp</view> + <view name="rnotes">/secure/views/navigator/rnotes.jsp</view> </action> <action name="issue.ViewIssue" alias="ViewIssue"> Added: trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/table/header.jsp =================================================================== --- trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/table/header.jsp 2005-08-15 16:30:57 UTC (rev 861) +++ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/includes/navigator/table/header.jsp 2005-08-15 20:34:06 UTC (rev 862) @@ -0,0 +1,97 @@ +<%@ taglib uri="sitemesh-page" prefix="page" %> +<%@ taglib uri="webwork" prefix="webwork" %> +<page:applyDecorator name="jirapanel"> + <page:param name="title"><webwork:property value="text('navigator.title')"/><webwork:if test="searchRequest/name"> -- <webwork:property value="searchRequest/name"/></webwork:if></page:param> + <page:param name="description"> + <webwork:if test="$decorator == 'printable'"> + <jsp:include page="/includes/navigator/search-request_description.jsp" /> + <br/> + </webwork:if> + + <%-- Test if we have any issues that were found --%> + <webwork:if test="/searchResults/total == 0"> + <webwork:text name="'navigator.results.nomatchingissues'"/> + </webwork:if> + <webwork:else> + <webwork:text name="'navigator.results.displayissues'"> + <webwork:param name="'value0'"><b><webwork:property value="/searchResults/niceStart" /></b></webwork:param> + <webwork:param name="'value1'"><b><webwork:property value="/searchResults/end" /></b></webwork:param> + <webwork:param name="'value2'"><b><webwork:property value="/searchResults/total" /></b></webwork:param> + </webwork:text> <webwork:if test="'printable' == $decorator"><webwork:text name="'navigator.results.asat'"><webwork:param name="'value0'"><b><webwork:property value="/outlookDate/formatDMYHMS(/outlookDate/now)"/></b></webwork:param></webwork:text></webwork:if><br> + </webwork:else> + + </page:param> + <page:param name="width">100%</page:param> + + <jsp:include page="/includes/errormessages.jsp" /> + + <%-- Only show the views if there are issues that match the search criteria--%> + <webwork:if test="/searchResults/total > 0 && 'printable' != $decorator"> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr> + <td valign="bottom" width=80%><b><webwork:text name="'navigator.results.currentview'"/>:</b><br> + <webwork:if test="'bulk' != $view && 'rnotes' != $view"> + <webwork:text name="'navigator.results.currentview.browser'"/> + </webwork:if> + <webwork:else> + <a href="<webwork:url><webwork:param name="'view'" value="''" /><webwork:param name="'tempMax'" value="'-1'" /><webwork:param name="'decorator'" value="''" /></webwork:url>"><webwork:text name="'navigator.results.currentview.browser'"/></a> + </webwork:else> + | <a href="<webwork:url><webwork:param name="'view'" value="''" /><webwork:param name="'mode'" value="'hide'" /><webwork:param name="'start'" value="'0'" /><webwork:param name="'tempMax'" value="'1000'" /><webwork:param name="'decorator'" value="'printable'" /></webwork:url>"><webwork:text name="'navigator.results.currentview.printable'"/></a> + | <a href="<%= request.getContextPath() %>/secure/IssueNavigator.jspa?view=rss&<webwork:property value="SRQueryString" />&tempMax=25&reset=true&decorator=none"><webwork:text name="'navigator.results.currentview.xml'"/></a> + <webwork:if test="'rnotes' != $view"> + | <a href="<%= request.getContextPath() %>/secure/IssueNavigator.jspa?view=rnotes"> + <webwork:text name="Release Notes"/></a> + </webwork:if> + <webwork:else> + | <webwork:text name="Release Notes"/> + </webwork:else> + | <a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'full'"/><webwork:param name="'tempMax'" value="'30'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.full'"/></a> + | <webwork:text name="'navigator.results.currentview.excel'"/> <span class="subText"> + (<a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'excel'"/><webwork:param name="'tempMax'" value="'1000'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.excel.full'"/></a> + | <a href="<webwork:url page="/secure/IssueNavigator.jspa"><webwork:param name="'view'" value="'excel-current'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.excel.current'"/></a>) + </span> + <webwork:component name="'navigatorviews'" template="help.jsp"> + <webwork:param name="'align'" value="'middle'"/> + </webwork:component> + </td> + <td valign="bottom" align="left" width=20% nowrap> + <webwork:if test="hasBulkEditPermissionForSearchRequest == true"> + <img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle> + <b><webwork:text name="'navigator.results.currentview.bulkchange'"/></b> + <a id="bulkedit_all" href="<webwork:url page="/secure/views/bulkedit/BulkEdit1!default.jspa"><webwork:param name="'reset'" value="'true'"/><webwork:param name="'tempMax'" value="/searchResults/total"/></webwork:url>"><webwork:text name="'navigator.results.currentview.bulkchange.allissues'"><webwork:param name="'value0'" value="/searchResults/total"/></webwork:text></a> + <%-- Show the 'All' link if there is more than one pager --%> + <webwork:if test="/searchResults/pages/size > 1"> + | <a id="bulkedit_curr_pg" href="<webwork:url page="/secure/views/bulkedit/BulkEdit1!default.jspa"><webwork:param name="'reset'" value="'true'"/></webwork:url>"><webwork:text name="'navigator.results.currentview.bulkchange.currentpage'"/></a> + </webwork:if> + </webwork:if> + + <webwork:if test="/remoteUser != null && /hasPermission('use')"> + <webwork:if test="/showOverrideColumnLayout == false"> + <br><img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle> + <webwork:text name="'navigator.results.configurenavigator'"> + <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/ViewUserIssueColumns!default.jspa"><b></webwork:param> + <webwork:param name="'value1'"></b></a></webwork:param> + </webwork:text> + </webwork:if> + <webwork:else> + <br><img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle> + <webwork:text name="'navigator.results.useyourcolumns'"> + <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/IssueNavigator!columnOverride.jspa"><b></webwork:param> + <webwork:param name="'value1'"></b></a></webwork:param> + </webwork:text> + </webwork:else> + </webwork:if> + + <webwork:if test="/hasSearchRequestColumnLayout() == true && /showOverrideColumnLayout == false"> + <br><img src="<%= request.getContextPath() %>/images/icons/bullet_creme.gif" height=8 width=8 border=0 align=absmiddle> + <webwork:text name="'navigator.results.usefilterscolumns'"> + <webwork:param name="'value0'"><a href="<%= request.getContextPath() %>/secure/IssueNavigator!columnOverride.jspa"><b></webwork:param> + <webwork:param name="'value1'"></b></a></webwork:param> + </webwork:text> + </webwork:if> + </td> + </tr> + </table> + </webwork:if> + +</page:applyDecorator> Added: trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/secure/views/navigator/rnotes.jsp =================================================================== --- trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/secure/views/navigator/rnotes.jsp 2005-08-15 16:30:57 UTC (rev 861) +++ trunk/forge/jira-extensions/jira-file-modifications/jira-3.2/edit-webapp/secure/views/navigator/rnotes.jsp 2005-08-15 20:34:06 UTC (rev 862) @@ -0,0 +1,127 @@ +<%@ page import="com.atlassian.jira.web.component.IssueTableLayoutBean, + com.atlassian.jira.web.component.IssuePager, + java.util.*, + org.ofbiz.core.entity.GenericValue, + com.atlassian.jira.ComponentManager, + com.atlassian.jira.issue.search.util.QueryCreator, + com.atlassian.jira.web.action.issue.IssueNavigator, + com.atlassian.jira.web.component.IssueTableWebComponent, + com.atlassian.jira.issue.search.SearchResults, + com.atlassian.jira.config.ConstantsManager"%> +<%@ taglib uri="webwork" prefix="webwork" %> +<%@ taglib uri="sitemesh-page" prefix="page" %> + +<!-- JIRA PART --> + +<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="ffffff"> + <tr> + <!-- This is here to get around a rendering problem on Mozilla which manifests when viewing the page + over a relatively slow connection. The filterform is rendered to take up more than half the page. By + givving a 'relative' row to the browser first we ensure that the rest of the rows are rendered similarly and + hence the width of the filterform column is fixed. Fixes JRA-5116 --> + <webwork:if test="/mode == 'show'"> + <td width="300" bgcolor="ffffff"></td> + </webwork:if> + <webwork:else> + <td width="214" bgcolor="f0f0f0"></td> + </webwork:else> + <td width="1"><img src="<webwork:url page="/images/border/spacer.gif"/>" height="1" width="1"></td> + <td width="100%"></td> + </tr> + +<tr> + <webwork:if test="/mode == 'show'"> + <td width="300" valign="top" bgcolor="ffffff"> + <jsp:include page="/includes/navigator/filter-form.jsp" flush="false" /> + </td> + </webwork:if> + <webwork:else> + <td width="214" valign="top" bgcolor="f0f0f0"> + <jsp:include page="/includes/navigator/summary-pane.jsp" flush="false" /> + </td> + </webwork:else> + <td width="1" bgcolor="bbbbbb"><img src="<webwork:url page="/images/border/spacer.gif"/>" height="1" width="1"></td> +<td valign="top"> + <table cellspacing="0" cellpadding="10" border="0" width="100%"><tr><td> + +<webwork:if test="/searchResults"> + <jsp:include page="/includes/navigator/table/header.jsp"/> +</webwork:if> +<webwork:else> + <page:applyDecorator name="jirapanel"> + <page:param name="title"><webwork:property value="text('navigator.title')"/></page:param> + <page:param name="width">100%</page:param> + <p> + <webwork:text name="'navigator.desc1'"/> + </p> + <p> + <webwork:text name="'navigator.desc2'"/> + </p> + <jsp:include page="/includes/errormessages.jsp" /> + </page:applyDecorator> +</webwork:else> + +<!-- JBoss part --> + +<webwork:if test="/hasErrorMessages == false && /hasErrors == false" > +<webwork:property value="/" id="issueNavigator" /> +<% + IssueNavigator issueNavigator = (IssueNavigator) request.getAttribute("issueNavigator"); + SearchResults searchResults = issueNavigator.getSearchResults(); + Collection issues = searchResults.getIssues(); + + Iterator iter; + /* Map: issue type id -> (Set of issue) */ + Map issuesMap = new TreeMap(); + /* Map: issue type id -> issue name */ + Map issuesNamesMap = new HashMap(); + + List allIssueTypes = ComponentManager.getInstance().getConstantsManager().getAllIssueTypes(); + for (iter = allIssueTypes.iterator(); iter.hasNext();) { + GenericValue issueType = (GenericValue)iter.next(); + issuesNamesMap.put(issueType.getString("id"), issueType.getString("name")); + } + + /* Preparing issueMap */ + for (iter = issuesNamesMap.keySet().iterator(); iter.hasNext();) + issuesMap.put(iter.next(), new TreeSet()); + + /* Filling sets in issueMap */ + for (iter = issues.iterator(); iter.hasNext();) { + GenericValue issue = (GenericValue) iter.next(); + ((Set)issuesMap.get(issue.getString("type"))).add(issue); + } + + for (iter = issuesMap.keySet().iterator(); iter.hasNext();) { + String typeId = (String) iter.next(); + Set currIssues = (Set) issuesMap.get(typeId); + if (currIssues.size() > 0) { +%> + <h2><%= issuesNamesMap.get(typeId) %></h2> + + <ul> + <% + for (Iterator iter2 = currIssues.iterator(); iter2.hasNext();) { + GenericValue issue = (GenericValue) iter2.next(); + %> + <li> + [ <a href="<%= request.getContextPath() %>/browse/<%= issue.getString("key") %>"> + <%= issue.getString("key") %> + </a> ] + <%= issue.getString("summary") %> + </li> + <% + } + %> + </ul> +<% + } + } +%> +</webwork:if> + +<!-- JIRA PART --> + + </td></tr></table> +</td></tr> +</table> |