From 3233e66c034047667508540e2b373902123007bb Mon Sep 17 00:00:00 2001 From: aina-esokia Date: Wed, 30 May 2018 11:53:09 +0400 Subject: [PATCH] port PHRAS-1730 to 4.1: dispatch record.edit event --- .../Phrasea/Controller/Prod/RecordController.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/RecordController.php b/lib/Alchemy/Phrasea/Controller/Prod/RecordController.php index bde70a5cde..ef67a81ae0 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/RecordController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/RecordController.php @@ -14,6 +14,8 @@ use Alchemy\Phrasea\Application\Helper\EntityManagerAware; use Alchemy\Phrasea\Application\Helper\SearchEngineAware; use Alchemy\Phrasea\Controller\Controller; use Alchemy\Phrasea\Controller\RecordsRequest; +use Alchemy\Phrasea\Core\Event\RecordEdit; +use Alchemy\Phrasea\Core\PhraseaEvents; use Alchemy\Phrasea\Model\Entities\BasketElement; use Alchemy\Phrasea\Model\Repositories\BasketElementRepository; use Alchemy\Phrasea\Model\Repositories\StoryWZRepository; @@ -194,6 +196,8 @@ class RecordController extends Controller $trashCollectionsBySbasId = []; $manager = $this->getEntityManager(); + + /** @var \record_adapter $record */ foreach ($records as $record) { try { $basketElements = $basketElementsRepository->findElementsByRecord($record); @@ -209,6 +213,10 @@ class RecordController extends Controller $manager->remove($attachedStory); } + foreach($record->get_grouping_parents() as $story) { + $this->getEventDispatcher()->dispatch(PhraseaEvents::RECORD_EDIT, new RecordEdit($story)); + } + $sbasId = $record->getDatabox()->get_sbas_id(); if(!array_key_exists($sbasId, $trashCollectionsBySbasId)) { $trashCollectionsBySbasId[$sbasId] = $record->getDatabox()->getTrashCollection(); @@ -332,4 +340,12 @@ class RecordController extends Controller return $this->app->json($renewed); } + + /** + * @return EventDispatcherInterface + */ + private function getEventDispatcher() + { + return $this->app['dispatcher']; + } }