Feature #2937

Filter assignable users based on workflow

Added by Chiara Canavera over 8 years ago. Updated over 1 year ago.

Status:NewStart date:2009-03-09
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Issues workflow
Target version:-
Resolution:

Description

Now a issue can be assigned to every user that is member of the project.

It's possible, however, that if a workflow is associated with that issue, the issue with a particoular status can be assigned to a person whose role can't make the issue proceed on the flow.
The issue then become blocked unless assigned to a new member with the "right rights"

I have a suggestion: when a user updates an issue and select the new status, the drop down "assigned to" changes showing only the members that have permission, for that new status, to make the issue change status again


Related issues

Related to Redmine - Feature #7521: Grant assignee only to developers (or a special users role) New 2011-02-02
Related to Redmine - Patch #212: Assign To limited by workflow New
Related to Redmine - Feature #8313: Restrict Assignee List by Role New 2011-05-06

History

#1 Updated by Markus Knittig over 8 years ago

So, you want the user show all possible statuses, but he can not really choose a status he doesn't have permissions for and there are partly only for selecting a user who does have the permissions for the selected status? Doesn't sound very intuitive to me. But you could achieve such a functionality with a custom plugin...

#2 Updated by Chiara Canavera over 8 years ago

This is not exactly what I meant... maybe I can make an example (roles and statuses in the example are imaginary)

I have a role that permits me to change the issue from the actual state (suppose "Opened") to two states: "Working" and "Waiting for feedback".
When I update the issue (Issue -> Update) to change status, assignment, etc, I still see only the status that are allowed to me (in this case "working" and "waiting") but if I choose "working" I should be able to assigne the issue only to a member that have the permission to change the state from "working" to another (for example, "To be tested").
Still for example, if I choose "working", the assignable users will be the developers (that have the permission on the workflow to make the issue oass from "working" to "to be tested"), but if I choose "waiting for feedback", the "assigned to" drop down show me the business analysts (that can change the issue to "Refused")
If I can assign the issue to a role that have no permission for the "working" status, the issue will be blocked (for example if I assign the issue in status "working" to a business analyst).

It happened several times in my company that issues became blocked, and several other tools have this filter on assignments (for example, JTrack)

This feature should be applied on the issue update phase (and page), so I don't think it could be a plugin

#3 Updated by Markus Knittig over 8 years ago

Chiara Canavera wrote:

This feature should be applied on the issue update phase (and page), so I don't think it could be a plugin

Of course it can. Thanks to Ruby and a few plugin hooks... :)
You need to wrap around the getter for the "Assiged to" field and JavaScript to observe the "Status" field. You also might need a custom route from which a JavaScript post action can get the new values for the "Assiged to" field.

#4 Updated by Chiara Canavera over 8 years ago

Ok thanks :) I can try

But I think it should be a useful feature for Redmine, also because users don't necessary know exactly all the workflows and they would be more aware if they are committing errors on assignments

#5 Updated by Markus Knittig over 8 years ago

Chiara Canavera wrote:

Ok thanks :) I can try

Ruby is really not that hard. I suggest you to take a look at available plugins on GitHub.

But I think it should be a useful feature for Redmine, also because users don't necessary know exactly all the workflows and they would be more aware if they are committing errors on assignments

I still think this features could be rather confusing, although I agree that the workflow system needs to be more customizable...

#6 Updated by Giacomo Vicenzi over 8 years ago

Chiara Canavera wrote:

Ok thanks :) I can try

But I think it should be a useful feature for Redmine, also because users don't necessary know exactly all the workflows and they would be more aware if they are committing errors on assignments

I think that this would be a useful feature for Redmine too!!

#7 Updated by Stepan Kochetov over 8 years ago

+1

#8 Updated by Brian Alexander over 7 years ago

+1

#9 Updated by Daniel Miller over 7 years ago

+1

Markus Knittig wrote:

So, you want the user show all possible statuses, but he can not really choose a status he doesn't have permissions for and there are partly only for selecting a user who does have the permissions for the selected status? Doesn't sound very intuitive to me. But you could achieve such a functionality with a custom plugin...

