/** * @param ResourceEvent $event */ public function preRegister(ResourceEvent $event) { $item = $event->getSubject(); /** @var Store $store */ $store = $this->factory->createNew(); $store->setName($item->getEmail()); $store->setCode($item->getEmail()); $store->setEnabled(true); $item->getUser()->setStore($store); }
function it_does_not_allow_to_delete_currently_logged_user(ResourceEvent $event, UserInterface $userToBeDeleted, UserInterface $currentlyLoggedInUser, $securityContext, $flashBag, TokenInterface $token) { $event->getSubject()->willReturn($userToBeDeleted); $userToBeDeleted->getId()->willReturn(1); $securityContext->getToken()->willReturn($token); $currentlyLoggedInUser->getId()->willReturn(1); $token->getUser()->willReturn($currentlyLoggedInUser); $event->stopPropagation()->shouldBeCalled(); $flashBag->add('error', 'Cannot remove currently logged in user.')->shouldBeCalled(); $this->deleteUser($event); }
/** * Prevent channel deletion if no more channels enabled. * * @param ResourceEvent $event */ public function onChannelPreDelete(ResourceEvent $event) { $channel = $event->getSubject(); if (!$channel instanceof ChannelInterface) { throw new UnexpectedTypeException($channel, ChannelInterface::class); } $results = $this->channelRepository->findBy(array('enabled' => true)); if (!$results || count($results) === 1 && current($results) === $channel) { $event->stop('error.at_least_one'); } }
/** * @param ResourceEvent $event */ public function deleteUser(ResourceEvent $event) { $user = $event->getSubject(); if (!$user instanceof UserInterface) { throw new UnexpectedTypeException($user, UserInterface::class); } if (($token = $this->securityContext->getToken()) && ($loggedUser = $token->getUser()) && $loggedUser->getId() === $user->getId()) { $event->stopPropagation(); $this->session->getBag('flashes')->add('error', 'Cannot remove currently logged in user.'); } }
/** * {@inheritdoc} */ public function postRemove(ResourceEvent $event) { $object = $event->getSubject(); if (!$object instanceof StaticContent) { return; } $prefix = $this->container->getParameter('cmf_routing.dynamic.persistence.phpcr.route_basepath'); $path = sprintf('%s/%s', $prefix, $object->getName()); $dm = $this->container->get('sylius.manager.route'); if ($route = $dm->find(null, $path)) { $dm->remove($route); $dm->flush($route); } }
public function onPreUpdate(ResourceEvent $event) { /** @var $category Category */ $category = $event->getSubject(); $this->setCollection($category); }