1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-01 03:57:15 +00:00

Ensure @category_id@ is valid within the issue's project (#37171).

Patch by Holger Just. 


git-svn-id: https://svn.redmine.org/redmine/trunk@21637 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu 2022-06-16 15:10:25 +00:00
parent dbf3bbc452
commit e5550d5ed4
2 changed files with 14 additions and 0 deletions

View File

@ -759,6 +759,12 @@ class Issue < ActiveRecord::Base
end
end
if project && category_id
unless project.issue_category_ids.include?(category_id)
errors.add :category_id, :inclusion
end
end
# Checks that the issue can not be added/moved to a disabled tracker
if project && (tracker_id_changed? || project_id_changed?)
if tracker && !project.trackers.include?(tracker)

View File

@ -1721,6 +1721,14 @@ class IssueTest < ActiveSupport::TestCase
assert issue.save
end
def test_should_not_be_able_to_set_an_invalid_category_id
issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 1,
:status_id => 1, :category_id => 3,
:subject => 'New issue')
assert !issue.save
assert_not_equal [], issue.errors[:category_id]
end
def test_allowed_target_projects_should_include_projects_with_issue_tracking_enabled
assert_include Project.find(2), Issue.allowed_target_projects(User.find(2))
end