@@ -91,7 +91,7 module Redmine | |||||
91 | if @project |
|
91 | if @project | |
92 | return number_of_rows_on_project(@project) |
|
92 | return number_of_rows_on_project(@project) | |
93 | else |
|
93 | else | |
94 | Project.roots.inject(0) do |total, project| |
|
94 | Project.roots.visible.inject(0) do |total, project| | |
95 | total += number_of_rows_on_project(project) |
|
95 | total += number_of_rows_on_project(project) | |
96 | end |
|
96 | end | |
97 | end |
|
97 | end | |
@@ -119,7 +119,7 module Redmine | |||||
119 | end |
|
119 | end | |
120 |
|
120 | |||
121 | # Subprojects |
|
121 | # Subprojects | |
122 | project.children.each do |subproject| |
|
122 | project.children.visible.each do |subproject| | |
123 | count += number_of_rows_on_project(subproject) |
|
123 | count += number_of_rows_on_project(subproject) | |
124 | end |
|
124 | end | |
125 |
|
125 | |||
@@ -134,7 +134,7 module Redmine | |||||
134 | if @project |
|
134 | if @project | |
135 | output << render_project(@project, options) |
|
135 | output << render_project(@project, options) | |
136 | else |
|
136 | else | |
137 | Project.roots.each do |project| |
|
137 | Project.roots.visible.each do |project| | |
138 | output << render_project(project, options) |
|
138 | output << render_project(project, options) | |
139 | end |
|
139 | end | |
140 | end |
|
140 | end | |
@@ -150,7 +150,7 module Redmine | |||||
150 | if @project |
|
150 | if @project | |
151 | output << render_project(@project, options) |
|
151 | output << render_project(@project, options) | |
152 | else |
|
152 | else | |
153 | Project.roots.each do |project| |
|
153 | Project.roots.visible.each do |project| | |
154 | output << render_project(project, options) |
|
154 | output << render_project(project, options) | |
155 | end |
|
155 | end | |
156 | end |
|
156 | end | |
@@ -191,7 +191,7 module Redmine | |||||
191 | end |
|
191 | end | |
192 |
|
192 | |||
193 | # Fourth, subprojects |
|
193 | # Fourth, subprojects | |
194 | project.children.each do |project| |
|
194 | project.children.visible.each do |project| | |
195 | subproject_rendering = render_project(project, options) |
|
195 | subproject_rendering = render_project(project, options) | |
196 | output << subproject_rendering if options[:format] == :html |
|
196 | output << subproject_rendering if options[:format] == :html | |
197 | end |
|
197 | end |
@@ -49,6 +49,18 class GanttsControllerTest < ActionController::TestCase | |||||
49 | assert_nil assigns(:gantt).project |
|
49 | assert_nil assigns(:gantt).project | |
50 | end |
|
50 | end | |
51 |
|
51 | |||
|
52 | should "not disclose private projects" do | |||
|
53 | get :show | |||
|
54 | assert_response :success | |||
|
55 | assert_template 'show.html.erb' | |||
|
56 | ||||
|
57 | assert_tag 'a', :content => /eCookbook/ | |||
|
58 | # Root private project | |||
|
59 | assert_no_tag 'a', {:content => /OnlineStore/} | |||
|
60 | # Private children of a public project | |||
|
61 | assert_no_tag 'a', :content => /Private child of eCookbook/ | |||
|
62 | end | |||
|
63 | ||||
52 | should "export to pdf" do |
|
64 | should "export to pdf" do | |
53 | get :show, :project_id => 1, :format => 'pdf' |
|
65 | get :show, :project_id => 1, :format => 'pdf' | |
54 | assert_response :success |
|
66 | assert_response :success |
General Comments 0
You need to be logged in to leave comments.
Login now