@query.project = params[:query_is_for_all] ? nil : @project
@query.user = User.current
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
- @query.column_names = nil if params[:default_columns]
@query.add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v]) if params[:fields] || params[:f]
@query.group_by ||= params[:group_by]
+ @query.column_names = params[:c] if params[:c]
+ @query.column_names = nil if params[:default_columns]
if request.post? && params[:confirm] && @query.save
flash[:notice] = l(:notice_successful_create)
@query.attributes = params[:query]
@query.project = nil if params[:query_is_for_all]
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
+ @query.group_by ||= params[:group_by]
+ @query.column_names = params[:c] if params[:c]
@query.column_names = nil if params[:default_columns]
if @query.save
end
end
@query.group_by = params[:group_by]
- @query.column_names = params[:query] && params[:query][:column_names]
+ @query.column_names = params[:c] || (params[:query] && params[:query][:column_names])
session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
else
@query = Query.find_by_id(session[:query][:id]) if session[:query][:id]
<input type="button" value="←"
onclick="moveOptions(this.form.selected_columns, this.form.available_columns);" />
</td>
- <td><%= select_tag 'query[column_names][]',
+ <td><%= select_tag 'c[]',
options_for_select(query.columns.collect {|column| [column.caption, column.name]}),
:id => 'selected_columns', :multiple => true, :size => 10, :style => "width:150px" %>
</td>
def test_index_with_columns
columns = ['tracker', 'subject', 'assigned_to']
- get :index, :set_filter => 1, :query => { 'column_names' => columns}
+ get :index, :set_filter => 1, :c => columns
assert_response :success
# query should use specified columns
:fields => ["status_id", "assigned_to_id"],
:operators => {"assigned_to_id" => "=", "status_id" => "o"},
:values => { "assigned_to_id" => ["me"], "status_id" => ["1"]},
- :query => {"name" => "test_new_global_private_query", "is_public" => "1", "column_names" => ["", "tracker", "subject", "priority", "category"]}
+ :query => {"name" => "test_new_global_private_query", "is_public" => "1"},
+ :c => ["", "tracker", "subject", "priority", "category"]
q = Query.find_by_name('test_new_global_private_query')
assert_redirected_to :controller => 'issues', :action => 'index', :project_id => nil, :query_id => q