Patches against version 0.1.6 » redmine_issues_group-journal.patch
redmine_issues_group/init.rb 2009-11-05 22:07:28.000000000 -0500 | ||
---|---|---|
27 | 27 |
Dispatcher.to_prepare do |
28 | 28 |
IssuesHelper.send(:include, IssuesHelperPatch) |
29 | 29 |
Issue.send(:include, IssueRelationPatch) |
30 |
Issue.send(:include, IssueJournalPatch) |
|
30 | 31 |
CollectiveIdea::Acts::NestedSet::InstanceMethods.send(:include, AwesomeNestedSetIssuesPatch) |
31 | 32 |
end |
redmine_issues_group/lib/issue_journal_patch.rb 2009-11-05 22:09:29.000000000 -0500 | ||
---|---|---|
1 | ||
2 |
require 'issue' |
|
3 | ||
4 |
module IssueJournalPatch |
|
5 |
def self.included(base) # :nodoc: |
|
6 |
base.class_eval do |
|
7 | ||
8 |
# Saves the changes in a Journal |
|
9 |
# Called after_save |
|
10 |
def create_journal |
|
11 |
if @current_journal |
|
12 |
# attributes changes |
|
13 |
(Issue.column_names - %w(id description lock_version created_on updated_on)).each {|c| |
|
14 |
@current_journal.details << JournalDetail.new(:property => 'attr', |
|
15 |
:prop_key => c, |
|
16 |
:old_value => @issue_before_change.send(c), |
|
17 |
:value => send(c)) unless send(c)==@issue_before_change.send(c) || |
|
18 |
@current_journal.details.exists?(:property => 'attr', |
|
19 |
:prop_key => c, |
|
20 |
:old_value => @issue_before_change.send(c), |
|
21 |
:value => send(c)) |
|
22 |
} |
|
23 |
# custom fields changes |
|
24 |
custom_values.each {|c| |
|
25 |
next if (@custom_values_before_change[c.custom_field_id]==c.value || |
|
26 |
(@custom_values_before_change[c.custom_field_id].blank? && c.value.blank?)) || |
|
27 |
@current_journal.details.exists?(:property => 'cf', |
|
28 |
:prop_key => c.custom_field_id, |
|
29 |
:old_value => @custom_values_before_change[c.custom_field_id], |
|
30 |
:value => c.value) |
|
31 |
@current_journal.details << JournalDetail.new(:property => 'cf', |
|
32 |
:prop_key => c.custom_field_id, |
|
33 |
:old_value => @custom_values_before_change[c.custom_field_id], |
|
34 |
:value => c.value) |
|
35 |
} |
|
36 |
@current_journal.save |
|
37 |
end |
|
38 |
end |
|
39 | ||
40 |
end |
|
41 |
end |
|
42 |
end |