deploy.module in Deploy - Content Staging 8
Same filename and directory in other branches
UI module to deploy content entities.
File
deploy.moduleView source
<?php
/**
* @file
* UI module to deploy content entities.
*/
use Drupal\Core\Url;
/**
* Implements hook_toolbar().
*/
function deploy_toolbar() {
$user = \Drupal::currentUser();
$items['deploy'] = [
'#type' => 'toolbar_item',
'tab' => [
'#type' => 'link',
'#title' => t('Deploy'),
'#url' => Url::fromRoute('entity.replication.add_form'),
'#access' => \Drupal::entityTypeManager()
->getAccessControlHandler('replication')
->createAccess('', $user),
'#attributes' => [
'title' => t('Deploy'),
'class' => [
'toolbar-icon',
'toolbar-icon-deploy',
'use-ajax',
],
'data-dialog-type' => 'modal',
'data-dialog-options' => json_encode([
'width' => '50%',
]),
],
],
'#wrapper_attributes' => [
'class' => [
'deploy-toolbar-tab',
],
],
'#attached' => [
'library' => [
'deploy/drupal.deploy.toolbar',
],
],
];
return $items;
}
/**
* Implements hook_toolbar_alter().
*/
function deploy_toolbar_alter(&$items) {
$items['workspace_switcher']['tray']['deployments'] = [
'#type' => 'link',
'#title' => t('Deployments'),
'#url' => Url::fromRoute('entity.replication.collection'),
'#attributes' => [
'class' => 'deployments',
'title' => 'View all deployments',
],
];
}
/**
* Implements hook_entity_type_alter().
*/
function deploy_entity_type_alter(array &$entity_types) {
if (!empty($entity_types['replication'])) {
/** @var \Drupal\Core\Entity\EntityTypeInterface $replication */
$replication = $entity_types['replication'];
$replication
->setHandlerClass('list_builder', 'Drupal\\deploy\\ReplicationListBuilder');
$replication
->setHandlerClass('access', 'Drupal\\deploy\\ReplicationAccessControlHandler');
$replication
->setHandlerClass('route_provider', [
'html' => 'Drupal\\Core\\Entity\\Routing\\AdminHtmlRouteProvider',
]);
$replication
->setHandlerClass('form', [
'default' => 'Drupal\\deploy\\Entity\\Form\\ReplicationForm',
'add' => 'Drupal\\deploy\\Entity\\Form\\ReplicationForm',
'delete' => 'Drupal\\deploy\\Entity\\Form\\ReplicationDeleteForm',
]);
$replication
->setLinkTemplate('collection', '/admin/structure/deployment');
$replication
->setLinkTemplate('delete-form', '/admin/structure/deployment/{replication}/delete');
$replication
->set('field_ui_base_route', 'entity.replication.collection');
$replication
->set('admin_permission', 'administer workspaces');
}
}
Functions
Name | Description |
---|---|
deploy_entity_type_alter | Implements hook_entity_type_alter(). |
deploy_toolbar | Implements hook_toolbar(). |
deploy_toolbar_alter | Implements hook_toolbar_alter(). |