Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 295283

EntityViewsData should add relationships to revision tables

$
0
0

Problem/Motivation

In NodeViewsData

<?php
    $data['node_revision']['nid']['relationship']['id'] = 'standard';
    $data['node_revision']['nid']['relationship']['base'] = 'node';
    $data['node_revision']['nid']['relationship']['base field'] = 'nid';
    $data['node_revision']['nid']['relationship']['title'] = t('Content');
    $data['node_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');

    $data['node_revision']['vid'] = array(
      'argument' => array(
        'id' => 'node_vid',
        'numeric' => TRUE,
      ),
      'relationship' => array(
        'id' => 'standard',
        'base' => 'node',
        'base field' => 'vid',
        'title' => t('Content'),
        'label' => t('Get the actual content from a content revision.'),
      ),
    ) + $data['node_revision']['vid'];
?>

and now in #1984582: Add views support for custom blocks
<?php
    $data['block_content_revision']['id']['relationship']['id'] = 'standard';
    $data['block_content_revision']['id']['relationship']['base'] = 'block_content';
    $data['block_content_revision']['id']['relationship']['base field'] = 'id';
    $data['block_content_revision']['id']['relationship']['title'] = $this->t('Block Content');
    $data['block_content_revision']['id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');

    $data['block_content_revision']['revision_id']['relationship']['id'] = 'standard';
    $data['block_content_revision']['revision_id']['relationship']['base'] = 'block_content';
    $data['block_content_revision']['revision_id']['relationship']['base field'] = 'revision_id';
    $data['block_content_revision']['revision_id']['relationship']['title'] = $this->t('Block Content');
    $data['block_content_revision']['revision_id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');
?>

Proposed resolution

If entity is revisionable then we can add these relationships by default in EntityViewsData

Remaining tasks

Create patch

User interface changes

None

API changes

Simple code moment so none.


Viewing all articles
Browse latest Browse all 295283

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>