Commit 62a41705 authored by Jean-Philippe Lang's avatar Jean-Philippe Lang Committed by Eric Davis

Shortens filter param names.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5279 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 4e6962e7
...@@ -27,7 +27,7 @@ class QueriesController < ApplicationController ...@@ -27,7 +27,7 @@ class QueriesController < ApplicationController
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin? @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.column_names = nil if params[:default_columns]
@query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields] @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.group_by ||= params[:group_by]
if request.post? && params[:confirm] && @query.save if request.post? && params[:confirm] && @query.save
...@@ -41,7 +41,7 @@ class QueriesController < ApplicationController ...@@ -41,7 +41,7 @@ class QueriesController < ApplicationController
def edit def edit
if request.post? if request.post?
@query.filters = {} @query.filters = {}
@query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields] @query.add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v]) if params[:fields] || params[:f]
@query.attributes = params[:query] @query.attributes = params[:query]
@query.project = nil if params[:query_is_for_all] @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.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
......
# redMine - project management software # Redmine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
...@@ -78,9 +78,9 @@ module QueriesHelper ...@@ -78,9 +78,9 @@ module QueriesHelper
# Give it a name, required to be valid # Give it a name, required to be valid
@query = Query.new(:name => "_") @query = Query.new(:name => "_")
@query.project = @project @query.project = @project
if params[:fields] if params[:fields] || params[:f]
@query.filters = {} @query.filters = {}
@query.add_filters(params[:fields], params[:operators], params[:values]) @query.add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v])
else else
@query.available_filters.keys.each do |field| @query.available_filters.keys.each do |field|
@query.add_short_filter(field, params[field]) if params[field] @query.add_short_filter(field, params[field]) if params[field]
......
...@@ -81,26 +81,26 @@ Event.observe(document,"dom:loaded", apply_filters_observer); ...@@ -81,26 +81,26 @@ Event.observe(document,"dom:loaded", apply_filters_observer);
options = filter[1] %> options = filter[1] %>
<tr <%= 'style="display:none;"' unless query.has_filter?(field) %> id="tr_<%= field %>" class="filter"> <tr <%= 'style="display:none;"' unless query.has_filter?(field) %> id="tr_<%= field %>" class="filter">
<td style="width:200px;"> <td style="width:200px;">
<%= check_box_tag 'fields[]', field, query.has_filter?(field), :onclick => "toggle_filter('#{field}');", :id => "cb_#{field}" %> <%= check_box_tag 'f[]', field, query.has_filter?(field), :onclick => "toggle_filter('#{field}');", :id => "cb_#{field}" %>
<label for="cb_<%= field %>"><%= filter[1][:name] || l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) %></label> <label for="cb_<%= field %>"><%= filter[1][:name] || l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) %></label>
</td> </td>
<td style="width:150px;"> <td style="width:150px;">
<%= select_tag "operators[#{field}]", options_for_select(operators_for_select(options[:type]), query.operator_for(field)), :id => "operators_#{field}", :onchange => "toggle_operator('#{field}');", :class => "select-small", :style => "vertical-align: top;" %> <%= select_tag "op[#{field}]", options_for_select(operators_for_select(options[:type]), query.operator_for(field)), :id => "operators_#{field}", :onchange => "toggle_operator('#{field}');", :class => "select-small", :style => "vertical-align: top;" %>
</td> </td>
<td> <td>
<div id="div_values_<%= field %>" style="display:none;"> <div id="div_values_<%= field %>" style="display:none;">
<% case options[:type] <% case options[:type]
when :list, :list_optional, :list_status, :list_subprojects %> when :list, :list_optional, :list_status, :list_subprojects %>
<select <%= "multiple=true" if query.values_for(field) and query.values_for(field).length > 1 %> name="values[<%= field %>][]" id="values_<%= field %>" class="select-small" style="vertical-align: top;"> <select <%= "multiple=true" if query.values_for(field) and query.values_for(field).length > 1 %> name="v[<%= field %>][]" id="values_<%= field %>" class="select-small" style="vertical-align: top;">
<%= options_for_select options[:values], query.values_for(field) %> <%= options_for_select options[:values], query.values_for(field) %>
</select> </select>
<%= link_to_function image_tag('bullet_toggle_plus.png'), "toggle_multi_select('#{field}');", :style => "vertical-align: bottom;" %> <%= link_to_function image_tag('bullet_toggle_plus.png'), "toggle_multi_select('#{field}');", :style => "vertical-align: bottom;" %>
<% when :date, :date_past %> <% when :date, :date_past %>
<%= text_field_tag "values[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 3, :class => "select-small" %> <%= l(:label_day_plural) %> <%= text_field_tag "v[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 3, :class => "select-small" %> <%= l(:label_day_plural) %>
<% when :string, :text %> <% when :string, :text %>
<%= text_field_tag "values[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 30, :class => "select-small" %> <%= text_field_tag "v[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 30, :class => "select-small" %>
<% when :integer %> <% when :integer %>
<%= text_field_tag "values[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 3, :class => "select-small" %> <%= text_field_tag "v[#{field}][]", query.values_for(field), :id => "values_#{field}", :size => 3, :class => "select-small" %>
<% end %> <% end %>
</div> </div>
<script type="text/javascript">toggle_filter('<%= field %>');</script> <script type="text/javascript">toggle_filter('<%= field %>');</script>
...@@ -118,4 +118,4 @@ Event.observe(document,"dom:loaded", apply_filters_observer); ...@@ -118,4 +118,4 @@ Event.observe(document,"dom:loaded", apply_filters_observer);
</td> </td>
</tr> </tr>
</table> </table>
<%= hidden_field_tag 'fields[]', '' %> <%= hidden_field_tag 'f[]', '' %>
...@@ -139,9 +139,9 @@ class IssuesControllerTest < ActionController::TestCase ...@@ -139,9 +139,9 @@ class IssuesControllerTest < ActionController::TestCase
def test_index_with_project_and_filter def test_index_with_project_and_filter
get :index, :project_id => 1, :set_filter => 1, get :index, :project_id => 1, :set_filter => 1,
:fields => ['tracker_id'], :f => ['tracker_id'],
:operators => {'tracker_id' => '='}, :op => {'tracker_id' => '='},
:values => {'tracker_id' => ['1']} :v => {'tracker_id' => ['1']}
assert_response :success assert_response :success
assert_template 'index.rhtml' assert_template 'index.rhtml'
assert_not_nil assigns(:issues) assert_not_nil assigns(:issues)
......
...@@ -64,9 +64,9 @@ class QueriesControllerTest < ActionController::TestCase ...@@ -64,9 +64,9 @@ class QueriesControllerTest < ActionController::TestCase
:project_id => 'ecookbook', :project_id => 'ecookbook',
:confirm => '1', :confirm => '1',
:default_columns => '1', :default_columns => '1',
:fields => ["status_id", "assigned_to_id"], :f => ["status_id", "assigned_to_id"],
:operators => {"assigned_to_id" => "=", "status_id" => "o"}, :op => {"assigned_to_id" => "=", "status_id" => "o"},
:values => { "assigned_to_id" => ["1"], "status_id" => ["1"]}, :v => { "assigned_to_id" => ["1"], "status_id" => ["1"]},
:query => {"name" => "test_new_project_public_query", "is_public" => "1"} :query => {"name" => "test_new_project_public_query", "is_public" => "1"}
q = Query.find_by_name('test_new_project_public_query') q = Query.find_by_name('test_new_project_public_query')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment