diff --git a/src/plugin/announcement/Entity/Announcement.php b/src/plugin/announcement/Entity/Announcement.php index 49946ede921..3ed1b48e2b7 100644 --- a/src/plugin/announcement/Entity/Announcement.php +++ b/src/plugin/announcement/Entity/Announcement.php @@ -305,7 +305,7 @@ public function getCreator() /** * Set creator. */ - public function setCreator(User $creator) + public function setCreator(?User $creator = null) { $this->creator = $creator; } diff --git a/src/plugin/forum/Subscriber/Crud/SubjectSubscriber.php b/src/plugin/forum/Subscriber/Crud/SubjectSubscriber.php index 1de2e1dc91d..6c9ae910405 100644 --- a/src/plugin/forum/Subscriber/Crud/SubjectSubscriber.php +++ b/src/plugin/forum/Subscriber/Crud/SubjectSubscriber.php @@ -74,15 +74,17 @@ public function preCreate(CreateEvent $event) $forum = $subject->getForum(); //create user if not here - $user = $this->om->getRepository(UserValidation::class)->findOneBy([ - 'user' => $subject->getCreator(), - 'forum' => $forum, - ]); - - if (!$user) { - $user = new UserValidation(); - $user->setForum($forum); - $user->setUser($subject->getCreator()); + if ($subject->getCreator()) { + $user = $this->om->getRepository(UserValidation::class)->findOneBy([ + 'user' => $subject->getCreator(), + 'forum' => $forum, + ]); + + if (!$user) { + $user = new UserValidation(); + $user->setForum($forum); + $user->setUser($subject->getCreator()); + } } $messages = $subject->getMessages();