Can not use Project#find on scopes with Rails 3.1.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9001 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
0cc60f3631
commit
cf9154f924
|
@ -48,10 +48,18 @@ class SysController < ActionController::Base
|
|||
|
||||
def fetch_changesets
|
||||
projects = []
|
||||
scope = Project.active.has_module(:repository)
|
||||
if params[:id]
|
||||
projects << Project.active.has_module(:repository).find(params[:id])
|
||||
project = nil
|
||||
if params[:id].to_s =~ /^\d*$/
|
||||
project = scope.find(params[:id])
|
||||
else
|
||||
projects = Project.active.has_module(:repository).all
|
||||
project = scope.find_by_identifier(params[:id])
|
||||
end
|
||||
raise ActiveRecord::RecordNotFound unless project
|
||||
projects << project
|
||||
else
|
||||
projects = scope.all
|
||||
end
|
||||
projects.each do |project|
|
||||
project.repositories.each do |repository|
|
||||
|
|
|
@ -89,12 +89,18 @@ class SysControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
end
|
||||
|
||||
def test_fetch_changesets_one_project
|
||||
def test_fetch_changesets_one_project_by_identifier
|
||||
Repository::Subversion.any_instance.expects(:fetch_changesets).once.returns(true)
|
||||
get :fetch_changesets, :id => 'ecookbook'
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_fetch_changesets_one_project_by_id
|
||||
Repository::Subversion.any_instance.expects(:fetch_changesets).once.returns(true)
|
||||
get :fetch_changesets, :id => '1'
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_fetch_changesets_unknown_project
|
||||
get :fetch_changesets, :id => 'unknown'
|
||||
assert_response 404
|
||||
|
|
Loading…
Reference in New Issue