Hi,
I am having a problem with filtering the Assign List (dropdown box) in Create / Assign Screen. I tried to accomplish this with behavior plugin but it is not working, here is the code. Please help
Regards,
BN
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.user.util.UserManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.security.roles.ProjectRole
import com.atlassian.jira.security.JiraAuthenticationContext
import com.onresolve.jira.groovy.user.FieldBehaviours
//import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.user.ApplicationUser
import org.ofbiz.core.entity.GenericValue
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.plugin.webfragment.model.JiraHelper;
import com.atlassian.jira.project.Project
import static com.atlassian.jira.issue.IssueFieldConstants.*
//import com.atlassian.crowd.embedded.api.User
import groovy.transform.BaseScript
import static com.atlassian.jira.issue.IssueFieldConstants.ASSIGNEE
import com.atlassian.jira.bc.projectroles.ProjectRoleService
JiraAuthenticationContext jiraAuthenticationContext =
ComponentManager.getComponentInstanceOfType(JiraAuthenticationContext.Class) as JiraAuthenticationContext;
ProjectRoleManager projectRoleManager =
ComponentManager.getComponentInstanceOfType(ProjectRoleManager.Class) as ProjectRoleManager;
//current project & issue
JiraHelper jiraHelper;
Issue currentIsuse = (Issue) jiraHelper.getContextParams().get("issue");
Project currentProject = currentIsuse.getProjectObject();
//current user
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
//name of the roles
ProjectRole bimManager = projectRoleManager.getProjectRole("BIM Manager");
ProjectRole bimOperators = projectRoleManager.getProjectRole("BIM Operators");
ProjectRole projectManager = projectRoleManager.getProjectRole("Project Manager");
ProjectRole projectMembers = projectRoleManager.getProjectRole("Project Members");
ProjectRole qsDirector = projectRoleManager.getProjectRole("QS Director");
ProjectRole qsManager = projectRoleManager.getProjectRole("QS Manager");
ProjectRole qsSurveyors = projectRoleManager.getProjectRole("QS Quantity Surveyors");
ProjectRole projectDirector = projectRoleManager.getProjectRole("Project Director");
//user list
//Set<ApplicationUser> assigneeList;
List<String> assignableList;
if (projectRoleManager.isUserInProjectRole(currentUser, bimManager, currentProject)){
def myName = currentUser.getDisplayName();
//assignable members for bimManager
def members = projectRoleManager.getProjectRoleActors(bimOperators, currentProject);
def usersInRole = members.getApplicationUsers();
for (int i = 0; i < usersInRole.size(); i ++)
{
def memberName = usersInRole[i].getDisplayName();
if (memberName != myName)
{
assignableList.add(memberName);
}
}
assignableList.add(myName);
}
//check with the dropdown
getFieldById(ASSIGNEE).setFieldOptions(assignableList);