add journal after creating/deleting issue relation (#1005)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11885 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -306,6 +306,17 @@ module IssuesHelper
|
||||
end
|
||||
when 'attachment'
|
||||
label = l(:label_attachment)
|
||||
when 'relation'
|
||||
if detail.value && !detail.old_value
|
||||
rel_issue = Issue.find_by_id(detail.value)
|
||||
value = rel_issue.nil? ? "#{l(:label_issue)} #{detail.value}" :
|
||||
(no_html ? rel_issue : link_to_issue(rel_issue))
|
||||
elsif detail.old_value && !detail.value
|
||||
rel_issue = Issue.find_by_id(detail.old_value)
|
||||
old_value = rel_issue.nil? ? "#{l(:label_issue)} #{detail.old_value}" :
|
||||
(no_html ? rel_issue : link_to_issue(rel_issue))
|
||||
end
|
||||
label = l(detail.prop_key.to_sym)
|
||||
end
|
||||
call_hook(:helper_issues_show_detail_after_setting,
|
||||
{:detail => detail, :label => label, :value => value, :old_value => old_value })
|
||||
@@ -353,7 +364,7 @@ module IssuesHelper
|
||||
else
|
||||
l(:text_journal_set_to, :label => label, :value => value).html_safe
|
||||
end
|
||||
when 'attachment'
|
||||
when 'attachment', 'relation'
|
||||
l(:text_journal_added, :label => label, :value => value).html_safe
|
||||
end
|
||||
else
|
||||
|
||||
@@ -72,6 +72,8 @@ class IssueRelation < ActiveRecord::Base
|
||||
|
||||
attr_protected :issue_from_id, :issue_to_id
|
||||
before_save :handle_issue_order
|
||||
after_create :create_journal_after_create
|
||||
after_destroy :create_journal_after_delete
|
||||
|
||||
def visible?(user=User.current)
|
||||
(issue_from.nil? || issue_from.visible?(user)) && (issue_to.nil? || issue_to.visible?(user))
|
||||
@@ -179,4 +181,30 @@ class IssueRelation < ActiveRecord::Base
|
||||
self.relation_type = TYPES[relation_type][:reverse]
|
||||
end
|
||||
end
|
||||
|
||||
def create_journal_after_create
|
||||
journal = issue_from.init_journal(User.current)
|
||||
journal.details << JournalDetail.new(:property => 'relation',
|
||||
:prop_key => label_for(issue_from).to_s,
|
||||
:value => issue_to.id)
|
||||
journal.save
|
||||
journal = issue_to.init_journal(User.current)
|
||||
journal.details << JournalDetail.new(:property => 'relation',
|
||||
:prop_key => label_for(issue_to).to_s,
|
||||
:value => issue_from.id)
|
||||
journal.save
|
||||
end
|
||||
|
||||
def create_journal_after_delete
|
||||
journal = issue_from.init_journal(User.current)
|
||||
journal.details << JournalDetail.new(:property => 'relation',
|
||||
:prop_key => label_for(issue_from).to_s,
|
||||
:old_value => issue_to.id)
|
||||
journal.save
|
||||
journal = issue_to.init_journal(User.current)
|
||||
journal.details << JournalDetail.new(:property => 'relation',
|
||||
:prop_key => label_for(issue_to).to_s,
|
||||
:old_value => issue_from.id)
|
||||
journal.save
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user