##// END OF EJS Templates
Check for a valid time entry if comments have been entered when updating an issue (#7581)....
Jean-Philippe Lang -
r4990:7927bc2d892b
parent child
Show More
@@ -536,7 +536,7 class Issue < ActiveRecord::Base
536 # Returns false if save fails
536 # Returns false if save fails
537 def save_issue_with_child_records(params, existing_time_entry=nil)
537 def save_issue_with_child_records(params, existing_time_entry=nil)
538 Issue.transaction do
538 Issue.transaction do
539 if params[:time_entry] && params[:time_entry][:hours].present? && User.current.allowed_to?(:log_time, project)
539 if params[:time_entry] && (params[:time_entry][:hours].present? || params[:time_entry][:comments].present?) && User.current.allowed_to?(:log_time, project)
540 @time_entry = existing_time_entry || TimeEntry.new
540 @time_entry = existing_time_entry || TimeEntry.new
541 @time_entry.project = project
541 @time_entry.project = project
542 @time_entry.issue = self
542 @time_entry.issue = self
@@ -1002,7 +1002,7 class IssuesControllerTest < ActionController::TestCase
1002 assert_equal 1, ActionMailer::Base.deliveries.size
1002 assert_equal 1, ActionMailer::Base.deliveries.size
1003 end
1003 end
1004
1004
1005 def test_put_update_with_invalid_spent_time
1005 def test_put_update_with_invalid_spent_time_hours_only
1006 @request.session[:user_id] = 2
1006 @request.session[:user_id] = 2
1007 notes = 'Note added by IssuesControllerTest#test_post_edit_with_invalid_spent_time'
1007 notes = 'Note added by IssuesControllerTest#test_post_edit_with_invalid_spent_time'
1008
1008
@@ -1015,11 +1015,30 class IssuesControllerTest < ActionController::TestCase
1015 assert_response :success
1015 assert_response :success
1016 assert_template 'edit'
1016 assert_template 'edit'
1017
1017
1018 assert_tag :textarea, :attributes => { :name => 'notes' },
1018 assert_error_tag :descendant => {:content => /Activity can't be blank/}
1019 :content => notes
1019 assert_tag :textarea, :attributes => { :name => 'notes' }, :content => notes
1020 assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => "2z" }
1020 assert_tag :input, :attributes => { :name => 'time_entry[hours]', :value => "2z" }
1021 end
1021 end
1022
1022
1023 def test_put_update_with_invalid_spent_time_comments_only
1024 @request.session[:user_id] = 2
1025 notes = 'Note added by IssuesControllerTest#test_post_edit_with_invalid_spent_time'
1026
1027 assert_no_difference('Journal.count') do
1028 put :update,
1029 :id => 1,
1030 :notes => notes,
1031 :time_entry => {"comments"=>"this is my comment", "activity_id"=>"", "hours"=>""}
1032 end
1033 assert_response :success
1034 assert_template 'edit'
1035
1036 assert_error_tag :descendant => {:content => /Activity can't be blank/}
1037 assert_error_tag :descendant => {:content => /Hours can't be blank/}
1038 assert_tag :textarea, :attributes => { :name => 'notes' }, :content => notes
1039 assert_tag :input, :attributes => { :name => 'time_entry[comments]', :value => "this is my comment" }
1040 end
1041
1023 def test_put_update_should_allow_fixed_version_to_be_set_to_a_subproject
1042 def test_put_update_should_allow_fixed_version_to_be_set_to_a_subproject
1024 issue = Issue.find(2)
1043 issue = Issue.find(2)
1025 @request.session[:user_id] = 2
1044 @request.session[:user_id] = 2
General Comments 0
You need to be logged in to leave comments. Login now