/** * {@inheritdoc} */ public function process(ConsumerEvent $event) { $order = $this->getOrder($event); $transaction = $this->getTransaction($event); $orderElements = $order->getOrderElements(); foreach ($orderElements as $orderElement) { $this->backend->createAndPublish('sonata_payment_order_element_process', array('product_id' => $orderElement->getProductId(), 'transaction_status' => $transaction->getStatusCode(), 'order_status' => $order->getStatus(), 'quantity' => $orderElement->getQuantity(), 'product_type' => $orderElement->getProductType())); } }
/** * @param PageInterface $object */ protected function sendMessage($object) { if ($object instanceof BlockInterface && method_exists($object, 'getPage')) { $pageId = $object->getPage()->getId(); } elseif ($object instanceof PageInterface) { $pageId = $object->getId(); } else { return; } $this->backend->createAndPublish('sonata.page.create_snapshot', array('pageId' => $pageId)); }
/** * Hook which sends a notification on a published notification failure * * @param AuthenticationAttemptEvent $event */ public function onAuthenticationFailure(AuthenticationAttemptEvent $event) { $user = $event->getUser(); $report = $event->getReport(); $defaultParameters = ['user' => $user, 'override_locale' => true]; if (1 < ($attempts = $report->getAttempts())) { $defaultParameters['content'] = 'notification.auth.failures'; $defaultParameters['parameters'] = ['translation_defaults' => ['%times%' => $attempts]]; } else { $defaultParameters['content'] = 'notification.auth.single_failure'; } $this->publisher->createAndPublish('sen_mailer', $defaultParameters); }
/** * Creates snapshots of all pages. * * @ApiDoc( * statusCodes={ * 200="Returned when snapshots are successfully queued for creation", * 400="Returned when an error has occurred while snapshots creation", * } * ) * * @return \FOS\RestBundle\View\View * * @throws NotFoundHttpException */ public function postPagesSnapshotsAction() { $sites = $this->siteManager->findAll(); foreach ($sites as $site) { $this->backend->createAndPublish('sonata.page.create_snapshot', array('siteId' => $site->getId())); } return array('queued' => true); }
/** * {@inheritdoc} */ public function getPaymentCallbackResponse(Request $request) { // retrieve the transaction $transaction = $this->createTransaction($request); $order = $this->getValidOrder($transaction); // start the payment callback $response = $this->getPayment($transaction->getPaymentCode())->callback($transaction); $this->transactionManager->save($transaction); $this->orderManager->save($order); $this->notificationBackend->createAndPublish('sonata_payment_order_process', array('order_id' => $order->getId(), 'transaction_id' => $transaction->getId())); return $response; }
/** * Hook at the reset password process * * @param ResetPasswordEvent $event */ public function onPasswordReset(ResetPasswordEvent $event) { $this->publisher->createAndPublish('sen_mailer', ['user' => $event->getUser(), 'content' => 'notification.password_reset', 'parameters' => ['translation_defaults' => ['%new_password%' => $event->getNewRawPassword()]], 'override_locale' => true]); }
/** * {@inheritdoc} */ public function generate(MediaProviderInterface $provider, MediaInterface $media) { $this->backend->createAndPublish('sonata.media.create_thumbnail', array('thumbnailId' => $this->id, 'mediaId' => $media->getId(), 'providerReference' => $media->getProviderReference())); }
/** * Sends a welcome email on registration * * @param CreateUserEvent $event */ public function postUserRegistration(CreateUserEvent $event) { $user = $event->getUser(); $this->notificationPublisher->createAndPublish('sen_mailer', ['user' => $user, 'config_path' => 'SententiaregumApp:registration', 'parameters' => ['code' => $event->getActivationKey(), 'name' => $event->getUser()->getCredentials()->getUsername()], 'override_locale' => true]); }