ConfigEntityRevisionsModerationHandler.php in Config Entity Revisions 1.x
Same filename and directory in other branches
File
src/Entity/Handler/ConfigEntityRevisionsModerationHandler.phpView source
<?php
/**
* @file
* Contains Drupal\config_entity_revisions\Entity\Handler\ConfigEntityRevisionsModerationHandler.
*/
namespace Drupal\config_entity_revisions\Entity\Handler;
use Drupal\content_moderation\Entity\Handler\ModerationHandler;
use Drupal\content_moderation\ModerationInformationInterface;
use Drupal\Core\Entity\EntityTypeInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Entity\EntityPublishedInterface;
/**
* Customizations for config_entity_revisions entities.
*/
class ConfigEntityRevisionsModerationHandler extends ModerationHandler {
/**
* The moderation information service.
*
* @var ModerationInformationInterface
*/
protected $moderationInfo;
/**
* NodeModerationHandler constructor.
*
* @param ModerationInformationInterface $moderation_info
* The moderation information service.
*/
public function __construct(ModerationInformationInterface $moderation_info) {
$this->moderationInfo = $moderation_info;
}
/**
* {@inheritdoc}
*/
public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
return new static($container
->get('content_moderation.moderation_information'));
}
/**
* {@inheritdoc}
*/
public function onPresave(ContentEntityInterface $entity, $default_revision, $published_state) {
// Updating an existing revision?
if (!$entity
->isNewRevision()) {
return;
}
$entity
->setNewRevision(TRUE);
$entity
->isDefaultRevision($default_revision);
// Update publishing status if it can be updated and if it needs updating.
if ($entity instanceof EntityPublishedInterface && $entity
->isPublished() !== $published_state) {
$published_state ? $entity
->setPublished() : $entity
->setUnpublished();
}
}
}
Classes
Name![]() |
Description |
---|---|
ConfigEntityRevisionsModerationHandler | Customizations for config_entity_revisions entities. |