Syntax for a condition on a UI action

velvet
Mega Guru

I have a ui action that pages the on-call person based off the assignment group of the incident.  It will page the on-call person for a on-call schedule that is using  that assignment group.  Some assignment groups are not on-call so I want to exclude those groups.  So on the ui action, how can i exclude 4 groups, so that the ui button does not show when these groups are assigned to the incident.  Groups A, B, and C.

1 ACCEPTED SOLUTION

Jim Coyne
Kilo Patron

You could add a new True/False field called "On call" to the Group table and use that in your condition:

find_real_file.png

Tag all your on call groups by setting the field to "true".  Easier to maintain with a checkbox instead of changing code to make the UI Action appear or not for the groups.  Your condition could then be:

current.priority == 1 && current.assignment_group.u_on_call == true

Another way of doing it would be with the "Type" field on the Group table, and adding a Type of "On call".  But that could be a bit of a pain depending on how things are configured in your instance.  OOB, the Assignment group field on Task has a reference qualifier of:

find_real_file.png

To me, that's a mistake.  The default reference qualifier should be blank, and any overrides should be in Dictionary override records for the appropriate tables.

Personally, I would go with the "Type" field as it gives you a lot of flexibility, but it might take a bit to get all your groups setup and working properly in all the different task tables.  That's why I like to do it right from the start of an implementation.  The new "On call" field, however, makes it quick to add what you need now.

View solution in original post

15 REPLIES 15

This condition will only work. This will make the UI action not visible if the logged in user is one of your 4 groups.

(current.priority == 1 && !current.assignment_group.nil()) && !(gs.getUser().isMemberOf('Cogito')||gs.getUser().isMemberOf('Page')||gs.getUser().isMemberOf('NOVO')||gs.getUser().isMemberOf('Businees Intelligence'))

Let me know how it goes. Replace with the group names appropriately.


Please mark my response as correct and helpful if it helped solved your question.
-Thanks

Jim Coyne
Kilo Patron

You could add a new True/False field called "On call" to the Group table and use that in your condition:

find_real_file.png

Tag all your on call groups by setting the field to "true".  Easier to maintain with a checkbox instead of changing code to make the UI Action appear or not for the groups.  Your condition could then be:

current.priority == 1 && current.assignment_group.u_on_call == true

Another way of doing it would be with the "Type" field on the Group table, and adding a Type of "On call".  But that could be a bit of a pain depending on how things are configured in your instance.  OOB, the Assignment group field on Task has a reference qualifier of:

find_real_file.png

To me, that's a mistake.  The default reference qualifier should be blank, and any overrides should be in Dictionary override records for the appropriate tables.

Personally, I would go with the "Type" field as it gives you a lot of flexibility, but it might take a bit to get all your groups setup and working properly in all the different task tables.  That's why I like to do it right from the start of an implementation.  The new "On call" field, however, makes it quick to add what you need now.

I am going to try the On-call field.  Thanks

 

Good to hear.  Remember to mark any answer/comment as being the correct answer or helpful.  Thanks

If I use Type, I would just have to create Type as on-call as you stated.  What about the task tables.  What would I have to do for them if I use Type?