You are here

function crm_core_relationship_permission in CRM Core 8.2

Same name and namespace in other branches
  1. 8.3 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_permission()
  2. 8 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_permission()
  3. 7 modules/crm_core_relationship/crm_core_relationship.module \crm_core_relationship_permission()

Implements hook_permission().

File

modules/crm_core_relationship/crm_core_relationship.module, line 17
CRM Core Relationship, handles relationship logic and API.

Code

function crm_core_relationship_permission() {
  $permissions = array();

  // administration permission
  $permissions['administer contact relationship types'] = array(
    'title' => t('Administer contact relationship types'),
    'description' => t('Allows user to create/edit/delete any contact relationship types'),
    'restrict access' => TRUE,
  );

  // static permissions
  $permissions['create relation entities of any contact relationship'] = array(
    'title' => t('Create Any Contact Relationships'),
    'description' => t('Allows user to create any CRM relationship.'),
  );
  $permissions['view relation entities of any contact relationship'] = array(
    'title' => t('View Any Contact Relationships'),
    'description' => t('Allows user to view any CRM relationship'),
  );
  $permissions['edit relation entities of any contact relationship'] = array(
    'title' => t('Edit Any Contact Relationships'),
    'description' => t('Allows user to edit any CRM relationship'),
  );

  // per bundle permissions
  $relationships = crm_core_relationship_get_relationships();
  $entity_info = array(
    'permission labels' => array(
      'singular' => t('relationship'),
      'plural' => t('relationships'),
    ),
  );
  foreach ($relationships as $type => $info) {
    $info = (array) $info;
    $permissions += crm_core_bundle_access_permissions($type, $info, 'relation', $entity_info);
  }
  return $permissions;
}