Adds visibility condition on parent project in API.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6204 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2011-07-09 11:41:04 +00:00
parent 95f332af5a
commit 3c2ebd7aa2
3 changed files with 7 additions and 2 deletions

View File

@ -118,6 +118,11 @@ class Project < ActiveRecord::Base
visible(user).find(:all, :limit => count, :order => "created_on DESC")
end
# Returns true if the project is visible to +user+ or to the current user.
def visible?(user=User.current)
user.allowed_to?(:view_project, self)
end
def self.visible_by(user=nil)
ActiveSupport::Deprecation.warn "Project.visible_by is deprecated and will be removed in Redmine 1.3.0. Use Project.visible_condition instead."
visible_condition(user || User.current)

View File

@ -5,7 +5,7 @@ api.array :projects, api_meta(:total_count => @project_count, :offset => @offset
api.name project.name
api.identifier project.identifier
api.description project.description
api.parent(:id => project.parent_id, :name => project.parent.name) unless project.parent.nil?
api.parent(:id => project.parent.id, :name => project.parent.name) if project.parent && project.parent.visible?
render_api_custom_values project.visible_custom_field_values, api

View File

@ -4,7 +4,7 @@ api.project do
api.identifier @project.identifier
api.description @project.description
api.homepage @project.homepage
api.parent(:id => @project.parent_id, :name => @project.parent.name) unless @project.parent.nil?
api.parent(:id => @project.parent.id, :name => @project.parent.name) if @project.parent && @project.parent.visible?
render_api_custom_values @project.visible_custom_field_values, api