Save an @Issue#save@.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8212 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
840ef94b46
commit
7d2298f39c
|
@ -36,10 +36,8 @@ class IssueMovesController < ApplicationController
|
|||
moved_issues = []
|
||||
@issues.each do |issue|
|
||||
issue.reload
|
||||
issue.init_journal(User.current)
|
||||
issue.current_journal.notes = @notes if @notes.present?
|
||||
call_hook(:controller_issues_move_before_save, { :params => params, :issue => issue, :target_project => @target_project, :copy => !!@copy })
|
||||
if r = issue.move_to_project(@target_project, new_tracker, {:copy => @copy, :attributes => extract_changed_attributes_for_move(params)})
|
||||
if r = issue.move_to_project(@target_project, new_tracker, {:copy => @copy, :attributes => extract_changed_attributes_for_move(params), :notes => @notes})
|
||||
moved_issues << r
|
||||
else
|
||||
unsaved_issue_ids << issue.id
|
||||
|
|
|
@ -152,7 +152,13 @@ class Issue < ActiveRecord::Base
|
|||
|
||||
def move_to_project_without_transaction(new_project, new_tracker = nil, options = {})
|
||||
options ||= {}
|
||||
issue = options[:copy] ? self.class.new.copy_from(self) : self
|
||||
|
||||
if options[:copy]
|
||||
issue = self.class.new.copy_from(self)
|
||||
else
|
||||
issue = self
|
||||
issue.init_journal(User.current, options[:notes])
|
||||
end
|
||||
|
||||
if new_project && issue.project_id != new_project.id
|
||||
# delete issue relations
|
||||
|
@ -190,14 +196,12 @@ class Issue < ActiveRecord::Base
|
|||
if options[:attributes]
|
||||
issue.attributes = options[:attributes]
|
||||
end
|
||||
if issue.save
|
||||
if options[:copy]
|
||||
if current_journal && current_journal.notes.present?
|
||||
issue.init_journal(current_journal.user, current_journal.notes)
|
||||
if options[:copy] && options[:notes].present?
|
||||
issue.init_journal(User.current, options[:notes])
|
||||
issue.current_journal.notify = false
|
||||
issue.save
|
||||
end
|
||||
else
|
||||
if issue.save
|
||||
unless options[:copy]
|
||||
# Manually update project_id on related time entries
|
||||
TimeEntry.update_all("project_id = #{new_project.id}", {:issue_id => id})
|
||||
|
||||
|
|
|
@ -634,12 +634,10 @@ class IssueTest < ActiveSupport::TestCase
|
|||
assert_equal User.current, @copy.author
|
||||
end
|
||||
|
||||
should "keep journal notes" do
|
||||
should "create a journal with notes" do
|
||||
date = Date.today
|
||||
notes = "Notes added when copying"
|
||||
User.current = User.find(9)
|
||||
@issue.init_journal(User.current, notes)
|
||||
@copy = @issue.move_to_project(Project.find(3), Tracker.find(2), {:copy => true, :attributes => {:start_date => date}})
|
||||
@copy = @issue.move_to_project(Project.find(3), Tracker.find(2), {:copy => true, :notes => notes, :attributes => {:start_date => date}})
|
||||
|
||||
assert_equal 1, @copy.journals.size
|
||||
journal = @copy.journals.first
|
||||
|
|
Loading…
Reference in New Issue