/** * Validate Address Rule Condition * * @param Varien_Object|Mage_Sales_Model_Order|Mage_Sales_Model_Quote $object * @return bool */ public function validate(Varien_Object $object) { /* @var $object Mage_Sales_Model_Order|Mage_Sales_Model_Quote */ //Get infos from billing address $toValidate = new Varien_Object(); $customer_id = $object->getCustomerId(); $orders_count = Mage::getModel('sales/order')->getCollection()->addAttributeToFilter('customer_id', $customer_id)->count(); $toValidate->setOrdersCount($orders_count); $toValidate->setCustomerIsGuest(is_null($object->getCustomerIsGuest()) ? 0 : $object->getCustomerIsGuest()); $toValidate->setDiffAddresses($this->_addressesesAreDifferent($object)); $toValidate->setCustomerGroup($object->getCustomerGroupId()); return parent::validate($toValidate); }