Пример #1
0
 /**
  * Handle coupons added by the user in his cart.
  * TODO: maybe replace this with a unified FlashSubscriber.
  *
  * @param GenericEvent $event
  */
 public function handleCouponPromotion(GenericEvent $event)
 {
     if (SyliusPromotionEvents::COUPON_ELIGIBLE === $event->getName()) {
         $type = 'success';
         $message = 'sylius.promotion_coupon.eligible';
     } elseif (SyliusPromotionEvents::COUPON_NOT_ELIGIBLE === $event->getName()) {
         $type = 'error';
         $message = 'sylius.promotion_coupon.not_eligible';
     } else {
         $type = 'error';
         $message = 'sylius.promotion_coupon.invalid';
     }
     $this->session->getBag('flashes')->add($type, $this->translator->trans($message, array(), 'flashes'));
 }
 /**
  * Update community ticker
  *
  * @param  GenericEvent $event
  * @return void
  */
 public function update(GenericEvent $event)
 {
     $params = $event->getArguments();
     $user = array_key_exists('user', $params) ? $params['user'] : null;
     unset($params['user']);
     $this->getRepository()->save(new CommunityTickerEvent(), array('event' => $event->getName(), 'user' => $user, 'params' => $params));
 }
 function it_adds_error_message_to_flashbag_when_coupon_is_not_eligible(GenericEvent $event, FlashBagInterface $flashBag, $session, $translator)
 {
     $event->getName()->willReturn(SyliusPromotionEvents::COUPON_NOT_ELIGIBLE);
     $translator->trans(Argument::any(), Argument::any(), 'flashes')->shouldBeCalled();
     $flashBag->add('error', Argument::any())->shouldBeCalled();
     $session->getBag('flashes')->shouldBeCalled()->willReturn($flashBag);
     $this->handleCouponPromotion($event);
 }