2013-08-16 21:17:43 +08:00
|
|
|
<!--add by huang-->
|
2013-08-21 22:14:02 +08:00
|
|
|
<h3 style="padding-top:0px;"><%= l(:field_issue) %>
|
|
|
|
<div style="padding-bottom: 10px;float:right;font-size:11px;">
|
2013-08-16 21:17:43 +08:00
|
|
|
<%= link_to l(:label_issue_new), { :controller => 'issues', :action => 'new', :copy_from => nil }, :param => :project_id, :caption => :label_issue_new,
|
|
|
|
:html => { :accesskey => Redmine::AccessKeys.key_for(:new_issue) }, :class => 'icon icon-add' %>
|
|
|
|
</div>
|
2013-08-21 22:14:02 +08:00
|
|
|
</h3>
|
2013-08-01 10:33:49 +08:00
|
|
|
<div class="contextual">
|
|
|
|
<% if !@query.new_record? && @query.editable_by?(User.current) %>
|
|
|
|
<%= link_to l(:button_edit), edit_query_path(@query), :class => 'icon icon-edit' %>
|
|
|
|
<%= delete_link query_path(@query) %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% html_title(@query.new_record? ? l(:label_issue_plural) : @query.name) %>
|
|
|
|
|
|
|
|
<%= form_tag({ :controller => 'issues', :action => 'index', :project_id => @project },
|
|
|
|
:method => :get, :id => 'query_form') do %>
|
|
|
|
<%= hidden_field_tag 'set_filter', '1' %>
|
2013-08-03 22:18:30 +08:00
|
|
|
<div id="query_form_content" class="hide-when-print">
|
2013-08-01 10:33:49 +08:00
|
|
|
<fieldset id="filters" style="width:650px;" class="collapsible <%= @query.new_record? ? "" : "collapsed" %>">
|
|
|
|
<legend onclick="toggleFieldset(this);">
|
2013-08-21 22:14:02 +08:00
|
|
|
<%= l(:label_filter_plural) %>
|
2013-08-01 10:33:49 +08:00
|
|
|
</legend>
|
|
|
|
<div style="<%= @query.new_record? ? "" : "display: none;" %>">
|
|
|
|
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
|
|
|
|
</div>
|
|
|
|
</fieldset>
|
|
|
|
<fieldset class="collapsible collapsed" style="width:650px;">
|
|
|
|
<legend onclick="toggleFieldset(this);">
|
|
|
|
<%= l(:label_options) %>
|
|
|
|
</legend>
|
|
|
|
<div style="display: none;">
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
|
|
<td><%= l(:field_column_names) %></td>
|
|
|
|
<td><%= render_query_columns_selection(@query) %></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><label for='group_by'><%= l(:field_group_by) %></label></td>
|
|
|
|
<td><%= select_tag('group_by',
|
|
|
|
options_for_select(
|
|
|
|
[[]] + @query.groupable_columns.collect {|c| [c.caption, c.name.to_s]},
|
|
|
|
@query.group_by)
|
|
|
|
) %></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><%= l(:button_show) %></td>
|
|
|
|
<td><%= available_block_columns_tags(@query) %></td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</fieldset>
|
|
|
|
</div>
|
|
|
|
<p class="buttons hide-when-print">
|
|
|
|
|
2013-08-21 22:14:02 +08:00
|
|
|
<%= link_to_function l(:button_apply), 'submit_query_form("query_form")', :class => 'icon icon-checked' %>
|
|
|
|
<%= link_to l(:button_clear), { :set_filter => 1, :project_id => @project }, :class => 'icon icon-reload' %>
|
2013-08-01 10:33:49 +08:00
|
|
|
</p>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= error_messages_for 'query' %>
|
|
|
|
<% if @query.valid? %>
|
|
|
|
<% if @issues.empty? %>
|
|
|
|
<p class="nodata">
|
|
|
|
<%= l(:label_no_data) %>
|
|
|
|
</p>
|
|
|
|
<% else %>
|
|
|
|
<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
|
|
|
|
<!--Modified by nie-->
|
|
|
|
<div class="pagination">
|
|
|
|
<ul>
|
|
|
|
<%= pagination_links_full @issue_pages, @issue_count %>
|
|
|
|
<ul>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% other_formats_links do |f| %>
|
|
|
|
<%= f.link_to 'Atom', :url => params.merge(:key => User.current.rss_key) %>
|
|
|
|
<%= f.link_to 'CSV', :url => params, :onclick => "showModal('csv-export-options', '330px'); return false;" %>
|
|
|
|
<%= f.link_to 'PDF', :url => params %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<div id="csv-export-options" style="display:none;">
|
|
|
|
<h3 class="title"><%= l(:label_export_options, :export_format => 'CSV') %></h3>
|
|
|
|
<%= form_tag(params.merge({:format => 'csv',:page=>nil}), :method => :get, :id => 'csv-export-form') do %>
|
|
|
|
<p>
|
|
|
|
<label><%= radio_button_tag 'columns', '', true %> <%= l(:description_selected_columns) %></label>
|
|
|
|
<br />
|
|
|
|
<label><%= radio_button_tag 'columns', 'all' %> <%= l(:description_all_columns) %></label>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<label><%= check_box_tag 'description', '1', @query.has_column?(:description) %> <%= l(:field_description) %></label>
|
|
|
|
</p>
|
|
|
|
<p class="buttons">
|
|
|
|
<%= submit_tag l(:button_export), :name => nil, :onclick => "hideModal(this);" %>
|
|
|
|
<%= submit_tag l(:button_cancel), :name => nil, :onclick => "hideModal(this);", :type => 'button' %>
|
|
|
|
</p>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
<%= call_hook(:view_issues_index_bottom, { :issues => @issues, :project => @project, :query => @query }) %>
|
|
|
|
|
|
|
|
<% content_for :sidebar do %>
|
|
|
|
<%= render :partial => 'issues/sidebar' %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% content_for :header_tags do %>
|
|
|
|
<%= auto_discovery_link_tag(:atom,
|
|
|
|
{:query_id => @query, :format => 'atom',
|
|
|
|
:page => nil, :key => User.current.rss_key},
|
|
|
|
:title => l(:label_issue_plural)) %>
|
|
|
|
<%= auto_discovery_link_tag(:atom,
|
|
|
|
{:controller => 'journals', :action => 'index',
|
|
|
|
:query_id => @query, :format => 'atom',
|
|
|
|
:page => nil, :key => User.current.rss_key},
|
|
|
|
:title => l(:label_changes_details)) %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= context_menu issues_context_menu_path %>
|