contacts_events-8.x-1.x-dev/modules/teams/contacts_events_teams.views.inc

modules/teams/contacts_events_teams.views.inc
<?php

/**
 * @file
 * Views data hook for Contacts Events Teams.
 */

use Drupal\Core\StringTranslation\TranslatableMarkup;

/**
 * Implements hook_views_data().
 */
function contacts_events_teams_views_data() {
  $data = [];

  // Relationship to the team application.
  $data['contacts_ticket']['c_events_team_app']['relationship'] = [
    'title' => new TranslatableMarkup('Team applications'),
    'help' => new TranslatableMarkup('Relate team applications to the ticket it belongs to.'),
    'id' => 'standard',
    'base' => 'c_events_team_app',
    'base field' => 'ticket',
    'field' => 'id',
    'label' => new TranslatableMarkup('Application'),
  ];

  // Ticket::$is_team_ticket.
  $data['contacts_ticket__is_team_ticket']['table'] = [
    'join' => [
      'contacts_ticket' => [
        'table' => 'contacts_ticket__is_team_ticket',
        'left_field' => 'id',
        'field' => 'entity_id',
        'extra' => [
          [
            'field' => 'deleted',
            'value' => 0,
            'numeric' => TRUE,
          ],
        ],
      ],
    ],
  ];
  $data['contacts_ticket__is_team_ticket']['is_team_ticket'] = [
    'group' => new TranslatableMarkup('Ticket'),
    'title' => new TranslatableMarkup('Is team ticket'),
    'help' => new TranslatableMarkup('Whether this ticket is a team ticket.'),
    'field' => [
      'id' => 'field',
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
      'real field' => 'is_team_ticket_value',
      'additional fields' => [
        'delta',
        'langcode',
        'bundle',
        'team_target_id',
      ],
      'element type' => 'div',
      'is revision' => FALSE,
      'click sortable' => TRUE,
    ],
  ];
  $data['contacts_ticket__is_team_ticket']['is_team_ticket_value'] = [
    'group' => new TranslatableMarkup('Ticket'),
    'title' => new TranslatableMarkup('Is team ticket'),
    'help' => new TranslatableMarkup('Whether this ticket is a team ticket.'),
    'argument' => [
      'id' => 'numeric',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
      'empty field name' => new TranslatableMarkup('- No value -'),
    ],
    'filter' => [
      'id' => 'boolean',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
      'allow empty' => TRUE,
    ],
    'sort' => [
      'id' => 'standard',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
    ],
  ];

  // Ticket::$team.
  $data['contacts_ticket__team']['table'] = [
    'join' => [
      'contacts_ticket' => [
        'table' => 'contacts_ticket__team',
        'left_field' => 'id',
        'field' => 'entity_id',
        'extra' => [
          [
            'field' => 'deleted',
            'value' => 0,
            'numeric' => TRUE,
          ],
        ],
      ],
    ],
  ];
  $data['contacts_ticket__team']['team'] = [
    'group' => new TranslatableMarkup('Ticket'),
    'title' => new TranslatableMarkup('Team'),
    'help' => new TranslatableMarkup('The team this ticket is applying for.'),
    'field' => [
      'table' => 'contacts_ticket__team',
      'id' => 'field',
      'field_name' => 'team',
      'entity_type' => 'contacts_ticket',
      'real field' => 'team_target_id',
      'additional fields' => [
        'delta',
        'langcode',
        'bundle',
        'team_target_id',
      ],
      'element type' => 'div',
      'is revision' => FALSE,
      'click sortable' => TRUE,
    ],
    'relationship' => [
      'title' => new TranslatableMarkup('Team referenced from Ticket'),
      'label' => new TranslatableMarkup('Team'),
      'id' => 'standard',
      'base' => 'c_events_team',
      'base field' => 'id',
      'relationship field' => 'team_target_id',
    ],
  ];
  $data['contacts_ticket__team']['team_target_id'] = [
    'group' => new TranslatableMarkup('Ticket'),
    'title' => new TranslatableMarkup('Team'),
    'help' => new TranslatableMarkup('The team this ticket is applying for.'),
    'argument' => [
      'id' => 'numeric',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'team',
      'entity_type' => 'contacts_ticket',
      'empty field name' => new TranslatableMarkup('- No value -'),
    ],
    'filter' => [
      'id' => 'numeric',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
      'allow empty' => TRUE,
    ],
    'sort' => [
      'id' => 'standard',
      'additional fields' => [
        'bundle',
        'deleted',
        'entity_id',
        'revision_id',
        'langcode',
        'delta',
        'team_target_id',
      ],
      'field_name' => 'is_team_ticket',
      'entity_type' => 'contacts_ticket',
    ],
  ];

  $data['c_events_team_app']['ce_teams_dbs_status'] = [
    'title' => t('Application DBS Status'),
    'field' => [
      'title' => t('Application DBS Status'),
      'help' => t('The DBS Status of the team application (if relevant).'),
      'id' => 'ce_teams_dbs_status',
      'real field' => 'id',
    ],
  ];

  return $data;
}

/**
 * Implements hook_views_plugins_field_alter().
 */
function contacts_events_teams_views_plugins_field_alter(array &$plugins) {
  $plugins['entity_operations']['class'] = 'Drupal\\contacts_events_teams\\Plugin\\views\\field\\EntityOperations';
}

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

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