Patch #820 ยป fix_NoMethodError_in_SearchController.diff
test/functional/search_controller_test.rb (working copy) | ||
---|---|---|
78 | 78 |
assert_equal 2, results.size |
79 | 79 |
end |
80 | 80 |
|
81 |
def test_search_with_invalid_project_id |
|
82 |
get :index, :id => 195, :q => 'recipe' |
|
83 |
assert_response 404 |
|
84 |
assert_nil assigns(:results) |
|
85 |
end |
|
81 | 86 |
def test_quick_jump_to_issue |
82 | 87 |
# issue of a public project |
83 | 88 |
get :index, :q => "3" |
app/controllers/application.rb (working copy) | ||
---|---|---|
102 | 102 |
# make sure that the user is a member of the project (or admin) if project is private |
103 | 103 |
# used as a before_filter for actions that do not require any particular permission on the project |
104 | 104 |
def check_project_privacy |
105 |
unless @project.active? |
|
105 |
if @project && @project.active? |
|
106 |
return true if @project.is_public? || User.current.member_of?(@project) || User.current.admin? |
|
107 |
User.current.logged? ? render_403 : require_login |
|
108 |
else |
|
106 | 109 |
@project = nil |
107 | 110 |
render_404 |
108 | 111 |
return false |
109 | 112 |
end |
110 |
return true if @project.is_public? || User.current.member_of?(@project) || User.current.admin? |
|
111 |
User.current.logged? ? render_403 : require_login |
|
112 | 113 |
end |
113 | 114 | |
114 | 115 |
# store current uri in session. |
app/controllers/search_controller.rb (working copy) | ||
---|---|---|
107 | 107 |
def find_project |
108 | 108 |
@project = Project.find(params[:id]) |
109 | 109 |
rescue ActiveRecord::RecordNotFound |
110 |
render_404 |
|
111 | 110 |
end |
112 | 111 |
end |