You are here

function commerce_discount_views_data_alter in Commerce Discount 7

Implements hook_views_data_alter().

File

includes/views/commerce_discount.views.inc, line 59
Provides support for the Views module.

Code

function commerce_discount_views_data_alter(&$data) {
  if (isset($data['commerce_discount'])) {

    // Usage analytics field.
    $data['commerce_discount']['commerce_discount_usage'] = array(
      'title' => t('Analytics'),
      'help' => t('Show discount usage and usage limit.'),
      'field' => array(
        'handler' => 'commerce_discount_handler_field_commerce_discount_analytics',
      ),
      'real field' => 'discount_id',
    );

    // Usage relationship.
    $data['commerce_discount']['discount_usage'] = array(
      'relationship' => array(
        'title' => t('Discount usage'),
        'label' => t('Discount usage'),
        'help' => t('Relate this discount to its usage statistics.'),
        'handler' => 'views_handler_relationship',
        'base' => 'commerce_discount_usage',
        'base field' => 'discount',
        'field' => 'name',
      ),
    );
  }

  // Order table: discount usage relationship.
  if (isset($data['commerce_order'])) {
    $data['commerce_order']['discount_usage'] = array(
      'relationship' => array(
        'title' => t('Discount usage'),
        'label' => t('Discount usage'),
        'help' => t('Relate this order to its discount usage statistics.'),
        'handler' => 'views_handler_relationship',
        'base' => 'commerce_discount_usage',
        'base field' => 'order_id',
        'field' => 'order_id',
      ),
    );
  }

  // User table: discount usage relationship.
  $data['users']['discount_usage'] = array(
    'relationship' => array(
      'title' => t('Discount usage'),
      'label' => t('Discount usage'),
      'help' => t('Relate this user to its discount usage statistics.'),
      'handler' => 'views_handler_relationship',
      'base' => 'commerce_discount_usage',
      'base field' => 'mail',
      'field' => 'mail',
    ),
  );
}