Class WorkflowBasedPermissionSchemeManager

All Implemented Interfaces:
GroupConfigurable, Startable, PermissionSchemeManager, SchemeManager

public class WorkflowBasedPermissionSchemeManager extends DefaultPermissionSchemeManager implements Startable
Custom permission scheme manager that allows the list of assignable users to be restricted by workflow state. In jira-workflow.xml, every step can have a meta attribute stating which groups are assignable:

<step id="23" name="Pending Biz User Approval"> .... <meta name="jira.permission.assignable.group">acme-bizusers</meta>

When getUsers(Long, PermissionContext) is called to discover assignable users, this permission scheme manager first does the regular "Assignable" check, and then filters returned users for membership of the 'jira.permission.assignable.group' (in this example). If jira.permission.assignable.* isn't specified for a step, all permission-derived users are returned.