Difference between revisions of "InRole"

From SmartWiki
Jump to: navigation, search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This syntax can be used on [[Submit Logic]], [[Visibility Condition|visibility conditions]], [[Custom Field Type: Special – Browser Script|browser scripts]] or any other role-specific [[validation]]. It will always return a value, either true or false.  
+
This syntax can be used on [[Submit Logic]], [[Advanced Logic]], [[Visibility Condition|visibility conditions]], [[Custom Field Type: Special – Browser Script|browser scripts]] or any other role-specific [[validation]]. It will always return a value, either true or false.  
  
 
<pre>@object.inRole(Rolename)@</pre>
 
<pre>@object.inRole(Rolename)@</pre>
Line 5: Line 5:
 
There are three things to use caution about this syntax:
 
There are three things to use caution about this syntax:
  
*'''Case Sensitive''' – Watch for lower case “i” and upper case “R”
+
*'''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 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''' –  This is looping the role names in the instance and tries to match what is in the brackets. Use the exact role name without encapsulating.
+
*'''Do not encapsulate the role name''' –  Use the exact role name without quotes.
  
 +
{|
 +
|'''Correct''':
 +
|'''''@me.inRole(Organization Contact)@'''''
 +
|-
 +
|<font color="red">'''Wrong''':</font>
 +
|''"@owner.inRole(Organization Contact)@"'' - don't put quotes around the variable. It's a true/false value, not a string.
 +
|-
 +
|<font color="red">'''Wrong''':</font>
 +
|''@me.inRole("Organization Contact")@'' - don't put quotes around the role name. The role name is ''Organization Contact'', not ''quote Organization Contact unquote''.
 +
|-
 +
|<font color="red">'''Wrong''':</font>
 +
|''"@me.inRole("Organization Contact")@"'' - don't put quotes around both things...
 +
|-
 +
|<font color="red">'''Wrong''':</font>
 +
|''@me.InRole(Organization Contact)@'' OR ''@me.inrole(Organization Contact)@'' - use the correct capitalization, ''inRole''
 +
|-
 +
|<font color="red">'''Wrong''':</font>
 +
|''@me.inRole(''rolename1'' OR ''rolename2'')@'' - instead of this, use ''@me.inRole(''rolename1'')@ OR @me.inRole(''rolename2'')@''
 +
|}
  
'''Correct''':  '''@me.inRole(Organization Contact)@'''
+
The syntax for the test of when a contact is ''not'' in a role is to precede the ''inRole'' variable with an exclamation point ("!").
 +
<pre>!@object.inRole(Rolename)@</pre>
  
<font color="red">'''Wrong''':</font>  "@owner.inRole(Organization Contact)@"
+
An example is that ''!@me.inRole(Administrator)@'' will return true only when the current user is not in the role of Administrator.
  
<font color="red">'''Wrong''':</font>    @me.inRole("Organization Contact")@
 
  
<font color="red">'''Wrong''':</font>  "@me.inRole("Organization Contact")@"
+
==See Also==
 +
* [[Boolean Operators]]
  
<font color="red">'''Wrong''':</font>    @me.InRole(Organization Contact)@ OR @me.inrole(Organization Contact)@
+
[[Category:To Move Later]]
 
 
<font color="red">'''Wrong''':</font>  @me.inRole(''rolename1'' OR ''rolename2'')@
 
 
 
''For multiple role names use: @me.inRole(''rolename1'')@ OR @me.inRole(''rolename2'')@
 
 
 
[[Category:Variables]]
 

Latest revision as of 12:36, 20 October 2017

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.


See Also