Beispiel #1
0
 /**
  * Processes the views data for a language field.
  *
  * @param string $table
  *   The table the language field is added to.
  * @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
  *   The field definition.
  * @param array $views_field
  *   The views field data.
  * @param string $field_column_name
  *   The field column being processed.
  */
 protected function processViewsDataForLanguage($table, FieldDefinitionInterface $field_definition, array &$views_field, $field_column_name)
 {
     // Apply special titles for the langcode field.
     if ($field_definition->getName() == $this->entityType->getKey('langcode')) {
         if ($table == $this->entityType->getDataTable() || $table == $this->entityType->getRevisionDataTable()) {
             $views_field['title'] = $this->t('Translation language');
         }
         if ($table == $this->entityType->getBaseTable() || $table == $this->entityType->getRevisionTable()) {
             $views_field['title'] = $this->t('Original language');
         }
     }
 }
Beispiel #2
0
 /**
  * Gets the table of an entity type to be used as revision table in views.
  *
  * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
  *   The entity type.
  *
  * @return string
  *   The revision base table.
  */
 protected function getRevisionViewsTableForEntityType(EntityTypeInterface $entity_type)
 {
     return $entity_type->getRevisionDataTable() ?: $entity_type->getRevisionTable();
 }
 /**
  * Detects whether any table name got renamed in an entity type update.
  *
  * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
  *   The new entity type.
  * @param \Drupal\Core\Entity\EntityTypeInterface $original
  *   The origin entity type.
  *
  * @return bool
  *   Returns TRUE if there have been changes.
  */
 protected function hasSharedTableNameChanges(EntityTypeInterface $entity_type, EntityTypeInterface $original)
 {
     return $entity_type->getBaseTable() != $original->getBaseTable() || $entity_type->getDataTable() != $original->getDataTable() || $entity_type->getRevisionTable() != $original->getRevisionTable() || $entity_type->getRevisionDataTable() != $original->getRevisionDataTable();
 }
 /**
  * Updates views if revision support is removed
  *
  * @param \Drupal\views\Entity\View[] $all_views
  *   All views.
  * @param \Drupal\Core\Entity\EntityTypeInterface $original
  *   The origin entity type.
  */
 protected function revisionRemoval($all_views, EntityTypeInterface $original)
 {
     $revision_base_table = $original->getRevisionTable();
     $revision_data_table = $original->getRevisionDataTable();
     foreach ($all_views as $view) {
         if (in_array($view->get('base_table'), [$revision_base_table, $revision_data_table])) {
             // Let's disable the views as we no longer support revisions.
             $view->setStatus(FALSE);
         }
         // For any kind of field, let's rely on the broken handler functionality.
     }
 }