mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
When updating an issue, allow adding time entry on an issue that was visible for the previous assignee (#34856).
git-svn-id: http://svn.redmine.org/redmine/trunk@21081 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
985450347e
commit
3ebe6a8b0a
@ -119,6 +119,13 @@ class TimeEntry < ActiveRecord::Base
|
||||
self.project_id = issue.project_id
|
||||
end
|
||||
@invalid_issue_id = nil
|
||||
elsif user.allowed_to?(:log_time, issue.project) && issue.assigned_to_id_changed? && issue.previous_assignee == User.current
|
||||
current_assignee = issue.assigned_to
|
||||
issue.assigned_to = issue.previous_assignee
|
||||
unless issue.visible?(user)
|
||||
@invalid_issue_id = issue_id
|
||||
end
|
||||
issue.assigned_to = current_assignee
|
||||
else
|
||||
@invalid_issue_id = issue_id
|
||||
end
|
||||
|
||||
@ -6510,6 +6510,29 @@ class IssuesControllerTest < Redmine::ControllerTest
|
||||
assert_select 'input[name=?][value=?]', 'time_entry[comments]', 'this is my comment'
|
||||
end
|
||||
|
||||
def test_put_with_spent_time_when_assigned_to_of_private_issue_is_update_at_the_same_time
|
||||
@request.session[:user_id] = 3
|
||||
Role.find(2).update! :issues_visibility => 'own'
|
||||
private_issue = Issue.find(3)
|
||||
|
||||
assert_difference('TimeEntry.count', 1) do
|
||||
put(
|
||||
:update,
|
||||
params: {
|
||||
id: private_issue.id,
|
||||
issue: { assigned_to_id: nil },
|
||||
time_entry: {
|
||||
comments: "add spent time", activity_id: TimeEntryActivity.first.id, hours: 1
|
||||
}
|
||||
}
|
||||
)
|
||||
end
|
||||
assert_select '#errorExplanation', {text: /Log time is invalid/, count: 0}
|
||||
assert_select '#errorExplanation', {text: /Issue is invalid/, count: 0}
|
||||
assert_redirected_to action: 'show', id: private_issue.id
|
||||
assert_not private_issue.reload.visible?
|
||||
end
|
||||
|
||||
def test_put_update_should_allow_fixed_version_to_be_set_to_a_subproject
|
||||
issue = Issue.find(2)
|
||||
@request.session[:user_id] = 2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user