public void setFieldsForNotFixed() {
FormField issueField = getFieldById("id")
FormField formResolution = getFieldById(fieldChanged)
FormField commentField = getFieldById("Comment")
FormField assigneeField = getFieldById("assignee")
def issueId = issueField.getFormValue() as Long
log.debug("Current issue: $issueId")
Object resolutionId = formResolution.getFormValue() as String
ConstantsManager constantsManager = componentManager.getConstantsManager()
MutableIssue myIssue = componentManager.getIssueManager().getIssueObject(issueId)
Project project = myIssue.getProjectObject()
def projectLead = project.getLead()
def currentAssignee = componentManager.jiraAuthenticationContext?.user
def assigneeName = assigneeField.getFormValue()
String resolutionName = constantsManager.getResolutionObject(resolutionId).getName()
log.debug("Current Resolution: $resolutionName")
log.debug("Current User: $currentAssignee.name")
log.debug("Project Lead: $projectLead.name")
log.debug("Current Assignee: $assigneeName")
User usera = componentManager.getInstance().getUserUtil().getUser(projectLead.name)
if (resolutionName == "Won't Fix" || resolutionName == "Cannot Reproduce" || resolutionName == "As Designed") {
log.debug("Current Resolution: $resolutionName")
commentField.setRequired(true)
assigneeField.setFormValue(usera)
assigneeField.setReadOnly(true)
} else if (resolutionName == "Incomplete") {
commentField.setRequired(true)
assigneeField.setFormValue(currentAssignee)
assigneeField.setReadOnly(true)
} else {
commentField.setRequired(false)
assigneeField.setReadOnly(false)
}
Object newAssignee = assigneeField.getFormValue()
log.debug("New Assignee: $newAssignee")
}
Sorry for this text being at the end but the Answers UI is not letting me put the code after my text if I use the Code macro.
I have code to handle setting the assignee to a particular value for certain Non-Fixed Resolutions and then making the assignee field Read Only.Using debug print outs I can see that the value does indeed get changed and if I Resolve the issue it gets set correctly.
However, the UI doesn't show the change until after submission and the field doesn't get set to Read Only.I'm using the Behaviors Plugin and it is attached to the Resolution field and as I said the code is working as far as setting the values. How do I get the UI to update? I've used other scripts to change things on the screen based on other fields and they work fine but this one is setting the Assignee.
Thanks,
Jon