Permission check expression parameters in ContactManager

Some Gosu permission check expressions require a parameter, and some do not.

For example, the ContactManager tag create permission check expression is the same as the ABContact create permission check expression: perm.ABContact.create. When this expression has a ContactTagType argument, the expression verifies that the user has permission to create a contact with this tag. The ContactTagType arguments for this expression in the base configuration support the following enumeration constants:

  • ContactTagType.TC_CLIENT
  • ContactTagType.TC_VENDOR
  • ContactTagType.TC_CLAIMPARTY

For example, the expression perm.ABContact.create(ContactTagType.TC_CLIENT) verifies that the user has permission to create a new contact with the Client tag. If the user has anytagcreate permission, which grants permission for creating contacts with all contact tag types, this permission check returns true.

The contact and tag create permission expression can take an ABContact type or subtype parameter or a ContactTagType typecode specified as an enumeration constant. The contact and tag delete, edit, and view permission expressions take an ABContact instance as a parameter. All these expressions check for both contact and tag permissions, so no additional tag permission check expression is needed. These expressions are:

  • perm.ABContact.create
  • perm.ABContact.delete
  • perm.ABContact.edit
  • perm.ABContact.view

The following table lists the ContactManager contact and tag permission check expressions:

ContactManager Expression Description
perm.ABContact.create Takes an input parameter that is either an ABContact type or subtype or a ContactTagType typecode specified as an enumeration constant. Depending on the parameter, verifies that the user has the permission to create either a contact with the specified tag or a contact of the specified type.
perm.ABContact.createpreferred Does not take an input parameter. Verifies that the user has permission to add the preferred contact in the address book.
perm.ABContact.delete Takes an ABContact instance as an input parameter. Determines the subtype and contact tag or tags from the instance, and then verifies that the user has the contact and tag permissions to delete the contact.
perm.ABContact.deletepreferred Does not take an input parameter. Verifies that the user has permission to delete the preferred vendor from the address book.
perm.ABContact.edit Takes an ABContact instance as an input parameter. Determines the subtype and contact tag or tags from the instance, and then verifies that the user has the contact and tag permissions to edit the contact.
perm.ABContact.editpreferred Does not take an input parameter. Verifies that the user has permission to edit the preferred vendor in the address book.
perm.ABContact.view Takes an ABContact instance as an input parameter. Determines the subtype and contact tag or tags from the instance, and then verifies that the user has the contact and tag permissions to view the contact.
perm.ABContact.viewmerge Does not take an input parameter. Verifies that the user has permission to merge contacts in the address book.
perm.ABContact.viewpending Does not take an input parameter. Verifies that the user has permission to view pending contacts in the address book.
perm.ABContact.viewsearch Does not take an input parameter. Verifies that the user has permission to search for contacts in the address book.