コード例 #1
0
ファイル: Currency.php プロジェクト: alex63530/thelia
 /**
  * Set the default currency
  *
  * @param CurrencyUpdateEvent $event
  */
 public function setDefault(CurrencyUpdateEvent $event)
 {
     if (null !== ($currency = CurrencyQuery::create()->findPk($event->getCurrencyId()))) {
         // Reset default status
         CurrencyQuery::create()->filterByByDefault(true)->update(array('ByDefault' => false));
         $currency->setDispatcher($event->getDispatcher())->setByDefault($event->getIsDefault())->save();
         $event->setCurrency($currency);
     }
 }
コード例 #2
0
 /**
  * @param CurrencyModel $currency
  * @depends testUpdate
  * @return CurrencyModel
  */
 public function testSetDefault(CurrencyModel $currency)
 {
     $event = new CurrencyUpdateEvent($currency->getId());
     $event->setIsDefault(1);
     $action = new Currency($this->getCurrencyConverter());
     $action->setDefault($event, null, $this->getMockEventDispatcher());
     $updatedCurrency = $event->getCurrency();
     $this->assertInstanceOf('Thelia\\Model\\Currency', $updatedCurrency);
     $this->assertEquals(1, $updatedCurrency->getByDefault());
     $this->assertEquals(1, CurrencyQuery::create()->filterByByDefault(true)->count());
     return $updatedCurrency;
 }
コード例 #3
0
ファイル: Currency.php プロジェクト: NandoKstroNet/thelia
 /**
  * Set the default currency
  *
  * @param CurrencyUpdateEvent $event
  */
 public function setDefault(CurrencyUpdateEvent $event)
 {
     if (null !== ($currency = CurrencyQuery::create()->findPk($event->getCurrencyId()))) {
         // Reset default status
         CurrencyQuery::create()->filterByByDefault(true)->update(array('ByDefault' => false));
         $currency->setDispatcher($event->getDispatcher())->setByDefault($event->getIsDefault())->save();
         // Update rates when setting a new default currency
         if ($event->getIsDefault()) {
             $event->getDispatcher()->dispatch(TheliaEvents::CURRENCY_UPDATE_RATES);
         }
         $event->setCurrency($currency);
     }
 }
コード例 #4
0
ファイル: CurrencyController.php プロジェクト: badelas/thelia
 /**
  * Sets the default currency
  */
 public function setDefaultAction()
 {
     // Check current user authorization
     if (null !== ($response = $this->checkAuth($this->resourceCode, array(), AccessManager::UPDATE))) {
         return $response;
     }
     $changeEvent = new CurrencyUpdateEvent($this->getRequest()->get('currency_id', 0));
     // Create and dispatch the change event
     $changeEvent->setIsDefault(true);
     try {
         $this->dispatch(TheliaEvents::CURRENCY_SET_DEFAULT, $changeEvent);
     } catch (\Exception $ex) {
         // Any error
         return $this->errorPage($ex);
     }
     return $this->redirectToListTemplate();
 }
コード例 #5
0
ファイル: Currency.php プロジェクト: vigourouxjulien/thelia
 /**
  * @param CurrencyUpdateEvent $event
  */
 public function setVisible(CurrencyUpdateEvent $event)
 {
     if (null !== ($currency = CurrencyQuery::create()->findPk($event->getCurrencyId()))) {
         if (!$currency->getByDefault()) {
             $currency->setVisible($event->getVisible())->save();
         }
     }
 }