# HG changeset patch # User Toshi MARUYAMA # Date 1362321154 -32400 # Node ID 8280d098f5bae6c24354c678010c944c0278313c # Parent 5c3a55170fcd3e7a5ce1ff546c4c57a2ba607db4 (#1005) diff --git a/app/models/issue_relation.rb b/app/models/issue_relation.rb --- a/app/models/issue_relation.rb +++ b/app/models/issue_relation.rb @@ -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,34 @@ 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 + + # issue-to + 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 + + # issue-to + 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 # HG changeset patch # User Toshi MARUYAMA # Date 1362321154 -32400 # Node ID 24511a5317b9aecb7c6be3f07d1460e04c791427 # Parent 8280d098f5bae6c24354c678010c944c0278313c (#1005) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -292,6 +292,16 @@ 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 ? link_to_issue(rel_issue) : "#{l(:label_issue)} #{detail.value}" + label = l(detail.prop_key.to_sym) + elsif detail.old_value && !detail.value + rel_issue = Issue.find_by_id(detail.old_value) + old_value = rel_issue ? link_to_issue(Issue.find(rel_issue)) : "#{l(:label_issue)} #{detail.old_value}" + label = l(detail.prop_key.to_sym) + end end call_hook(:helper_issues_show_detail_after_setting, {:detail => detail, :label => label, :value => value, :old_value => old_value }) @@ -341,6 +351,8 @@ module IssuesHelper end when 'attachment' l(:text_journal_added, :label => label, :value => value).html_safe + when 'relation' + l(:text_journal_added, :label => label, :value => value).html_safe end else l(:text_journal_deleted, :label => label, :old => old_value).html_safe # HG changeset patch # User Toshi MARUYAMA # Date 1365597787 -32400 # Node ID c5fab1a5c00e0bb604fac8aa1aa8bdb63a9fb137 # Parent 24511a5317b9aecb7c6be3f07d1460e04c791427 fix error when export pdf (#1005) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -295,13 +295,14 @@ module IssuesHelper when 'relation' if detail.value && !detail.old_value rel_issue = Issue.find_by_id(detail.value) - value = rel_issue ? link_to_issue(rel_issue) : "#{l(:label_issue)} #{detail.value}" - label = l(detail.prop_key.to_sym) + 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 ? link_to_issue(Issue.find(rel_issue)) : "#{l(:label_issue)} #{detail.old_value}" - label = l(detail.prop_key.to_sym) + 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 }) # HG changeset patch # User Toshi MARUYAMA # Date 1362321154 -32400 # Node ID a28c83408ff753639a0906d772fd556161726e34 # Parent c5fab1a5c00e0bb604fac8aa1aa8bdb63a9fb137 (#1005) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -314,7 +314,9 @@ module IssuesHelper unless no_html label = content_tag('strong', label) old_value = content_tag("i", h(old_value)) if detail.old_value - old_value = content_tag("del", old_value) if detail.old_value and detail.value.blank? + if detail.old_value and detail.value.blank? and detail.property != 'relation' + old_value = content_tag("del", old_value) + end if detail.property == 'attachment' && !value.blank? && atta = Attachment.find_by_id(detail.prop_key) # Link to the attachment if it has not been removed value = link_to_attachment(atta, :download => true, :only_path => options[:only_path])