OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/views/projects/list_issues.rhtml

84 lines
4.0 KiB

<% if @query.new_record? %>
<div class="contextual">
<%= render :partial => 'issues/add_shortcut', :locals => {:trackers => @trackers } %>
</div>
<h2><%=l(:label_issue_plural)%></h2>
<% form_tag({:action => 'list_issues'}, :id => 'query_form') do %>
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
<% end %>
<div class="contextual">
<%= link_to_remote l(:button_apply),
{ :url => { :controller => 'projects', :action => 'list_issues', :id => @project, :set_filter => 1 },
:update => "content",
:with => "Form.serialize('query_form')"
}, :class => 'icon icon-edit' %>
<%= link_to l(:button_clear), {:controller => 'projects', :action => 'list_issues', :id => @project, :set_filter => 1}, :class => 'icon icon-del' %>
<% if authorize_for('projects', 'add_query') %>
<%= link_to_remote l(:button_save),
{ :url => { :controller => 'projects', :action => "add_query", :id => @project },
:method => 'get',
:update => "content",
:with => "Form.serialize('query_form')"
}, :class => 'icon icon-save' %>
<% end %>
</div>
<br />
<% else %>
<div class="contextual">
<%= render :partial => 'issues/add_shortcut', :locals => {:trackers => @trackers } %>
<% if authorize_for('projects', 'add_query') %>
<%= link_to l(:button_edit), {:controller => 'queries', :action => 'edit', :id => @query}, :class => 'icon icon-edit' %>
<%= link_to l(:button_delete), {:controller => 'queries', :action => 'destroy', :id => @query}, :confirm => l(:text_are_you_sure), :post => true, :class => 'icon icon-del' %>
<% end %>
</div>
<h2><%= @query.name %></h2>
<% end %>
<%= error_messages_for 'query' %>
<% if @query.valid? %>
<% if @issues.empty? %>
<p><i><%= l(:label_no_data) %></i></p>
<% else %>
&nbsp;
<% form_tag({:controller => 'projects', :action => 'move_issues', :id => @project}, :id => 'issues_form' ) do %>
<table class="list">
<thead><tr>
<th></th>
<%= sort_header_tag('issues.id', :caption => '#') %>
<%= sort_header_tag('issues.tracker_id', :caption => l(:field_tracker)) %>
<%= sort_header_tag('issue_statuses.name', :caption => l(:field_status)) %>
<th><%=l(:field_subject)%></th>
<%= sort_header_tag('users.lastname', :caption => l(:field_author)) %>
<%= sort_header_tag('issues.created_on', :caption => l(:field_created_on)) %>
<%= sort_header_tag('issues.updated_on', :caption => l(:field_updated_on)) %>
</tr></thead>
<tbody>
<% for issue in @issues %>
<tr class="<%= cycle("odd", "even") %>">
<th style="width:15px;"><%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %></th>
<td align="center"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
<td align="center"><%= issue.tracker.name %></td>
<td><div class="square" style="background:#<%= issue.status.html_color %>;"></div> <%= issue.status.name %></td>
<td><%= link_to h(issue.subject), :controller => 'issues', :action => 'show', :id => issue %></td>
<td align="center"><%= issue.author.display_name %></td>
<td align="center"><%= format_time(issue.created_on) %></td>
<td align="center"><%= format_time(issue.updated_on) %></td>
</tr>
<% end %>
</tbody>
</table>
<div class="contextual">
<%= l(:label_export_to) %>
<%= link_to 'CSV', {:action => 'export_issues_csv', :id => @project}, :class => 'icon icon-csv' %>,
<%= link_to 'PDF', {:action => 'export_issues_pdf', :id => @project}, :class => 'icon icon-pdf' %>
</div>
<p><%= submit_tag l(:button_move), :class => "button-small" %>
&nbsp;
<%= pagination_links_full @issue_pages %>
[ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ]
</p>
<% end %>
<% end %>
<% end %>