/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract * @throws Mage_Core_Exception */ public function _beforeSave(Mage_Core_Model_Abstract $object) { if ($date = $object->getDateFrom()) { $object->setDateFrom($this->formatDate($date)); } else { $object->setDateFrom(null); } if ($date = $object->getDateTo()) { $object->setDateTo($this->formatDate($date)); } else { $object->setDateTo(null); } if (!is_null($object->getDateFrom()) && !is_null($object->getDateTo()) && Varien_Date::toTimestamp($object->getDateFrom()) > Varien_Date::toTimestamp($object->getDateTo())) { Mage::throwException(Mage::helper('core')->__('Start date cannot be greater than end date.')); } $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId()); if ($check) { Mage::throwException(Mage::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range.')); } if ($object->getDateFrom() === null) { $object->setDateFrom(new Zend_Db_Expr('null')); } if ($object->getDateTo() === null) { $object->setDateTo(new Zend_Db_Expr('null')); } parent::_beforeSave($object); }
public function _beforeSave(Mage_Core_Model_Abstract $object) { $format = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT); if ($date = $object->getDateFrom()) { $date = Mage::app()->getLocale()->date($date, $format, null, false); $object->setDateFrom($date->toString(Varien_Date::DATETIME_INTERNAL_FORMAT)); } else { $object->setDateFrom(null); } if ($date = $object->getDateTo()) { $date = Mage::app()->getLocale()->date($date, $format, null, false); $object->setDateTo($date->toString(Varien_Date::DATETIME_INTERNAL_FORMAT)); } else { $object->setDateTo(null); } if (!is_null($object->getDateFrom()) && !is_null($object->getDateTo()) && strtotime($object->getDateFrom()) > strtotime($object->getDateTo())) { Mage::throwException(Mage::helper('core')->__('Start date can\'t be greater than end date')); } $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId()); if ($check) { Mage::throwException(Mage::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range')); } if (is_null($object->getDateFrom())) { $object->setDateFrom(new Zend_Db_Expr('null')); } if (is_null($object->getDateTo())) { $object->setDateTo(new Zend_Db_Expr('null')); } parent::_beforeSave($object); }
public function _beforeSave(Mage_Core_Model_Abstract $object) { $object->setDateFrom($this->formatDate($object->getDateFrom())); $object->setDateTo($this->formatDate($object->getDateTo())); if (strtotime($object->getDateFrom()) > strtotime($object->getDateTo())) { Mage::throwException(Mage::helper('core')->__('Start date can\'t be greater than end date')); } $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId()); if ($check) { Mage::throwException(Mage::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range')); } parent::_beforeSave($object); }
/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract * @throws Mage_Core_Exception */ public function _beforeSave(Mage_Core_Model_Abstract $object) { $dateFrom = $object->getDateFrom(); $dateTo = $object->getDateTo(); if (!empty($dateFrom) && !empty($dateTo)) { $validator = new Zend_Validate_Date(); if (!$validator->isValid($dateFrom) || !$validator->isValid($dateTo)) { Mage::throwException(Mage::helper('core')->__('Invalid date')); } if (Varien_Date::toTimestamp($dateFrom) > Varien_Date::toTimestamp($dateTo)) { Mage::throwException(Mage::helper('core')->__('Start date cannot be greater than end date.')); } } $check = $this->_checkIntersection($object->getStoreId(), $dateFrom, $dateTo, $object->getId()); if ($check) { Mage::throwException(Mage::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range.')); } parent::_beforeSave($object); }