You are here

class PushStatusEntityToV2 in CMS Content Sync 2.0.x

Same name and namespace in other branches
  1. 2.1.x modules/cms_content_sync_views/src/Plugin/Action/PushStatusEntityToV2.php \Drupal\cms_content_sync_views\Plugin\Action\PushStatusEntityToV2

Push entity of status entity.

Plugin annotation


@Action(
  id = "push_status_entity_to_v2",
  label = @Translation("Test push to v2"),
  type = "cms_content_sync_entity_status"
)

Hierarchy

Expanded class hierarchy of PushStatusEntityToV2

File

modules/cms_content_sync_views/src/Plugin/Action/PushStatusEntityToV2.php, line 22

Namespace

Drupal\cms_content_sync_views\Plugin\Action
View source
class PushStatusEntityToV2 extends PushStatusEntity {

  /**
   * {@inheritdoc}
   */
  public function execute($entity = NULL) {

    /** @var \Drupal\cms_content_sync\Entity\EntityStatus $entity */
    if (is_null($entity)) {
      return;
    }
    try {
      $source = $entity
        ->getEntity();
      if (empty($source)) {
        \Drupal::messenger()
          ->addMessage(t('The Entity @type @uuid doesn\'t exist locally, push skipped.', [
          '@type' => $entity
            ->get('entity_type')
            ->getValue()[0]['value'],
          '@uuid' => $entity
            ->get('entity_uuid')
            ->getValue()[0]['value'],
        ]), 'warning');
        return;
      }
      $pool = $entity
        ->getPool();
      if (!$pool
        ->v2Ready()) {
        \Drupal::messenger()
          ->addMessage(t('The Pool for @type %label has not been exported to the new Sync Core, push skipped. Please go to Admin > Configuration > Web services > Content Sync to export the Pool first.', [
          '@type' => $entity
            ->get('entity_type')
            ->getValue()[0]['value'],
          '%label' => $source
            ->label(),
        ]), 'warning');
        return;
      }
      $flow = $entity
        ->getFlow();
      if (!$flow
        ->v2Ready()) {
        \Drupal::messenger()
          ->addMessage(t('The Flow for @type %label has not been exported to the new Sync Core, push skipped. Please go to Admin > Configuration > Web services > Content Sync to export the Flow first.', [
          '@type' => $entity
            ->get('entity_type')
            ->getValue()[0]['value'],
          '%label' => $source
            ->label(),
        ]), 'warning');
        return;
      }
      Migration::useV2(TRUE);
      parent::execute($entity);
      Migration::useV2(FALSE);
      Migration::entityUsedV2($flow->id, $source
        ->getEntityTypeId(), $source
        ->bundle(), $source
        ->uuid(), EntityHandlerPluginManager::isEntityTypeConfiguration($source
        ->getEntityType()) ? $source
        ->id() : NULL, TRUE);
    } finally {
      Migration::useV2(FALSE);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ActionBase::executeMultiple public function Executes the plugin for an array of objects. Overrides ActionInterface::executeMultiple 3
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 2
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 98
PushStatusEntity::access public function Checks object access. Overrides ActionInterface::access
PushStatusEntityToV2::execute public function Executes the plugin. Overrides PushStatusEntity::execute
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.