##// END OF EJS Templates
Merged r15223 and r15225 (#22127)....
Jean-Philippe Lang -
r14849:fdc0782be1d6
parent child
Show More
@@ -470,6 +470,17 class Issue < ActiveRecord::Base
470 470 self.status_id = s
471 471 end
472 472 end
473 if (u = attrs.delete('assigned_to_id')) && safe_attribute?('assigned_to_id')
474 if u.blank?
475 self.assigned_to_id = nil
476 else
477 u = u.to_i
478 if assignable_users.any?{|assignable_user| assignable_user.id == u}
479 self.assigned_to_id = u
480 end
481 end
482 end
483
473 484
474 485 attrs = delete_unsafe_attributes(attrs, user)
475 486 return if attrs.empty?
@@ -3658,13 +3658,15 class IssuesControllerTest < ActionController::TestCase
3658 3658
3659 3659 @request.session[:user_id] = 2
3660 3660 # update issues assignee
3661 post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing',
3662 :issue => {:priority_id => '',
3663 :assigned_to_id => group.id,
3664 :custom_field_values => {'2' => ''}}
3665
3666 assert_response 302
3667 assert_equal [group, group], Issue.where(:id => [1, 2]).collect {|i| i.assigned_to}
3661 with_settings :issue_group_assignment => '1' do
3662 post :bulk_update, :ids => [1, 2], :notes => 'Bulk editing',
3663 :issue => {:priority_id => '',
3664 :assigned_to_id => group.id,
3665 :custom_field_values => {'2' => ''}}
3666
3667 assert_response 302
3668 assert_equal [group, group], Issue.where(:id => [1, 2]).collect {|i| i.assigned_to}
3669 end
3668 3670 end
3669 3671
3670 3672 def test_bulk_update_on_different_projects
@@ -4048,7 +4050,7 class IssuesControllerTest < ActionController::TestCase
4048 4050 assert_no_difference 'Project.find(1).issues.count' do
4049 4051 post :bulk_update, :ids => [1, 2], :copy => '1',
4050 4052 :issue => {
4051 :project_id => '2', :tracker_id => '', :assigned_to_id => '4',
4053 :project_id => '2', :tracker_id => '', :assigned_to_id => '2',
4052 4054 :status_id => '1', :start_date => '2009-12-01', :due_date => '2009-12-31'
4053 4055 }
4054 4056 end
@@ -4058,7 +4060,7 class IssuesControllerTest < ActionController::TestCase
4058 4060 assert_equal 2, copied_issues.size
4059 4061 copied_issues.each do |issue|
4060 4062 assert_equal 2, issue.project_id, "Project is incorrect"
4061 assert_equal 4, issue.assigned_to_id, "Assigned to is incorrect"
4063 assert_equal 2, issue.assigned_to_id, "Assigned to is incorrect"
4062 4064 assert_equal 1, issue.status_id, "Status is incorrect"
4063 4065 assert_equal '2009-12-01', issue.start_date.to_s, "Start date is incorrect"
4064 4066 assert_equal '2009-12-31', issue.due_date.to_s, "Due date is incorrect"
@@ -766,6 +766,40 class IssueTest < ActiveSupport::TestCase
766 766 assert_nil issue.custom_field_value(cf2)
767 767 end
768 768
769 def test_safe_attributes_should_ignore_unassignable_assignee
770 issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 3,
771 :status_id => 1, :priority => IssuePriority.all.first,
772 :subject => 'test_create')
773 assert issue.valid?
774
775 # locked user, not allowed
776 issue.safe_attributes=({'assigned_to_id' => '5'})
777 assert_nil issue.assigned_to_id
778 # no member
779 issue.safe_attributes=({'assigned_to_id' => '1'})
780 assert_nil issue.assigned_to_id
781 # user 2 is ok
782 issue.safe_attributes=({'assigned_to_id' => '2'})
783 assert_equal 2, issue.assigned_to_id
784 assert issue.save
785
786 issue.reload
787 assert_equal 2, issue.assigned_to_id
788 issue.safe_attributes=({'assigned_to_id' => '5'})
789 assert_equal 2, issue.assigned_to_id
790 issue.safe_attributes=({'assigned_to_id' => '1'})
791 assert_equal 2, issue.assigned_to_id
792 # user 3 is also ok
793 issue.safe_attributes=({'assigned_to_id' => '3'})
794 assert_equal 3, issue.assigned_to_id
795 assert issue.save
796
797 # removal of assignee
798 issue.safe_attributes=({'assigned_to_id' => ''})
799 assert_nil issue.assigned_to_id
800 assert issue.save
801 end
802
769 803 def test_editable_custom_field_values_should_return_non_readonly_custom_values
770 804 cf1 = IssueCustomField.create!(:name => 'Writable field', :field_format => 'string',
771 805 :is_for_all => true, :tracker_ids => [1, 2])
General Comments 0
You need to be logged in to leave comments. Login now