Add new issue status to all workflows by default
|Target version:||Candidate for next major release|
At Planio Online Project Management which is based on Redmine, we keep getting user feedback about the following situation:
A new user tries to add an issue status. He/She successfully finds the "Issue Statuses" section within "Administration" and adds a new status but gets confused that the status cannot be assigned when creating or updating an issue. Many users give up at this point and we need to help them explaining how to find and use the "Workflow" section. The "Only display statuses that are used by this tracker" checkbox (which is checked by default) represents another common pitfall as a newly created status won't be available in the matrix unless the checkbox is unchecked.
In an attempt to improve the situation, we created this patch. It adds a checkbox to the "New status" view allowing the user to add the to-be-created status to all workflows by default. The checkbox is checked by default, but it can be unchecked by advanced users who only want to use the new status in certain workflows. We have found that in many cases, teams aren't making use of Redmine's great role-based workflow permission system. Instead, many allow everyone on a project to use every issue status. This patch helps those users all while allowing advanced admins to configure the fine-grained permissions on workflows.
Looking forward to your feedback and would love to see this getting into the core. We believe it will help first-time Redmine users adopt and learn Redmine.
#1 Updated by Jan from Planio www.plan.io almost 8 years ago
N.B. The feature becomes a performance problem once there are many issue statuses/roles/trackers. Improvements (using raw SQL?) are welcome. We went for the ActiveRecord based approach, because it's easier to maintain and less likely to break with future Redmine changes.
#4 Updated by Jan from Planio www.plan.io almost 8 years ago
I don't think it does from a functionality point of view, but it seems to be the right thing to be in line with the default workflows. Plus, it will improve the performance a bit.
Just removing line 24
Workflow.create! :tracker_id => tracker.id, :old_status => @issue_status, :new_status => @issue_status, :role => role # self-to-self
from the patch will accomplish that. I'll leave that to the person committing this.
#5 Updated by Yehuda Katz almost 7 years ago
Updated patch for Redmine current trunk.