X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/d940e6b2345b50ffbd50bbe5f508f6d4ff4e0054..4af60771b6c6a164465057e08bdbc2de583410a8:/redmine/redmine_publications/lib/issue_publication_hook.rb?ds=sidebyside diff --git a/redmine/redmine_publications/lib/issue_publication_hook.rb b/redmine/redmine_publications/lib/issue_publication_hook.rb index 9c972339..77fa215e 100644 --- a/redmine/redmine_publications/lib/issue_publication_hook.rb +++ b/redmine/redmine_publications/lib/issue_publication_hook.rb @@ -3,7 +3,7 @@ class IssuesPublicationHook < Redmine::Hook::ViewListener def view_issues_show_details_bottom(context) # TODO: złapać wyjątek konwersji - if context[:issue].tracker_id == Setting.plugin_redmine_publications['tracker'].to_i + if context[:issue].tracker_id == Setting.plugin_redmine_publications[:tracker].to_i result = "Publication(s):" names = context[:issue].publication_names {|name| "" + name + ""} result << names.join(', ') @@ -12,11 +12,25 @@ class IssuesPublicationHook < Redmine::Hook::ViewListener end def controller_issues_edit_before_save(context) - if context[:issue].tracker_id == Setting.plugin_redmine_publications['tracker'].to_i - pub_field = context[:params][:publications] - context[:issue].publication_names = pub_field.split(',').map { |n| n.strip } + if context[:issue].tracker.id == Setting.plugin_redmine_publications[:tracker].to_i + old_value = context[:issue].publication_names + new_value = context[:params][:publications].split(',').map { |n| n.strip } + context[:journal].details << JournalDetail.new( + :property => 'attr', :prop_key => "publications", + :old_value => old_value.join(', '), + :value => new_value.join(', ') ) unless new_value==old_value + context[:issue].publication_names = new_value end end + + def controller_issues_new_after_save(context) + if context[:issue].tracker.id == Setting.plugin_redmine_publications[:tracker].to_i + value = context[:params][:publications].split(',').map { |n| n.strip } + context[:issue].publication_names = value + context[:issue].save + end + end + render_on :view_issues_form_details_bottom, :partial => 'issue_form_pub' end