def show
@custom_values = @project.custom_values.find(:all, :include => :custom_field, :order => "#{CustomField.table_name}.position")
@members_by_role = @project.members.find(:all, :include => [:user, :role], :order => 'position').group_by {|m| m.role}
- @subprojects = @project.active_children
+ @subprojects = @project.children.find(:all, :conditions => Project.visible_by(User.current))
@news = @project.news.find(:all, :limit => 5, :include => [ :author, :project ], :order => "#{News.table_name}.created_on DESC")
@trackers = @project.rolled_up_trackers
role_id: 2\r
# Locked user\r
user_id: 5\r
+members_005: \r
+ id: 5\r
+ created_on: 2006-07-19 19:35:33 +02:00\r
+ project_id: 5\r
+ role_id: 1\r
+ user_id: 2\r
\ No newline at end of file
created_on: 2006-07-19 19:13:59 +02:00\r
name: eCookbook\r
updated_on: 2006-07-19 22:53:01 +02:00\r
- projects_count: 2\r
+ projects_count: 3\r
id: 1\r
description: Recipes management application\r
homepage: http://ecookbook.somenet.foo/\r
is_public: true\r
identifier: subproject2\r
parent_id: 1\r
+projects_005: \r
+ created_on: 2006-07-19 19:15:51 +02:00\r
+ name: Private child of eCookbook\r
+ updated_on: 2006-07-19 19:17:07 +02:00\r
+ projects_count: 0\r
+ id: 5\r
+ description: This is a private subproject of a public project\r
+ homepage: ""\r
+ is_public: false\r
+ identifier: private_child\r
+ parent_id: 1\r
+
\ No newline at end of file
assert_equal Project.find_by_identifier('ecookbook'), assigns(:project)
end
+ def test_private_subprojects_hidden
+ get :show, :id => 'ecookbook'
+ assert_response :success
+ assert_template 'show'
+ assert_no_tag :tag => 'a', :content => /Private child/
+ end
+
+ def test_private_subprojects_visible
+ @request.session[:user_id] = 2 # manager who is a member of the private subproject
+ get :show, :id => 'ecookbook'
+ assert_response :success
+ assert_template 'show'
+ assert_tag :tag => 'a', :content => /Private child/
+ end
+
def test_settings
@request.session[:user_id] = 2 # manager
get :settings, :id => 1
assert sub.save\r
assert_equal @ecookbook.id, sub.parent.id\r
@ecookbook.reload\r
- assert_equal 3, @ecookbook.children.size\r
+ assert_equal 4, @ecookbook.children.size\r
end\r
\r
def test_subproject_invalid\r