</li>
<% end %>
</ul>
-<% if @project && @project.descendants.active.any? %>
+<% if @project && @project.descendants.visible.any? %>
<%= hidden_field_tag 'with_subprojects', 0, :id => nil %>
<p><label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label></p>
<% end %>
<%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %>
</label>
</li>
- <% if @project.descendants.active.any? %>
+ <% if @project.descendants.allowed_to(:view_issues).any? %>
<li>
<%= hidden_field_tag 'with_subprojects', 0, :id => nil %>
<label>
assert_select 'dl dt.issue-edit a', :text => /(#{IssueStatus.find(2).name})/
end
+ def test_index_subproject_checkbox_should_check_descendants_visibility
+ @request.session[:user_id] = 2
+ get(
+ :index,
+ :params => {
+ :id => 5,
+ }
+ )
+ assert_response :success
+
+ assert_select '#sidebar input#with_subprojects'
+
+ project = Project.find(6)
+ project.is_public = false
+ project.save
+
+ get(
+ :index,
+ :params => {
+ :id => 5,
+ }
+ )
+ assert_response :success
+
+ assert_select '#sidebar input#with_subprojects', :count => 0
+
+ end
+
def test_project_index_with_invalid_project_id_should_respond_404
get(:index, :params => {:id => 299})
assert_response 404
assert_select 'h3', :text => Version.find(4).name
# Subproject version
assert_select 'h3', :text => /#{version_name}/
+ # Subproject checkbox
+ assert_select '#sidebar input[id=?][value=?]', "with_subprojects", 1
end
def test_index_should_prepend_shared_versions
end
end
+ def test_index_subproject_checkbox_should_check_descendants_visibility
+ project = Project.find(6)
+ project.is_public = false
+ project.save
+
+ @request.session[:user_id] = 2
+
+ get :index, :params => {:project_id => 5, :with_subprojects => 1}
+ assert_response :success
+
+ # Subproject checkbox should not be shown
+ assert_select '#sidebar input[id=?]', "with_subprojects", :count => 0
+ end
+
def test_show
with_settings :gravatar_enabled => '0' do
get :show, :params => {:id => 2}