Fixed: associated changesets from other projects are not visible if the current project doesn't have the repository module enabled (#3087).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8749 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-02-02 17:43:36 +00:00
parent b13f85e456
commit 3dc73dcb88
2 changed files with 17 additions and 5 deletions

View File

@ -109,10 +109,8 @@ class IssuesController < ApplicationController
@journals.each_with_index {|j,i| j.indice = i+1} @journals.each_with_index {|j,i| j.indice = i+1}
@journals.reverse! if User.current.wants_comments_in_reverse_order? @journals.reverse! if User.current.wants_comments_in_reverse_order?
if User.current.allowed_to?(:view_changesets, @project) @changesets = @issue.changesets.visible.all
@changesets = @issue.changesets.visible.all @changesets.reverse! if User.current.wants_comments_in_reverse_order?
@changesets.reverse! if User.current.wants_comments_in_reverse_order?
end
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? } @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
@allowed_statuses = @issue.new_statuses_allowed_to(User.current) @allowed_statuses = @issue.new_statuses_allowed_to(User.current)

View File

@ -41,7 +41,9 @@ class IssuesControllerTest < ActionController::TestCase
:time_entries, :time_entries,
:journals, :journals,
:journal_details, :journal_details,
:queries :queries,
:repositories,
:changesets
include Redmine::I18n include Redmine::I18n
@ -1074,6 +1076,18 @@ class IssuesControllerTest < ActionController::TestCase
assert_no_tag 'a', :content => /Next/ assert_no_tag 'a', :content => /Next/
end end
def test_show_should_display_visible_changesets_from_other_projects
project = Project.find(2)
issue = project.issues.first
issue.changeset_ids = [102]
issue.save!
project.disable_module! :repository
@request.session[:user_id] = 2
get :show, :id => issue.id
assert_tag 'a', :attributes => {:href => "/projects/ecookbook/repository/revisions/3"}
end
def test_show_with_multi_custom_field def test_show_with_multi_custom_field
field = CustomField.find(1) field = CustomField.find(1)
field.update_attribute :multiple, true field.update_attribute :multiple, true