diff --git a/lib/private/SystemTag/SystemTagObjectMapper.php b/lib/private/SystemTag/SystemTagObjectMapper.php index f8a1b03cd01045a5ba760ea44641b5b7b4dd5c6f..f1f39fd7d0aab4e9f3ac00cd862b3954877b65c2 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 )); }