Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Behaviour: Make cf visible/required based on checklist containing/including a value

Brian Alden October 18, 2019

I have a Behaviour written to make a group of justification text boxes visible and required if a checkbox field contains a particular selection. Specifically: if cf 'Selections' contains 'RCCA Done' then cf 'Root Cause' and cf 'Corrective Action' must be made visible and required.

So far I can make the Behaviour work if the desired selection is the ONLY selection checked. As soon as a second selection is added, the fields are hidden as if the desired selection was no longer checked.

//If Selections include RCCA Done, add and make required RCCA content fields.

def cf0 = getFieldById(getFieldChanged())
def cf1 = getFieldByName("Root Cause")
def cf2 = getFieldByName("Corrective Action")

def cfv0 = [cf0]*.value
def RCCA = cfv0.contains('RCCA Done')

def fields = [cf1, cf2]
fields.each {
it.setRequired(RCCA).setHidden(!RCCA)
}

 Any help would be greatly appreciated.

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Brian Alden October 23, 2019

After comparing to a functional scripted behaviour my teammate wrote, I discovered the answer: 

def cfv0 = cf0.getValue().toString()

So, even though I need to check the values within a list, I should convert the value of the field to 'string' and not 'list'? This is why I'll never understand programming.

TAGS
AUG Leaders

Atlassian Community Events