diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index c0d947c..54339b4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -168,6 +168,16 @@ class ApplicationController < ActionController::Base render_404 end + # Find a project based on params[:project_id] + # TODO: some subclasses override this, see about merging their logic + def find_optional_project + @project = Project.find(params[:project_id]) unless params[:project_id].blank? + allowed = User.current.allowed_to?({:controller => params[:controller], :action => params[:action]}, @project, :global => true) + allowed ? true : deny_access + rescue ActiveRecord::RecordNotFound + render_404 + end + # Finds and sets @project based on @object.project def find_project_from_association render_404 unless @object.present? diff --git a/app/controllers/gantts_controller.rb b/app/controllers/gantts_controller.rb index 3933577..bc2d635 100644 --- a/app/controllers/gantts_controller.rb +++ b/app/controllers/gantts_controller.rb @@ -42,15 +42,4 @@ class GanttsController < ApplicationController end end - private - - # TODO: Refactor, duplicates IssuesController - def find_optional_project - @project = Project.find(params[:project_id]) unless params[:project_id].blank? - allowed = User.current.allowed_to?({:controller => params[:controller], :action => params[:action]}, @project, :global => true) - allowed ? true : deny_access - rescue ActiveRecord::RecordNotFound - render_404 - end - end diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 9ff4bf0..32fd83a 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -445,14 +445,6 @@ private render_404 end - def find_optional_project - @project = Project.find(params[:project_id]) unless params[:project_id].blank? - allowed = User.current.allowed_to?({:controller => params[:controller], :action => params[:action]}, @project, :global => true) - allowed ? true : deny_access - rescue ActiveRecord::RecordNotFound - render_404 - end - # Used by #edit and #update to set some common instance variables # from the params # TODO: Refactor, not everything in here is needed by #edit