The complete business rule can be found below.
Public Function Main(ByVal si As SessionInfo, ByVal globals As BRGlobals, ByVal api As Object, ByVal args As DashboardExtenderArgs) As Object
Try
Select Case args.FunctionType
Case Is = DashboardExtenderFunctionType.LoadDashboard
Case Is = DashboardExtenderFunctionType.ComponentSelectionChanged
If args.FunctionName.XFEqualsIgnoreCase("SetAssignedEntity") Then
Brapi.State.SetUserState(si,False,ClientModuletype.Windows,String.Empty, String.Empty, "ParamComboEntity",String.Empty,args.NameValuePairs("AssignedEntity"),Nothing)
'brapi.ErrorLog.LogMessage(si,"PAram Value - " & args.NameValuePairs("AssignedEntity"))
End If
'-------------------------------------------------
'Complete or Revert Workflow
'-------------------------------------------------
If args.FunctionName.XFEqualsIgnoreCase("WorkflowStatusUpdate") Then
Dim strChangeType As String = args.NameValuePairs.XFGetValue("ChangeType")
Dim selectionChangedTaskResult As XFSelectionChangedTaskResult = Me.WorkflowStatusUpdate(si, strChangeType)
Return selectionChangedTaskResult
End If
End Select
On further investigation users with access to the immediate parent workflow are able to execute this business rule for the child workflow. However, if a user only has access to the workflow in question, they're unable to execute the rule.