I agree with Chiara Canavera's feature-request and disagree with Markus Knittig's assessment. The status field can be viewed as past-tense: I have accomplished this piece of the overall work on this issue. The assignment field can be viewed as future tense: now you do that next piece of the overall work on this issue.

If a hardware manufacturer has roles for, say, technical writers and Linux kernel developers and if I have states where one state essentially somehow implies the assignment "now go write a new device driver for this" and another state essentially somehow implies the assignment "now go update the user's manual regarding this", then I don't want anyone telling the technical writers to go write a device driver. I want a work-flow in Redmine to enforce this restriction.

#10 Updated by Light Kong over 7 years ago

+1

#11 Updated by myT selection almost 7 years ago

+10

Anyone already made/found a Redmine plugin that can do this?

For me it seems to be a basic requirement of any workflow. In all our workflows we provide information on who can change states and to who (role) the issue needs to be assigned. The tools needs to restrict all parts of the workflow to make sure issues don't get into an invalid workflow state. Not everyone has a clear view on the workflow at all times.

I'm motivated to dive into Ruby and Rails to create a plugin for this, but I have absolutely no experience with Ruby nor Rails, so any help/tips etc are welcome :)

#12 Updated by Guilherme Andrade Del Cantoni over 6 years ago

+1

For me it seems to be a basic requirement of any workflow, too.

#13 Updated by Darren Cook over 5 years ago

+10 as well.
I have a project with many users that issues can be assigned to, but only at certain stages of the workflow process. Right now it's this example: A new "Change Request" tracker item should be assignable only to the PM so it can flow into the change control process. However if I choose status as "PM Review," the list of assignees is still everyone on the project. Only the PM role can change an issue from "PM Review" status to anything else; only the PM role user(s) should show in the Assignee drop down after I choose "PM Review" from the status drop down.

#14 Updated by Terence Mill over 5 years ago

+1

#15 Updated by Seb Paris over 5 years ago

+1
We are also searching for such a functionality in our Company.

In our case, we want to lock the issue modification for all the roles but the Project Manager.
But, doing so prevents us to let an issue unassigned, for other roles to pick it when they want...
For example, features development can be depicted by the Manager, who assigns some of them to specific Developers, but let other ones unassigned so that any Developer can pick them when they have nothing else to do. All the other roles should only have reading access to those issues.

#16 Updated by m mahdi over 5 years ago

+1

#17 Updated by ali akbar cheraghi over 5 years ago

  • Assignee set to Azamat Hackimov

+100
a very good Feature for redmine

#18 Updated by ali akbar cheraghi over 5 years ago

  • Assignee deleted (Azamat Hackimov)

#19 Updated by Terence Mill about 5 years ago

In most cases that makes sense!
However it also could be possible that you work in an team on one status change to another and only one in that team (team lead) shall coordinate this status change (control,managment idea) so only that person will make the worflow procced but all other can be assigned before and make steps towards that.

A compromise could be that if i chnage the "assign to" field, that i get the users which are able to change status from actual state (e.g also edited in same step too) to any next one populated at top of the drop-down list e.g with a separator from any other user with role flag assignable.

Furthermore a system setting could configure redmine worflow for strict assigments, what means that the "ordered drop down" described above will only provide users which have right to change status somehere.

#20 Updated by Sebastian Paluch almost 3 years ago

+1 again and it is duplicated by #2937.

#21 Updated by Toshi MARUYAMA over 2 years ago

#23 Updated by Toshi MARUYAMA over 2 years ago

  • Related to Feature #5295: Possibility to filter issues by my role in associated projects added

#24 Updated by Toshi MARUYAMA over 2 years ago

  • Related to deleted (Feature #5295: Possibility to filter issues by my role in associated projects)

#25 Updated by Toshi MARUYAMA over 2 years ago

  • Category set to Issues workflow

#26 Updated by Luis Roa over 1 year ago

Hi. I created a new plugin to filter assignable users based on workflow.

https://github.com/luisr9/redmine_filter_assignable

I'm newbie in ruby, but I believe and I hope this work for you too, sorry for my english.

Also available in: Atom PDF