Example #1
0
 public function validate(Varien_Object $order)
 {
     if ($this->getAttribute() == 'method') {
         return parent::validate($order->getPayment());
     }
     if (in_array($this->getAttribute(), array('postcode', 'region', 'region_id', 'country_id'))) {
         if ($order->getIsVirtual()) {
             $address = $order->getBillingAddress();
         } else {
             $address = $order->getShippingAddress();
         }
         $countryId = $address->getCountryId();
         if (!is_null($countryId)) {
             try {
                 $regions = Mage::getModel('directory/country')->loadByCode($countryId)->getRegions()->getData();
             } catch (Exception $e) {
                 Mage::log($e->getMessage());
             }
             if (count($regions) == 0) {
                 $address->setRegionId('0');
             }
         }
         return parent::validate($address);
     }
     return parent::validate($order);
 }
Example #2
0
 /**
  * Check availability of giftmessages for specified entity.
  *
  * @param string $type
  * @param Varien_Object $entity
  * @param Mage_Core_Model_Store|integer $store
  * @return boolean
  */
 public function isMessagesAvailable($type, Varien_Object $entity, $store = null)
 {
     $resultItems = Mage::getStoreConfig(self::XPATH_CONFIG_GIFT_MESSAGE_ALLOW_ITEMS, $store);
     $resultOrder = Mage::getStoreConfig(self::XPATH_CONFIG_GIFT_MESSAGE_ALLOW_ORDER, $store);
     if ($type == 'items') {
         return $resultItems || $resultOrder;
     }
     if (is_object($store)) {
         $storeId = $store->getId();
     } elseif (is_numeric($store)) {
         $storeId = $store;
     } else {
         $storeId = Mage::app()->getStore()->getId();
     }
     if ($type == 'item') {
         return !$entity->getProduct()->isVirtual() && $this->_getDependenceFromStoreConfig($entity->getProduct()->getGiftMessageAvailable(), $store);
     } elseif ($type == 'order_item') {
         return !$entity->getIsVirtual() && $this->_getDependenceFromStoreConfig($entity->getGiftMessageAvailable(), $store);
     } elseif ($type == 'address_item') {
         if (!$resultItems) {
             return false;
         }
         if (!$this->isCached('address_item_' . $entity->getProductId())) {
             $this->setCached('address_item_' . $entity->getProductId(), Mage::getModel('catalog/product')->setStoreId($storeId)->load($entity->getProductId())->getGiftMessageAvailable());
         }
         return !$entity->getProduct()->isVirtual() && $this->_getDependenceFromStoreConfig($this->getCached('address_item_' . $entity->getProductId()), $store);
     } else {
         return $resultOrder;
     }
     return false;
 }