mirror of
https://github.com/redmine/redmine.git
synced 2025-11-08 14:26:04 +01:00
Let the API accept project identifier for creating issues (#23766).
Patch by Holger Just. git-svn-id: http://svn.redmine.org/redmine/trunk@15855 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -502,8 +502,13 @@ class Issue < ActiveRecord::Base
|
||||
|
||||
# Project and Tracker must be set before since new_statuses_allowed_to depends on it.
|
||||
if (p = attrs.delete('project_id')) && safe_attribute?('project_id')
|
||||
if allowed_target_projects(user).where(:id => p.to_i).exists?
|
||||
self.project_id = p
|
||||
if p.is_a?(String) && !p.match(/^\d*$/)
|
||||
p_id = Project.find_by_identifier(p).try(:id)
|
||||
else
|
||||
p_id = p.to_i
|
||||
end
|
||||
if allowed_target_projects(user).where(:id => p_id).exists?
|
||||
self.project_id = p_id
|
||||
end
|
||||
|
||||
if project_id_changed? && attrs['category_id'].to_s == category_id_was.to_s
|
||||
|
||||
@@ -488,6 +488,16 @@ JSON
|
||||
assert_equal 'API test', issue.subject
|
||||
end
|
||||
|
||||
test "POST /issues.json should accept project identifier as project_id" do
|
||||
assert_difference('Issue.count') do
|
||||
post '/issues.json',
|
||||
{:issue => {:project_id => 'subproject1', :tracker_id => 2, :subject => 'Foo'}},
|
||||
credentials('jsmith')
|
||||
|
||||
assert_response :created
|
||||
end
|
||||
end
|
||||
|
||||
test "POST /issues.json without tracker_id should accept custom fields" do
|
||||
field = IssueCustomField.generate!(
|
||||
:field_format => 'list',
|
||||
|
||||
Reference in New Issue
Block a user