UI action restrictions

When needed, you can restrict when a UI action is available.

For example, you might want to show Close Incident only to group managers or only for incidents that are already in the Resolved state. Alternatively, you might want to display an action only on certain views of a form.
Note: In UI11 only, you can control whether the UI action appears at the bottom of the form in addition to the top. Create the property propertyglide.ui.buttons_bottom and set it to true.

Control visibility with conditions

The most direct way to control the availability of an action is to define the Condition field. The condition must evaluate to true for the action to appear. If you leave the field empty, the condition defaults to true.

For example, the following condition is configured for the Close Incident button.
Figure 1. UI action condition
Condition statement
For this action to appear on a form, these conditions must evaluate to true:
  • current.incident_state must equal 6: The incident must already be in a Resolved state.
  • gs.hasRole("itil_admin"): The current user must have the itil_admin role.
OR this condition must evaluate to true:
  • gs.GetUserID() == current.caller_id: The current user is the user who requested the change.
Note:
  • The current object is not available for conditions on a list context menu (the List context menu check box is selected). Any use of current on these actions is ignored.
  • You can reference the parent record for the UI action conditions on a related list button. For example, to disable the New and Edit buttons on the Affected CIs related list for closed changes, copy the global m2m UI actions to the task_ci table and add a condition of parent.active.