Allow setting an issue's notes via params[:issue][:notes]. (XML API)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4048 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
b925325ddb
commit
f92dcdf50a
|
@ -270,7 +270,7 @@ private
|
||||||
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
|
||||||
@time_entry = TimeEntry.new
|
@time_entry = TimeEntry.new
|
||||||
|
|
||||||
@notes = params[:notes]
|
@notes = params[:notes] || (params[:issue].present? ? params[:issue][:notes] : nil)
|
||||||
@issue.init_journal(User.current, @notes)
|
@issue.init_journal(User.current, @notes)
|
||||||
# User can change issue attributes only if he has :edit permission or if a workflow transition is allowed
|
# User can change issue attributes only if he has :edit permission or if a workflow transition is allowed
|
||||||
if (@edit_allowed || !@allowed_statuses.empty?) && params[:issue]
|
if (@edit_allowed || !@allowed_statuses.empty?) && params[:issue]
|
||||||
|
|
|
@ -198,7 +198,7 @@ class IssuesApiTest < ActionController::IntegrationTest
|
||||||
setup do
|
setup do
|
||||||
@issue_count = Issue.count
|
@issue_count = Issue.count
|
||||||
@journal_count = Journal.count
|
@journal_count = Journal.count
|
||||||
@attributes = {:subject => 'API update'}
|
@attributes = {:subject => 'API update', :notes => 'A new note'}
|
||||||
|
|
||||||
put '/issues/1.xml', {:issue => @attributes}, :authorization => credentials('jsmith')
|
put '/issues/1.xml', {:issue => @attributes}, :authorization => credentials('jsmith')
|
||||||
end
|
end
|
||||||
|
@ -214,10 +214,15 @@ class IssuesApiTest < ActionController::IntegrationTest
|
||||||
assert_equal Journal.count, @journal_count + 1
|
assert_equal Journal.count, @journal_count + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "add the note to the journal" do
|
||||||
|
journal = Journal.last
|
||||||
|
assert_equal "A new note", journal.notes
|
||||||
|
end
|
||||||
|
|
||||||
should "update the issue" do
|
should "update the issue" do
|
||||||
issue = Issue.find(1)
|
issue = Issue.find(1)
|
||||||
@attributes.each do |attribute, value|
|
@attributes.each do |attribute, value|
|
||||||
assert_equal value, issue.send(attribute)
|
assert_equal value, issue.send(attribute) unless attribute == :notes
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -252,7 +257,7 @@ class IssuesApiTest < ActionController::IntegrationTest
|
||||||
setup do
|
setup do
|
||||||
@issue_count = Issue.count
|
@issue_count = Issue.count
|
||||||
@journal_count = Journal.count
|
@journal_count = Journal.count
|
||||||
@attributes = {:subject => 'API update'}
|
@attributes = {:subject => 'API update', :notes => 'A new note'}
|
||||||
|
|
||||||
put '/issues/1.json', {:issue => @attributes}, :authorization => credentials('jsmith')
|
put '/issues/1.json', {:issue => @attributes}, :authorization => credentials('jsmith')
|
||||||
end
|
end
|
||||||
|
@ -268,13 +273,18 @@ class IssuesApiTest < ActionController::IntegrationTest
|
||||||
assert_equal Journal.count, @journal_count + 1
|
assert_equal Journal.count, @journal_count + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "add the note to the journal" do
|
||||||
|
journal = Journal.last
|
||||||
|
assert_equal "A new note", journal.notes
|
||||||
|
end
|
||||||
|
|
||||||
should "update the issue" do
|
should "update the issue" do
|
||||||
issue = Issue.find(1)
|
issue = Issue.find(1)
|
||||||
@attributes.each do |attribute, value|
|
@attributes.each do |attribute, value|
|
||||||
assert_equal value, issue.send(attribute)
|
assert_equal value, issue.send(attribute) unless attribute == :notes
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "PUT /issues/1.json with failed update" do
|
context "PUT /issues/1.json with failed update" do
|
||||||
|
|
Loading…
Reference in New Issue