From: Jean-Philippe Lang Date: Sun, 12 Apr 2015 07:55:30 +0000 (+0000) Subject: Fixed that journals are shown multiple times in activity (#19168). X-Git-Tag: 3.1.0~164 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cb9d405db3ba4b2ec772a0c67dd8f45e192f01b0;p=redmine.git Fixed that journals are shown multiple times in activity (#19168). git-svn-id: http://svn.redmine.org/redmine/trunk@14163 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/journal.rb b/app/models/journal.rb index c20aa8d9d..ec9c9d52e 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -38,7 +38,7 @@ class Journal < ActiveRecord::Base :scope => preload({:issue => :project}, :user). joins("LEFT OUTER JOIN #{JournalDetail.table_name} ON #{JournalDetail.table_name}.journal_id = #{Journal.table_name}.id"). where("#{Journal.table_name}.journalized_type = 'Issue' AND" + - " (#{JournalDetail.table_name}.prop_key = 'status_id' OR #{Journal.table_name}.notes <> '')") + " (#{JournalDetail.table_name}.prop_key = 'status_id' OR #{Journal.table_name}.notes <> '')").uniq before_create :split_private_notes after_create :send_notification diff --git a/test/unit/activity_test.rb b/test/unit/activity_test.rb index afb5a111c..5df2699b6 100644 --- a/test/unit/activity_test.rb +++ b/test/unit/activity_test.rb @@ -76,6 +76,14 @@ class ActivityTest < ActiveSupport::TestCase assert_nil(events.detect {|e| e.event_author != user}) end + def test_journal_with_notes_and_changes_should_be_returned_once + f = Redmine::Activity::Fetcher.new(User.anonymous, :project => Project.find(1)) + f.scope = ['issues'] + events = f.events + + assert_equal events, events.uniq + end + def test_files_activity f = Redmine::Activity::Fetcher.new(User.anonymous, :project => Project.find(1)) f.scope = ['files']