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'; }