You are here

function uc_taxes_entity_view_alter in Ubercart 7.3

Implements hook_entity_view_alter().

Adds included taxes (VAT) to display price of applicable products.

File

uc_taxes/uc_taxes.module, line 108
Ubercart Taxes module.

Code

function uc_taxes_entity_view_alter(&$build, $entity_type) {
  switch ($entity_type) {
    case 'node':
      if (uc_product_is_product($build['#node'])) {
        list($amount, $suffixes) = uc_taxes_get_included_tax($build['#node']);
        $build['display_price']['#value'] += $amount;
        if (!empty($suffixes)) {
          $build['display_price']['#suffixes'] += $suffixes;
        }
      }
      break;
    case 'uc_cart_item':
      list($amount, $suffixes) = uc_taxes_get_included_tax($build['#entity'], isset($build['#entity']->order) ? $build['#entity']->order : NULL);
      if (!empty($amount) && !empty($build['#total'])) {
        $build['#total'] += $amount * $build['qty']['#default_value'];
      }
      if (!empty($suffixes)) {
        if (empty($build['#suffixes'])) {
          $build['#suffixes'] = array();
        }
        $build['#suffixes'] += $suffixes;
      }
      break;
    case 'uc_order_product':
      list($amount, $suffixes) = uc_taxes_get_included_tax($build['#entity'], isset($build['#entity']->order) ? $build['#entity']->order : NULL);
      $build['price']['#price'] += $amount;
      $build['total']['#price'] += $amount * $build['#entity']->qty;
      $build['price']['#suffixes'] += $suffixes;
      $build['total']['#suffixes'] += $suffixes;
      break;
  }
}