Feature #4199
closedReassign back to original author from an SCM commit
0%
Description
We've got a post-commit hook going at work (the same as the one in the wiki) and it works great. One thing we wanted was that if we noted a revision as fixing an issue, it should not only just set it to a specific status, but also to reassign it back to the original author.
So I went in an hacked it together and I believe it works; however, I can't say it's the most efficient way to do it. Perhaps the only thing missing is a config flag of "Reassign to author on verify & close?" in the section with the fixes keywords.
Here's the code:
issue.done_ratio = done_ratio if done_ratio
# Reassign back to original author, or default to nobody
reassign_to = nil
issue.assignable_users.each do |assignuser|
reassign_to = assignuser if assignuser.id == issue.author_id
end
issue.assigned_to = reassign_to
# End reassign to original author
Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update,
{ :changeset => self, :issue => issue })
issue.save
This goes in app/models/changeset.rb right around line 114.
Thoughts on adding this in to 0.8.7?
Files
Related issues
Updated by Eric Davis about 15 years ago
- Priority changed from High to Normal
- Estimated time deleted (
2.00 h)
Could you upload this as a patch file?
Updated by Brett Patterson about 15 years ago
- File reassign_to_author.patch reassign_to_author.patch added
Here's your patch file:
Index: app/models/changeset.rb =================================================================== --- app/models/changeset.rb (revision 3033) +++ app/models/changeset.rb (working copy) @@ -112,6 +112,11 @@ journal = issue.init_journal(user || User.anonymous, ll(Setting.default_language, :text_status_changed_by_changeset, csettext)) issue.status = fix_status issue.done_ratio = done_ratio if done_ratio + reassign_to = nil + issue.assignable_users.each do |assignuser| + reassign_to = assignuser if assignuser.id == issue.author_id + end + issue.assigned_to = reassign_to Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update, { :changeset => self, :issue => issue }) issue.save
Updated by Brett Patterson almost 15 years ago
Any update or thoughts on this making it's way into a release?
Updated by Brett Patterson almost 15 years ago
The same patch above can be applied to 1.9
Updated by Brett Patterson about 14 years ago
Can still be applied to 1.0.1, the line numbers change just a little bit. New code reference is:
unless Setting.commit_fix_done_ratio.blank?
issue.done_ratio = Setting.commit_fix_done_ratio.to_i
reassign_to = nil
issue.assignable_users.each do |assignuser|
reassign_to = assignuser if assignuser.id == issue.author_id
issue.assigned_to = reassign_to
end
Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update,
{ :changeset => self, :issue => issue })
Should be about line 117.
Updated by Brett Patterson about 14 years ago
Code fix... Now showing lines 117 - 130 of app/models/changeset.rb
unless Setting.commit_fix_done_ratio.blank?
issue.done_ratio = Setting.commit_fix_done_ratio.to_i
end
# Reassign to original author if it's different
reassign_to = nil
issue.assignable_users.each do |assignuser|
reassign_to = assignuser if assignuser.id == issue.author_id
end
issue.assigned_to = reassign_to if reassign_to != nil
# End Reassign to original author
Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update,
{ :changeset => self, :issue => issue })
Updated by Eric Davis about 14 years ago
- Subject changed from Reassign back to original author to Reassign back to original author from an SCM commit
- Status changed from New to Closed
- Resolution set to Wont fix
Brett Patterson:
Thanks for the patches but I don't want to include these in the Redmine core. This is too specific of a workflow and not general enough for everyone who uses Redmine.
You can easily convert your patch to a plugin and use that hook below to do the same thing though (the :model_changeset_scan_commit_for_issue_ids_pre_issue_update
hook).
Updated by Brett Patterson about 14 years ago
Thanks for the update. I'll see if I can convert it to a plugin successfully.
Updated by Eric Davis about 14 years ago
Let me know if you get stuck. I follow most posts in the Plugin forum.
Updated by Go MAEDA almost 3 years ago
- Related to Defect #36368: show in assignable user when he/she is not member of that project added