EntityFormAccessTokenListBuilder.php in Access unpublished 8
File
src/EntityFormAccessTokenListBuilder.php
View source
<?php
namespace Drupal\access_unpublished;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Url;
class EntityFormAccessTokenListBuilder extends AccessTokenListBuilder {
protected $contentEntity;
protected $handlerName = 'entity_form_list_builder';
public function buildHeader() {
$header = parent::buildHeader();
unset($header['host']);
return $header;
}
public function buildRow(EntityInterface $entity) {
$row = parent::buildRow($entity);
unset($row['host']);
return $row;
}
public function load() {
return $this->accessTokenManager
->getAccessTokensByEntity($this->contentEntity);
}
public function render($contentEntity = NULL) {
$this->contentEntity = $contentEntity;
return parent::render();
}
protected function getDefaultOperations(EntityInterface $token) {
$operations = parent::getDefaultOperations($token);
if (isset($operations['copy'])) {
$url = $this->accessTokenManager
->getAccessTokenUrl($token, $this->contentEntity
->language());
$operations['copy'] = [
'title' => $this
->t('Copy'),
'url' => Url::fromUserInput('#'),
'attributes' => [
'data-unpublished-access-url' => $url,
'class' => [
'clipboard-button',
],
],
'weight' => 50,
];
}
return $operations;
}
}