Fixed: Files without Version aren't visible in the Activity page (#2930).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2569 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
9701c33562
commit
4f4d447224
|
@ -33,7 +33,7 @@ class Attachment < ActiveRecord::Base
|
||||||
:author_key => :author_id,
|
:author_key => :author_id,
|
||||||
:find_options => {:select => "#{Attachment.table_name}.*",
|
:find_options => {:select => "#{Attachment.table_name}.*",
|
||||||
:joins => "LEFT JOIN #{Version.table_name} ON #{Attachment.table_name}.container_type='Version' AND #{Version.table_name}.id = #{Attachment.table_name}.container_id " +
|
:joins => "LEFT JOIN #{Version.table_name} ON #{Attachment.table_name}.container_type='Version' AND #{Version.table_name}.id = #{Attachment.table_name}.container_id " +
|
||||||
"LEFT JOIN #{Project.table_name} ON #{Version.table_name}.project_id = #{Project.table_name}.id"}
|
"LEFT JOIN #{Project.table_name} ON #{Version.table_name}.project_id = #{Project.table_name}.id OR ( #{Attachment.table_name}.container_type='Project' AND #{Attachment.table_name}.container_id = #{Project.table_name}.id )"}
|
||||||
|
|
||||||
acts_as_activity_provider :type => 'documents',
|
acts_as_activity_provider :type => 'documents',
|
||||||
:permission => :view_documents,
|
:permission => :view_documents,
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
require File.dirname(__FILE__) + '/../test_helper'
|
require File.dirname(__FILE__) + '/../test_helper'
|
||||||
|
|
||||||
class ActivityTest < Test::Unit::TestCase
|
class ActivityTest < Test::Unit::TestCase
|
||||||
fixtures :projects, :versions, :users, :roles, :members, :issues, :journals, :journal_details,
|
fixtures :projects, :versions, :attachments, :users, :roles, :members, :issues, :journals, :journal_details,
|
||||||
:trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages
|
:trackers, :projects_trackers, :issue_statuses, :enabled_modules, :enumerations, :boards, :messages
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
|
@ -72,6 +72,18 @@ class ActivityTest < Test::Unit::TestCase
|
||||||
assert_nil(events.detect {|e| e.event_author != user})
|
assert_nil(events.detect {|e| e.event_author != user})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_files_activity
|
||||||
|
f = Redmine::Activity::Fetcher.new(User.anonymous, :project => Project.find(1))
|
||||||
|
f.scope = ['files']
|
||||||
|
events = f.events
|
||||||
|
|
||||||
|
assert_kind_of Array, events
|
||||||
|
assert events.include?(Attachment.find_by_container_type_and_container_id('Project', 1))
|
||||||
|
assert events.include?(Attachment.find_by_container_type_and_container_id('Version', 1))
|
||||||
|
assert_equal [Attachment], events.collect(&:class).uniq
|
||||||
|
assert_equal %w(Project Version), events.collect(&:container_type).uniq.sort
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def find_events(user, options={})
|
def find_events(user, options={})
|
||||||
|
|
Loading…
Reference in New Issue