contacts_events-8.x-1.x-dev/modules/teams/src/EventSubscriber/TeamsCloneEventSubscriber.php

modules/teams/src/EventSubscriber/TeamsCloneEventSubscriber.php
<?php

namespace Drupal\contacts_events_teams\EventSubscriber;

use Drupal\contacts_events\Entity\EventInterface;
use Drupal\contacts_events\Event\CloneEvent;
use Drupal\contacts_events\EventSubscriber\CloneEventDependentEntitySubscriberBase;
use Drupal\Core\StringTranslation\TranslatableMarkup;

/**
 * Teams clone event subscriber.
 */
class TeamsCloneEventSubscriber extends CloneEventDependentEntitySubscriberBase {

  /**
   * {@inheritdoc}
   */
  public function onClone(CloneEvent $event): void {
    $event->addOperation(
      'contacts_events_teams.clone_event_subscriber',
      'cloneTeamsOperation',
      new TranslatableMarkup('Cloning teams'),
    );
  }

  /**
   * Clone operation to clone teams.
   *
   * @param \Drupal\contacts_events\Entity\EventInterface $event
   *   The new event.
   * @param \Drupal\contacts_events\Entity\EventInterface $source
   *   The source event.
   * @param array $sandbox
   *   A sandbox for storing data that will be preserved between calls to this
   *   operation.
   *
   * @return int
   *   The progress percentage between 0 (not started) and 100 (complete).
   */
  public function cloneTeamsOperation(EventInterface $event, EventInterface $source, array &$sandbox): int {
    return $this->cloneDependantEntityOperation('c_events_team', $event, $source, $sandbox, 'event');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc