You are here

function crm_core_relation_entity_ui_get_form_wrapper in CRM Core 7

Same name and namespace in other branches
  1. 8.3 modules/crm_core_relationship_ui/crm_core_relationship_ui.pages.inc \crm_core_relation_entity_ui_get_form_wrapper()
  2. 8 modules/crm_core_relationship_ui/crm_core_relationship_ui.pages.inc \crm_core_relation_entity_ui_get_form_wrapper()
  3. 8.2 modules/crm_core_relationship_ui/crm_core_relationship_ui.pages.inc \crm_core_relation_entity_ui_get_form_wrapper()

Wrapper around entity_ui_get_form().

Create new crm_activity entity and pass it to entity_ui_get_form().

Parameters

type $contact:

type $type:

1 string reference to 'crm_core_relation_entity_ui_get_form_wrapper'
crm_core_relationship_ui_menu in modules/crm_core_relationship_ui/crm_core_relationship_ui.module
Implements hook_menu().

File

modules/crm_core_relationship_ui/crm_core_relationship_ui.pages.inc, line 11

Code

function crm_core_relation_entity_ui_get_form_wrapper($contact, $type, $reverse) {
  global $user;
  $types = relation_get_types(array(
    $type,
  ));
  $current_type = array_pop($types);

  // Default empty Relation.
  $values = array(
    'relation_type' => $type,
    'uid' => $user->uid,
    'title' => '',
    'reverse' => $reverse,
    'directional' => $current_type->directional,
    'r_unique' => $current_type->r_unique,
    'source_bundles' => $current_type->source_bundles,
    'target_bundles' => $current_type->target_bundles,
    'label' => $current_type->directional && $reverse ? $current_type->reverse_label : $current_type->label,
  );
  $breadcrumb = array(
    l(t('Home'), '<front>'),
    l(t('CRM Core'), 'crm-core'),
  );
  if ($contact) {
    $values['crm_core_contact'] = $contact;
    $contact_uri = $contact
      ->uri();
    $breadcrumb[] = l(t('Contacts'), 'crm-core/contact');
    $breadcrumb[] = l(t($contact
      ->label()), $contact_uri['path']);
    $breadcrumb[] = l(t('Add a relationship'), $contact_uri['path'] . '/relationships/add');
  }
  else {
    $breadcrumb[] = l(t('Add a relationship'), 'crm-core/relationship/add');
  }
  drupal_set_breadcrumb($breadcrumb);
  $relation = crm_core_relation_create($values);
  return entity_ui_get_form('crm_core_relationship', $relation, 'add');
}