Ejemplo n.º 1
0
 /**
  * @param $code
  * @return bool|OnlineShop_Framework_VoucherService_ITokenManager
  */
 public function getTokenManager($code)
 {
     if ($token = OnlineShop_Framework_VoucherService_Token::getByCode($code)) {
         if ($series = \Pimcore\Model\Object\OnlineShopVoucherSeries::getById($token->getVoucherSeriesId())) {
             return $series->getTokenManager();
         }
     }
     return false;
 }
Ejemplo n.º 2
0
 /**
  * @param string $code
  * @param OnlineShop_Framework_ICart $cart
  * @param OnlineShop_Framework_AbstractOrder $order
  *
  * @throws Exception
  *
  * @return bool|\Pimcore\Model\Object\OnlineShopVoucherToken
  */
 public function applyToken($code, OnlineShop_Framework_ICart $cart, OnlineShop_Framework_AbstractOrder $order)
 {
     if ($token = OnlineShop_Framework_VoucherService_Token::getByCode($code)) {
         if ($token->isUsed()) {
             throw new Exception('Token has already been used.', 1);
         }
         if ($token->apply()) {
             $orderToken = new \Pimcore\Model\Object\OnlineShopVoucherToken();
             $orderToken->setTokenId($token->getId());
             $orderToken->setToken($token->getToken());
             $series = \Pimcore\Model\Object\OnlineShopVoucherSeries::getById($token->getVoucherSeriesId());
             $orderToken->setVoucherSeries($series);
             $orderToken->setParent($series);
             $orderToken->setKey(\Pimcore\File::getValidFilename($token->getToken()));
             $orderToken->setPublished(1);
             $orderToken->save();
             return $orderToken;
         }
     }
     return false;
 }