From 3dc73dcb88473139bdf9f2a3b95c5b2f9df8875f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Thu, 2 Feb 2012 17:43:36 +0000 Subject: [PATCH] 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 --- app/controllers/issues_controller.rb | 6 ++---- test/functional/issues_controller_test.rb | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 9a64ba062..b7f4a7c84 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -109,10 +109,8 @@ class IssuesController < ApplicationController @journals.each_with_index {|j,i| j.indice = i+1} @journals.reverse! if User.current.wants_comments_in_reverse_order? - if User.current.allowed_to?(:view_changesets, @project) - @changesets = @issue.changesets.visible.all - @changesets.reverse! if User.current.wants_comments_in_reverse_order? - end + @changesets = @issue.changesets.visible.all + @changesets.reverse! if User.current.wants_comments_in_reverse_order? @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? } @allowed_statuses = @issue.new_statuses_allowed_to(User.current) diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index a41340ae6..eb75f073d 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -41,7 +41,9 @@ class IssuesControllerTest < ActionController::TestCase :time_entries, :journals, :journal_details, - :queries + :queries, + :repositories, + :changesets include Redmine::I18n @@ -1074,6 +1076,18 @@ class IssuesControllerTest < ActionController::TestCase assert_no_tag 'a', :content => /Next/ 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 field = CustomField.find(1) field.update_attribute :multiple, true