You are here

function simple_package_tracking_entity_view in Simple Package Tracking 7

Implements hook_entity_view().

File

./simple_package_tracking.module, line 120

Code

function simple_package_tracking_entity_view($entity, $entity_type, $view_mode, $langcode) {
  if ($entity_type == 'commerce_order') {

    // Optionally, integrate with views megarow, if available
    $megarow = module_exists('views_megarow');
    $click_message = FALSE;
    $table = simple_package_tracking_order_tracking_numbers_view($entity, $view_mode, -1, -1, $click_message);
    if ($view_mode == 'customer' && $table == NULL) {
      return;
    }
    $markup = '<div id="tracking-info-form-block-' . $entity->order_id . '">' . _simple_package_tracking_order_tracking_numbers_ajax_block($table, $view_mode, $entity->order_id, $click_message);
    if ($view_mode == 'customer') {
      $entity->content['tracking_lst'] = array(
        '#weight' => 5,
        '#markup' => $markup . '</div>',
        //ajax
        '#access' => commerce_order_access('view', $entity),
      );
      return;
    }
    $tracking_form = drupal_get_form('simple_package_tracking_add_tracking_form', $entity);

    // Bubble-up the signal for refreshing the parent row.
    if ($megarow && !empty($status_form['#megarow_refresh_parent'])) {
      $entity->content['#megarow_refresh_parent'] = TRUE;
    }
    $tracking_form = array(
      'tracking_list' => array(
        '#weight' => -11,
        '#markup' => $markup,
        '#access' => commerce_order_access('view', $entity),
      ),
      'add_new_header' => array(
        '#markup' => '<div class="field-label simple-package-tracking-label">' . t('Add a tracking number') . '</div>',
      ),
    ) + $tracking_form;
    $markup = '<div class="field simple-package-tracking-form">' . '<div id="tracking_messages"></div>';
    $markup .= drupal_render($tracking_form);
    $markup .= '</div>';
    $markup .= '</div>';
    $entity->content['tracking_add'] = array(
      '#weight' => 10,
      '#markup' => $markup,
      '#access' => commerce_order_access('update', $entity),
    );
  }
}