a = aggregate data, criteria
a > 0 ? link_to(h(a), *args) : '-'
end
+
+ def aggregate_path(project, field, row, options={})
+ parameters = {:set_filter => 1, :subproject_id => '!*', field => row.id}.merge(options)
+ project_issues_path(row.is_a?(Project) ? row : project, parameters)
+ end
end
issues_path(*args)
end
end
+
+ def _project_calendar_path(project, *args)
+ project ? project_calendar_path(project, *args) : issues_calendar_path(*args)
+ end
+
+ def _project_gantt_path(project, *args)
+ project ? project_gantt_path(project, *args) : issues_gantt_path(*args)
+ end
end
<h3><%= l(:label_issue_plural) %></h3>
-<%= link_to l(:label_issue_view_all), { :controller => 'issues', :action => 'index', :project_id => @project, :set_filter => 1 } %><br />
+<%= link_to l(:label_issue_view_all), _project_issues_path(@project, :set_filter => 1) %><br />
<% if @project %>
-<%= link_to l(:field_summary), :controller => 'reports', :action => 'issue_report', :id => @project %><br />
+<%= link_to l(:field_summary), project_issues_report_path(@project) %><br />
<% end %>
<%= call_hook(:view_issues_sidebar_issues_bottom) %>
<% if User.current.allowed_to?(:view_calendar, @project, :global => true) %>
- <%= link_to(l(:label_calendar), :controller => 'calendars', :action => 'show', :project_id => @project) %><br />
+ <%= link_to l(:label_calendar), _project_calendar_path(@project) %><br />
<% end %>
<% if User.current.allowed_to?(:view_gantt, @project, :global => true) %>
- <%= link_to(l(:label_gantt), :controller => 'gantts', :action => 'show', :project_id => @project) %><br />
+ <%= link_to l(:label_gantt), _project_gantt_path(@project) %><br />
<% end %>
<%= call_hook(:view_issues_sidebar_planning_bottom) %>
<tbody>
<% for row in rows %>
<tr class="<%= cycle("odd", "even") %>">
- <td><%= link_to h(row.name), :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id %></td>
+ <td><%= link_to h(row.name), aggregate_path(@project, field_name, row) %></td>
<% for status in @statuses %>
- <td align="center"><%= aggregate_link data, { field_name => row.id, "status_id" => status.id },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "status_id" => status.id,
- "#{field_name}" => row.id %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id, "status_id" => status.id }, aggregate_path(@project, field_name, row, :status_id => status.id) %></td>
<% end %>
- <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 0 },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "o" %></td>
- <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 1 },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "c" %></td>
- <td align="center"><%= aggregate_link data, { field_name => row.id },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "*" %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td>
</tr>
<% end %>
</tbody>
<tbody>
<% for row in rows %>
<tr class="<%= cycle("odd", "even") %>">
- <td><%= link_to h(row.name), :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id %></td>
- <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 0 },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "o" %></td>
- <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 1 },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "c" %></td>
- <td align="center"><%= aggregate_link data, { field_name => row.id },
- :controller => 'issues', :action => 'index', :project_id => ((row.is_a?(Project) ? row : @project)),
- :set_filter => 1,
- :subproject_id => '!*',
- "#{field_name}" => row.id,
- "status_id" => "*" %></td>
+ <td><%= link_to h(row.name), aggregate_path(@project, field_name, row) %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 0 }, aggregate_path(@project, field_name, row, :status_id => "o") %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id, "closed" => 1 }, aggregate_path(@project, field_name, row, :status_id => "c") %></td>
+ <td align="center"><%= aggregate_link data, { field_name => row.id }, aggregate_path(@project, field_name, row, :status_id => "*") %></td>
</tr>
<% end %>
</tbody>
<h2><%=l(:label_report_plural)%></h2>
<div class="splitcontentleft">
-<h3><%=l(:field_tracker)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'tracker' %></h3>
+<h3><%=l(:field_tracker)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'tracker') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %>
<br />
-<h3><%=l(:field_priority)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'priority' %></h3>
+<h3><%=l(:field_priority)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'priority') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %>
<br />
-<h3><%=l(:field_assigned_to)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'assigned_to' %></h3>
+<h3><%=l(:field_assigned_to)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'assigned_to') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_assigned_to, :field_name => "assigned_to_id", :rows => @assignees } %>
<br />
-<h3><%=l(:field_author)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'author' %></h3>
+<h3><%=l(:field_author)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'author') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_author, :field_name => "author_id", :rows => @authors } %>
<br />
<%= call_hook(:view_reports_issue_report_split_content_left, :project => @project) %>
</div>
<div class="splitcontentright">
-<h3><%=l(:field_version)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'version' %></h3>
+<h3><%=l(:field_version)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'version') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %>
<br />
<% if @project.children.any? %>
-<h3><%=l(:field_subproject)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'subproject' %></h3>
+<h3><%=l(:field_subproject)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'subproject') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_subproject, :field_name => "project_id", :rows => @subprojects } %>
<br />
<% end %>
-<h3><%=l(:field_category)%> <%= link_to image_tag('zoom_in.png'), :action => 'issue_report_details', :detail => 'category' %></h3>
+<h3><%=l(:field_category)%> <%= link_to image_tag('zoom_in.png'), project_issues_report_details_path(@project, :detail => 'category') %></h3>
<%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %>
<br />
<%= call_hook(:view_reports_issue_report_split_content_right, :project => @project) %>
<h3><%=@report_title%></h3>
<%= render :partial => 'details', :locals => { :data => @data, :field_name => @field, :rows => @rows } %>
<br />
-<%= link_to l(:button_back), :action => 'issue_report' %>
+<%= link_to l(:button_back), project_issues_report_path(@project) %>
get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
get '/issues/calendar', :to => 'calendars#show'
- match 'projects/:id/issues/report', :to => 'reports#issue_report', :via => :get
- match 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :via => :get
+ get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
+ get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
match 'my/account', :controller => 'my', :action => 'account', :via => [:get, :post]
match 'my/account/destroy', :controller => 'my', :action => 'destroy', :via => [:get, :post]