Пример #1
0
 /**
  * Save Object code
  *
  * @param Mage_Core_Model_Abstract $object
  *
  * @return $this
  */
 public function save(Mage_Core_Model_Abstract $object)
 {
     $adapter = $this->_getWriteAdapter();
     if ($object->getImport() && $object->getCode() && $object->getEntityId()) {
         $values = array('import' => $object->getImport(), 'code' => $object->getCode(), 'entity_id' => $object->getEntityId());
         $adapter->insertOnDuplicate($this->getMainTable(), $values, array('entity_id'));
     } else {
         Mage::throwException(Mage::helper('pimgento_core')->__('Error between PIM code and Magento entity'));
     }
     return $this;
 }
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     /** @var  Mirasvit_Helpdesk_Model_Field $object */
     if (!$object->getId()) {
         $object->setCreatedAt(Mage::getSingleton('core/date')->gmtDate());
         $object->setCode($this->normalize($object->getCode()));
         if (in_array($object->getCode(), array('name', 'code', 'external_id', 'user_id', 'description', 'customer_email', 'customer_name', 'order_id', 'last_reply_at'))) {
             throw new Exception("Code {$object->getCode()} is not allowed. Please, try different code");
         }
     }
     $object->setUpdatedAt(Mage::getSingleton('core/date')->gmtDate());
     return parent::_beforeSave($object);
 }
Пример #3
0
 /**
  * Validate website code before object save
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Core_Model_Resource_Website
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!preg_match('/^[a-z]+[a-z0-9_]*$/', $object->getCode())) {
         Mage::throwException(Mage::helper('core')->__('Website code may only contain letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter'));
     }
     return parent::_beforeSave($object);
 }
Пример #4
0
 /**
  * Check if group uses as default
  *
  * @param  Mage_Core_Model_Abstract $group
  * @throws Mage_Core_Exception
  * @return Mage_Core_Model_Resource_Db_Abstract
  */
 protected function _beforeDelete(Mage_Core_Model_Abstract $group)
 {
     if ($group->usesAsDefault()) {
         Mage::throwException(Mage::helper('Mage_Customer_Helper_Data')->__('The group "%s" cannot be deleted', $group->getCode()));
     }
     return parent::_beforeDelete($group);
 }
Пример #5
0
 /**
  * Check store code before save
  *
  * @param Mage_Core_Model_Abstract $model
  * @return Mage_Core_Model_Resource_Store
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $model)
 {
     if (!preg_match('/^[a-z]+[a-z0-9_]*$/', $model->getCode())) {
         Mage::throwException(Mage::helper('core')->__('The store code may contain only letters (a-z), numbers (0-9) or underscore(_), the first character must be a letter'));
     }
     return $this;
 }
Пример #6
0
 /**
  * Apply processing before saving object
  *
  * @param Mage_Core_Model_Abstract $object
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getCode()) {
         throw new Exception(Mage::helper('ibanners')->__('Banner group must have a unique code'));
     }
     $object->setCode($this->formatGroupCode($object->getCode()));
     if (Mage::getDesign()->getArea() == 'adminhtml') {
         foreach ($object->getData() as $field => $value) {
             if (preg_match("/^use_config_([a-zA-Z_]{1,})\$/", $field, $result)) {
                 $object->setData($result[1], null);
                 $object->unsetData($field);
             }
         }
     }
     return parent::_beforeSave($object);
 }
Пример #7
0
 /**
  * Processing object after save data
  * Update app_code as Store + Device + 123 (increment).
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Core_Model_Abstract
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     $appCode = $object->getCode();
     $isCodePrefixed = $object->isCodePrefixed();
     if (!$isCodePrefixed) {
         $this->_getWriteAdapter()->update($this->getMainTable(), array('code' => $appCode . $object->getId()), $this->_getWriteAdapter()->quoteInto($this->getIdFieldName() . '=?', $object->getId()));
     }
     return parent::_afterSave($object);
 }