public function onSave(GenericEvent $event) { if (get_class($event->getSubject()) == $this->workflowClass) { //if it is a 'save' of the workflow entity check the workflow-status of the belonging types and save the formNodes to the real nodes $workflow = $event->getSubject(); //get the repository for the changed workflow $repositories = $this->getEntityRepository($workflow); if ($repositories != null) { //get all ressources without workflow-status $resources = array(); foreach ($repositories as $repository) { $currentResourcesEmpty = $repository->getEmptyWorkflowStatus(); //replace old workflowstatus with current workflowstatus $this->removeOldWorkflowStatus($repository, $workflow); $resources = array_merge($currentResourcesEmpty, $resources); } //check if there are some entries with workflow-status null if ($resources != null) { //set a workflow-status if the current workflow is active if ($workflow->getActive()) { $this->setWorkflowStatus($workflow, $resources); } } } $this->writeNodes($workflow, $repositories); $this->em->flush(); } }
public function onDelete(GenericEvent $event) { $metadata = $this->metadataFactory->create($event->getSubject()); //check if the current subject was indexed if ($metadata) { //get the right IndexEngine $engine = $this->container->getParameter('enhavo_search.search.index_engine'); $indexEngine = $this->container->get($engine); //do the unindexing $indexEngine->unindex($event->getSubject()); } }
public function onDelete(GenericEvent $event) { if (get_class($event->getSubject()) == $this->workflowClass) { //get the current workflow $workflowRepository = $this->em->getRepository('EnhavoWorkflowBundle:Workflow'); $workflow = $workflowRepository->find($event->getSubject()->getId()); //remove transitions from current workflow $this->removeTransitions($workflow); //remove nodes and workflowstatus from current workflow $this->removeNodesAndWorkflowStatus($workflow); $this->em->flush(); } }
/** * Check if channels are linked to this tree * * @param GenericEvent $event * * @throws ConflictHttpException */ public function checkChannels(GenericEvent $event) { $tree = $event->getSubject(); if (count($tree->getChannels()) > 0) { throw new ConflictHttpException($this->translator->trans('flash.tree.not removable')); } }
public function onUpdate(GenericEvent $event) { $entity = $event->getSubject(); if ($entity instanceof Routeable && $entity->getRoute() != null) { $this->updateRoute($entity->getRoute()); } }
function it_resolves_order_states(StateResolverInterface $stateResolver, GenericEvent $event, OrderInterface $order) { $event->getSubject()->willReturn($order); $stateResolver->resolveShippingState($order)->shouldBeCalled(); $stateResolver->resolvePaymentState($order)->shouldBeCalled(); $this->resolveOrderStates($event); }
function it_send_password_reset_pin_mail($sender, GenericEvent $event, UserInterface $user) { $event->getSubject()->willReturn($user); $user->getEmail()->willReturn('*****@*****.**'); $sender->send('reset_password_pin', ['*****@*****.**'], Argument::any())->shouldBeCalled(); $this->sendResetPasswordPinEmail($event); }
function it_proccess_order_channel_successfully(GenericEvent $event, OrderInterface $order, ChannelContextInterface $channelContext, ChannelInterface $channel) { $event->getSubject()->shouldBeCalled()->willReturn($order); $channelContext->getChannel()->shouldBeCalled()->willReturn($channel); $order->setChannel($channel)->shouldBeCalled(); $this->processOrderChannel($event); }
function it_sets_customer_on_a_resource($customerContext, GenericEvent $event, CustomerAwareInterface $resource, CustomerInterface $customer) { $event->getSubject()->willReturn($resource); $customerContext->getCustomer()->willReturn($customer); $resource->setCustomer($customer)->shouldBeCalled(); $this->setCustomer($event); }
/** * @param GenericEvent $event */ public function updateChannel(GenericEvent $event) { $channel = $event->getSubject(); if (!$channel instanceof ChannelInterface) { return; } $oldLocales = $this->repository->getDeletedLocalesForChannel($channel); $newLocales = $channel->getLocales(); $updatedLocales = []; foreach ($oldLocales as $locale) { $locale->removeChannel($channel); $updatedLocales[] = $locale; if (null !== $this->completeness) { $this->completeness->scheduleForChannelAndLocale($channel, $locale); } } foreach ($newLocales as $locale) { if (!$locale->hasChannel($channel)) { $locale->addChannel($channel); $updatedLocales[] = $locale; } } if (!empty($updatedLocales)) { $this->saver->saveAll($updatedLocales); } }
/** * {@inheritdoc} */ public function onCheckoutComplete(GenericEvent $event) { /** @var OrderInterface $order */ $order = $event->getSubject(); Assert::isInstanceOf($order, OrderInterface::class); $this->session->set('sylius_order_id', $order->getId()); }
public function login(GenericEvent $event) { $user = $event->getSubject(); if ($user instanceof UserInterface) { $this->userCartMerger->merge($user); } }
public function onContent(Event $event) { $page = $event->getSubject(); foreach ($page->getDocument()->getElementsByTagName('img') as $image) { $url = parse_url($image->getAttribute('src')); if (isset($url['host'])) { continue; } if (isset($url['query'])) { parse_str($url['query'], $query); } $src = $this->urlGenerator->generate('image', ['path' => $url['path']]); if ('a' !== $image->parentNode->nodeName && (!isset($query['link']) || 'no' !== $query['link'])) { $a = $image->parentNode->insertBefore($page->getDocument()->createElement('a'), $image); $a->appendChild($image); $a->setAttribute('href', $src . (isset($query['link']) && 'direct' === $query['link'] ? '' : '?details')); } if (isset($query['link'])) { unset($query['link']); } if (!empty($query)) { $src .= '?' . http_build_query($query); } $image->setAttribute('src', $src); unset($query); } }
function it_does_not_update_password_if_customer_does_not_have_user(PasswordUpdaterInterface $passwordUpdater, GenericEvent $event, CustomerInterface $customer) { $event->getSubject()->willReturn($customer); $customer->getUser()->willReturn(null); $passwordUpdater->updatePassword(null)->shouldNotBeCalled(); $this->customerUpdateEvent($event); }
function it_does_not_set_locale_on_post_update_when_event_subject_is_different_from_current_user($translator, GenericEvent $event, UserInterface $user, RequestStack $requestStack, Request $request, LocaleInterface $locale) { $event->getSubject()->willReturn($user); $event->getArgument('current_user')->willReturn(null); $translator->setLocale('fr_FR')->shouldNotBeCalled(); $this->onPostUpdate($event); }
function it_calls_taxation_processor_on_order(TaxationProcessorInterface $taxationProcessor, GenericEvent $event, OrderInterface $order) { $event->getSubject()->willReturn($order); $taxationProcessor->applyTaxes($order)->shouldBeCalled(); $order->calculateTotal()->shouldBeCalled(); $this->applyTaxes($event); }
/** * Mark document's related job as 'started'. * * @param GenericEvent $event */ public function onTextmasterDocumentIncomplete(GenericEvent $event) { /** @var DocumentInterface $document */ $document = $event->getSubject(); $job = $this->jobManager->getFromDocument($document); $this->jobManager->start($job); }
public function onBuilderPreTask(GenericEvent $event) { if (true === $this->showProgress) { return; } $task = $event->getSubject(); $io = $this->io; $self = $this; $task->setOutput(function ($output) use($io, $self) { if ($io->isVerbose()) { $io->write(sprintf('%s', $output)); $self->needsNewline = false; } else { $io->overwrite(sprintf('%s', $output), false); $self->needsNewline = true; } }); if ($event->getArgument('index') > 0) { if (true === $this->needsNewline) { $this->io->write(''); $this->needsNewline = false; } $this->io->write(''); } $this->io->write(sprintf('- Executing task <info>%s</info>', get_class($task))); $this->io->increaseIndention(2); }
function it_processes_promotion_on_orders(GenericEvent $event, OrderInterface $order, $promotionProcessor) { $event->getSubject()->willReturn($order); $promotionProcessor->process($order)->shouldBeCalled(); $order->calculateTotal()->shouldBeCalled(); $this->processOrderPromotion($event); }
/** * @param GenericEvent $event */ public function onApiCall(GenericEvent $event) { if (!$this->calls) { $this->calls = []; } $this->calls[] = $event->getSubject(); }
function it_does_not_proceed_order_channel_if_it_is_already_set(GenericEvent $event, OrderInterface $order, ChannelInterface $channel) { $event->getSubject()->willReturn($order); $order->getChannel()->willReturn($channel); $order->setChannel($channel)->shouldNotBeCalled(); $this->processOrderChannel($event); }
public function onMetaParse(Event $event) { $page = $event->getSubject(); if (is_string($page->getMetas())) { $page->setMetas(Yaml::parse($page->getMetas())); } }
function it_does_nothing_if_review_already_has_author($customerContext, ReviewerInterface $existingAuthor, GenericEvent $event, ReviewInterface $review) { $event->getSubject()->willReturn($review); $review->getAuthor()->willReturn($existingAuthor); $customerContext->getCustomer()->shouldNotBeCalled(); $this->ensureReviewHasAuthor($event); }
public function onMeta(Event $event) { $page = $event->getSubject(); if (null !== ($redirect = $page->getMeta('redirect'))) { throw new PageRedirectedException($page->getName(), $redirect); } }
function it_generates_order_number(NumberListener $listener, GenericEvent $event, OrderInterface $order) { $event->getSubject()->willReturn($order); $order->getNumber()->willReturn(null); $listener->enableEntity($order)->shouldBeCalled(); $this->generateOrderNumber($event); }
public function preSave(GenericEvent $event) { $subject = $event->getSubject(); if ($subject instanceof Slugable) { $slug = $subject->getSlug(); if (is_array($slug)) { foreach ($slug as $locale => $value) { if (empty($value)) { $slug[$locale] = $this->slugify($this->getContext($subject, $locale)); } } $subject->setSlug($slug); } } if ($subject instanceof Routeable) { /** @var Route $route */ $route = $subject->getRoute(); if ($route instanceof Route) { $staticPrefixes = $route->getStaticPrefix(); if (is_array($staticPrefixes)) { foreach ($staticPrefixes as $locale => $value) { if (empty($value)) { $staticPrefixes[$locale] = sprintf('/%s/%s', $locale, $this->slugify($this->getContext($subject, $locale))); } } $route->setStaticPrefix($staticPrefixes); } } } }
/** * Use generator to add a proper number to order. * * @param GenericEvent $event */ public function generateOrderNumber(GenericEvent $event) { $order = $event->getSubject(); if (null !== $order->getNumber()) { return; } $this->listener->enableEntity($order); }
/** * @param GenericEvent $event */ public function sendVerificationEmail(GenericEvent $event) { $customer = $event->getSubject(); Assert::isInstanceOf($customer, CustomerInterface::class); $user = $customer->getUser(); Assert::notNull($user); $this->handleUserVerificationToken($user); }
/** * @param GenericEvent $event * * @return OrderInterface * * @throws UnexpectedTypeException */ protected function getOrder(GenericEvent $event) { $order = $event->getSubject(); if (!$order instanceof OrderInterface) { throw new UnexpectedTypeException($order, OrderInterface::class); } return $order; }
/** * @param GenericEvent $event */ public function uploadTaxonImage(GenericEvent $event) { $subject = $event->getSubject(); Assert::isInstanceOf($subject, TaxonInterface::class); if ($subject->hasFile()) { $this->uploader->upload($subject); } }