Fixed that custom_fields property is ignored for time entries in REST API (#11112).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9783 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-06-09 07:55:26 +00:00
parent 7fba8bc682
commit 9f788310b1
2 changed files with 16 additions and 1 deletions

View File

@ -66,7 +66,7 @@ class TimeEntry < ActiveRecord::Base
end end
} }
safe_attributes 'hours', 'comments', 'issue_id', 'activity_id', 'spent_on', 'custom_field_values' safe_attributes 'hours', 'comments', 'issue_id', 'activity_id', 'spent_on', 'custom_field_values', 'custom_fields'
def initialize(attributes=nil, *args) def initialize(attributes=nil, *args)
super super

View File

@ -79,6 +79,21 @@ class ApiTest::TimeEntriesTest < ActionController::IntegrationTest
assert_equal 3.5, entry.hours assert_equal 3.5, entry.hours
assert_equal TimeEntryActivity.find(11), entry.activity assert_equal TimeEntryActivity.find(11), entry.activity
end end
should "accept custom fields" do
field = TimeEntryCustomField.create!(:name => 'Test', :field_format => 'string')
assert_difference 'TimeEntry.count' do
post '/time_entries.xml', {:time_entry => {
:issue_id => '1', :spent_on => '2010-12-02', :hours => '3.5', :activity_id => '11', :custom_fields => [{:id => field.id.to_s, :value => 'accepted'}]
}}, credentials('jsmith')
end
assert_response :created
assert_equal 'application/xml', @response.content_type
entry = TimeEntry.first(:order => 'id DESC')
assert_equal 'accepted', entry.custom_field_value(field)
end
end end
context "with project_id" do context "with project_id" do