contacts_events-8.x-1.x-dev/contacts_events.views_execution.inc

contacts_events.views_execution.inc
<?php

/**
 * @file
 * Views execution hook implementations for Contacts Events.
 */

use Drupal\views\Plugin\views\query\QueryPluginBase;
use Drupal\views\ViewExecutable;

/**
 * Implements hook_views_query_alter().
 */
function contacts_events_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if ($view->id() === 'contacts_events_booking_balances') {
    /** @var \Drupal\views\Plugin\views\query\Sql $query */
    $table = $query->getTableInfo('commerce_order')['alias'];
    $operator = substr($view->current_display, 0, 8) === 'balances' ? '>' : '<';
    $query->addWhereExpression(0, "COALESCE({$table}.total_price__number, 0) {$operator} COALESCE({$table}.total_paid__number, 0)");
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc