Esempio n. 1
0
 /**
  * @param Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus
  */
 public function execute(Payone_Core_Model_Domain_Protocol_TransactionStatus $transactionStatus)
 {
     $storeId = $transactionStatus->getStoreId();
     $storeBefore = $this->getApp()->getStore();
     $areaBefore = $this->getDesign()->getArea();
     // Set Store
     $store = $this->getApp()->getStore($storeId);
     $this->getApp()->setCurrentStore($store);
     // Load Area to get Translation
     $this->getApp()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_TRANSLATE);
     $this->getApp()->loadAreaPart(Mage_Core_Model_App_Area::AREA_FRONTEND, Mage_Core_Model_App_Area::PART_DESIGN);
     $transactionStatus->setStatusRunning();
     $transactionStatus->save();
     try {
         $this->getServiceProcess()->execute($transactionStatus);
         $transactionStatus->setStatusOk();
     } catch (Exception $e) {
         $transactionStatus->setStatusError();
         $transactionStatus->setProcessingError($e->getMessage());
     }
     $transactionStatus->setProcessedAt(date('Y-m-d H:i:s'));
     $transactionStatus->save();
     // Reset Store
     $this->getApp()->setCurrentStore($storeBefore);
     // Reset Area to old Area
     $this->getDesign()->setArea($areaBefore);
     $this->getApp()->loadArea($areaBefore);
 }