src/CoreBundle/EventListener/DcGeneral/MetaModel/PasteButtonListener.php
public function handle(GetPasteButtonEvent $event)
    {
        $this->circularReference = $event->isCircularReference();
        $this->environment       = $event->getEnvironment();
        $this->provider          = $this->environment->getDataProvider();
        $this->providerName      = $this->provider->getEmptyModel()->getProviderName();
        $clipboard               = $this->environment->getClipboard();
        $this->currentModel      = $event->getModel();
        $this->disablePI         = true;
        $this->disablePA         = true;

        // Only run for a MetaModels and if both values already disabled return here.
        if ((substr($this->providerName, 0, 3) !== 'mm_')
            || ($event->isPasteIntoDisabled() && $event->isPasteAfterDisabled())
        ) {
            return;
        }

        $this->checkForAction($clipboard, 'copy');
        $this->checkForAction($clipboard, 'create');
        $this->checkForAction($clipboard, 'cut');

        $event
            ->setPasteAfterDisabled($this->disablePA)
            ->setPasteIntoDisabled($this->disablePI);
    }
public function handle(GetPasteButtonEvent $event)
    {
        $this->circularReference = $event->isCircularReference();
        $this->environment       = $event->getEnvironment();
        $this->provider          = $this->environment->getDataProvider();
        $this->providerName      = $this->provider->getEmptyModel()->getProviderName();
        $clipboard               = $this->environment->getClipboard();
        $this->currentModel      = $event->getModel();
        $this->disablePI         = true;
        $this->disablePA         = true;

        // Only run for a MetaModels and if both values already disabled return here.
        if ((substr($this->providerName, 0, 3) !== 'mm_')
            || ($event->isPasteIntoDisabled() && $event->isPasteAfterDisabled())
        ) {
            return;
        }

        $this->checkForAction($clipboard, 'copy');
        $this->checkForAction($clipboard, 'create');
        $this->checkForAction($clipboard, 'cut');

        $event
            ->setPasteAfterDisabled($this->disablePA)
            ->setPasteIntoDisabled($this->disablePI);
    }
Handle the paste into and after buttons.

@param GetPasteButtonEvent $event The event.

@return void

@throws \RuntimeException When more than one model is contained within the clipboard.