From 69f2974706c5582b449bd543c5c47bdfa11a9585 Mon Sep 17 00:00:00 2001 From: Joas Schilling <coding@schilljs.com> Date: Wed, 21 Aug 2019 11:58:27 +0200 Subject: [PATCH] Only trigger the events with tags that where actually assigned Signed-off-by: Joas Schilling <coding@schilljs.com> --- lib/private/SystemTag/SystemTagObjectMapper.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/private/SystemTag/SystemTagObjectMapper.php b/lib/private/SystemTag/SystemTagObjectMapper.php index f8a1b03cd01..f1f39fd7d0a 100644 --- a/lib/private/SystemTag/SystemTagObjectMapper.php +++ b/lib/private/SystemTag/SystemTagObjectMapper.php @@ -154,20 +154,26 @@ class SystemTagObjectMapper implements ISystemTagObjectMapper { 'systemtagid' => $query->createParameter('tagid'), ]); + $tagsAssigned = []; foreach ($tagIds as $tagId) { try { $query->setParameter('tagid', $tagId); $query->execute(); + $tagsAssigned[] = $tagId; } catch (UniqueConstraintViolationException $e) { // ignore existing relations } } + if (empty($tagsAssigned)) { + return; + } + $this->dispatcher->dispatch(MapperEvent::EVENT_ASSIGN, new MapperEvent( MapperEvent::EVENT_ASSIGN, $objectType, $objId, - $tagIds + $tagsAssigned )); } -- GitLab