summaryrefslogtreecommitdiffstats
path: root/app/controllers/search_controller.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-03-12 20:50:48 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-03-12 20:50:48 +0000
commitd4429a544c50c908d85259eb3706a6960b0a604d (patch)
treeca7491c5d510f1515197820f50f74ccf9c795e8a /app/controllers/search_controller.rb
parent3a9b0988c7515371531e47f9eef9f8e60ce352aa (diff)
downloadredmine-d4429a544c50c908d85259eb3706a6960b0a604d.tar.gz
redmine-d4429a544c50c908d85259eb3706a6960b0a604d.zip
Fixes #820: invalid project id causes a NoMethodError in SearchController (Angel Dobbs-Sciortino).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1237 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/controllers/search_controller.rb')
-rw-r--r--app/controllers/search_controller.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index 69e1ee503..f15653b63 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -17,6 +17,8 @@
class SearchController < ApplicationController
layout 'base'
+
+ before_filter :find_optional_project
helper :messages
include MessagesHelper
@@ -36,11 +38,6 @@ class SearchController < ApplicationController
return
end
- if params[:id]
- find_project
- return unless check_project_privacy
- end
-
if @project
# only show what the user is allowed to view
@object_types = %w(issues news documents changesets wiki_pages messages)
@@ -104,8 +101,10 @@ class SearchController < ApplicationController
end
private
- def find_project
+ def find_optional_project
+ return true unless params[:id]
@project = Project.find(params[:id])
+ check_project_privacy
rescue ActiveRecord::RecordNotFound
render_404
end