Defect #29701 » bugfix-29701.patch
app/controllers/queries_controller.rb | ||
---|---|---|
122 | 122 |
@query.project = params[:query_is_for_all] ? nil : @project |
123 | 123 |
@query.build_from_params(params) |
124 | 124 |
@query.column_names = nil if params[:default_columns] |
125 |
@query.sort_criteria = params[:query] && params[:query][:sort_criteria]
|
|
125 |
@query.sort_criteria = (params[:query] && params[:query][:sort_criteria]) || @query.sort_criteria
|
|
126 | 126 |
@query.name = params[:query] && params[:query][:name] |
127 | 127 |
if User.current.allowed_to?(:manage_public_queries, @query.project) || User.current.admin? |
128 | 128 |
@query.visibility = (params[:query] && params[:query][:visibility]) || Query::VISIBILITY_PRIVATE |
app/models/issue_query.rb | ||
---|---|---|
75 | 75 | |
76 | 76 |
def build_from_params(params, defaults={}) |
77 | 77 |
super |
78 |
self.draw_relations = params[:draw_relations] || (params[:query] && params[:query][:draw_relations]) |
|
79 |
self.draw_progress_line = params[:draw_progress_line] || (params[:query] && params[:query][:draw_progress_line]) |
|
78 |
self.draw_relations = params[:draw_relations] || (params[:query] && params[:query][:draw_relations]) || options[:draw_relations]
|
|
79 |
self.draw_progress_line = params[:draw_progress_line] || (params[:query] && params[:query][:draw_progress_line]) || options[:draw_progress_line]
|
|
80 | 80 |
self |
81 | 81 |
end |
82 | 82 |
app/models/query.rb | ||
---|---|---|
377 | 377 |
end |
378 | 378 | |
379 | 379 |
query_params = params[:query] || defaults || {} |
380 |
self.group_by = params[:group_by] || query_params[:group_by] |
|
381 |
self.column_names = params[:c] || query_params[:column_names] |
|
382 |
self.totalable_names = params[:t] || query_params[:totalable_names] |
|
383 |
self.sort_criteria = params[:sort] || query_params[:sort_criteria] |
|
380 |
self.group_by = params[:group_by] || query_params[:group_by] || self.group_by
|
|
381 |
self.column_names = params[:c] || query_params[:column_names] || self.column_names
|
|
382 |
self.totalable_names = params[:t] || query_params[:totalable_names] || self.totalable_names
|
|
383 |
self.sort_criteria = params[:sort] || query_params[:sort_criteria] || self.sort_criteria
|
|
384 | 384 |
self |
385 | 385 |
end |
386 | 386 |
test/unit/query_test.rb | ||
---|---|---|
1873 | 1873 |
assert_nil IssueQuery.visible(User.find(1)).find_by_id(q.id) |
1874 | 1874 |
end |
1875 | 1875 | |
1876 |
def test_build_from_params_should_not_overwrite_with_unspecified_parameters |
|
1877 |
q = IssueQuery.create!(:name => 'Query', |
|
1878 |
:type => "IssueQuery", |
|
1879 |
:user => User.find(7), |
|
1880 |
:filters => {"status_id" => {:values => ["1"], :operator => "o"}}, |
|
1881 |
:column_names => [:tracker, :status], |
|
1882 |
:sort_criteria => ['id', 'asc'], |
|
1883 |
:group_by => "project", |
|
1884 |
:options => { :totalable_names=>[:estimated_hours], :draw_relations => '1', :draw_progress_line => '1' } |
|
1885 |
) |
|
1886 |
old_attributes = q.attributes |
|
1887 |
q.build_from_params({}) |
|
1888 |
assert_equal old_attributes, q.attributes |
|
1889 |
end |
|
1890 | ||
1876 | 1891 |
test "#available_filters should include users of visible projects in cross-project view" do |
1877 | 1892 |
users = IssueQuery.new.available_filters["assigned_to_id"] |
1878 | 1893 |
assert_not_nil users |
- « Previous
- 1
- 2
- 3
- 4
- Next »