I am trying to make a few custom fields read-only based on if a date field was populated. The basic situation is: If the approval date is populated, then a few fields are to become read-only. The approval can be returned, so if that is true, then the custom fields are to be read-write again. If the issue is approved again, then check to make sure the approval is after the returned data to make the custom fields read-only again. Any help would be great.
Below is an example of just making the custom fields read-only, but many things could be wrong. Thanks!
def ApproveDate = getFieldByName("Approve Date")
Date ApproveDateValue = (Date) ApproveDate.getValue()
def ReturnDate = getFieldByName("Return Date")
Date ReturnDateValue = (Date) ReturnDate.getValue()
def cf1 = getFieldByName("CustomField1")
def cf2 = getFieldByName("CustomField2")
if (ApproveDateValue != null || (ReturndateValue !=null && ApproveDateValue>ReturnDateValue))
{
cf1.setReadOnly(true)
cf2.setReadOnly(true)
}
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FormField
FormField ApproveDate = getFieldByName("Approve Date")
def ApproveDateValue = (Date) ApproveDate.getValue()
FormField ReturnDate = getFieldByName("Return Date")
def ReturnDateValue = (Date) ReturnDate.getValue()
FormField cf1 = getFieldByName("CustomField1")
FormField cf2 = getFieldByName("CustomField2")
if (ApproveDateValue != null || ( ReturnDateValue !=null && ApproveDateValue > ReturnDateValue)) {
cf1.setReadOnly(true)
cf2.setReadOnly(true)
}
// Make sure to make the fields read-write if condition evaluates as false as behaviour loads every time the field changes .
else {
cf1.setReadOnly(false)
cf2.setReadOnly(false)
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.