InRole
From SmartWiki
This syntax can be used on Submit Logic, Advanced Logic, visibility conditions, browser scripts or any other role-specific validation. It will always return a value, either true or false.
@object.inRole(Rolename)@
There are three things to use caution about this syntax:
- Case Sensitive – The syntax must be inRole exactly: lower case “i” and upper case “R”
- Do not encapsulate the whole syntax – This syntax always returns a value, either true or false which mostly would not cause any problems for example in sslogic or visibility conditions. However, encapsulation of the syntax will return a string which is useless if not equaled to another string.
- Do not encapsulate the role name – Use the exact role name without quotes.
Correct: | @me.inRole(Organization Contact)@ |
Wrong: | "@owner.inRole(Organization Contact)@" - don't put quotes around the variable. It's a true/false value, not a string. |
Wrong: | @me.inRole("Organization Contact")@ - don't put quotes around the role name. The role name is Organization Contact, not quote Organization Contact unquote. |
Wrong: | "@me.inRole("Organization Contact")@" - don't put quotes around both things... |
Wrong: | @me.InRole(Organization Contact)@ OR @me.inrole(Organization Contact)@ - use the correct capitalization, inRole |
Wrong: | @me.inRole(rolename1 OR rolename2)@ - instead of this, use @me.inRole(rolename1)@ OR @me.inRole(rolename2)@ |
The syntax for the test of when a contact is not in a role is to precede the inRole variable with an exclamation point ("!").
!@object.inRole(Rolename)@
An example is that !@me.inRole(Administrator)@ will return true only when the current user is not in the role of Administrator.