Example #1
1
 /**
  * Action before save
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Api_Model_Resource_Acl_Role
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         $this->setCreated(Mage::getSingleton('core/date')->gmtDate());
     }
     return $this;
 }
 /**
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Core_Model_Resource_Db_Abstract
  */
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('additional')) {
         $object->setData('additional', Mage::helper('core')->jsonDecode($object->getData('additional')));
     }
     return parent::_afterLoad($object);
 }
Example #3
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('condition_note') === '') {
         $object->setData('condition_note', new Zend_Db_Expr("''"));
     }
     return $this;
 }
Example #4
0
 /**
  * Retrieve all options
  *
  * @return array
  */
 public function getAllOptions()
 {
     if (!$this->_options) {
         $this->_options = $this->_factory->getResourceModel('directory/country_collection')->loadByStore($this->getAttribute()->getStoreId())->toOptionArray();
     }
     return $this->_options;
 }
Example #5
0
 public function prepareLineItems(Mage_Core_Model_Abstract $salesEntity, $discountTotalAsItem = true, $shippingTotalAsItem = false)
 {
     $items = array();
     foreach ($salesEntity->getAllItems() as $item) {
         if (!$item->getParentItem()) {
             $items[] = new Varien_Object($this->_prepareLineItemFields($salesEntity, $item));
         }
     }
     $discountAmount = 0;
     // this amount always includes the shipping discount
     $shippingDescription = '';
     if ($salesEntity instanceof Mage_Sales_Model_Order) {
         $discountAmount = abs(1 * $salesEntity->getBaseDiscountAmount() + Mage::getSingleton('checkout/session')->getDiscount());
         $shippingDescription = $salesEntity->getShippingDescription();
         $totals = array('subtotal' => $salesEntity->getBaseSubtotal() - $discountAmount, 'tax' => $salesEntity->getBaseTaxAmount(), 'shipping' => $salesEntity->getBaseShippingAmount());
     } else {
         $address = $salesEntity->getIsVirtual() ? $salesEntity->getBillingAddress() : $salesEntity->getShippingAddress();
         $discountAmount = abs(1 * $address->getBaseDiscountAmount() + Mage::getSingleton('checkout/session')->getDiscount());
         $shippingDescription = $address->getShippingDescription();
         $totals = array('subtotal' => $salesEntity->getBaseSubtotal() - $discountAmount, 'tax' => $address->getBaseTaxAmount(), 'shipping' => $address->getBaseShippingAmount(), 'discount' => $discountAmount);
     }
     // discount total as line item (negative)
     if ($discountTotalAsItem && $discountAmount) {
         $items[] = new Varien_Object(array('name' => Mage::helper('paypal')->__('Discount'), 'qty' => 1, 'amount' => -1.0 * $discountAmount));
     }
     Mage::log($discountAmount . "|" . Mage::getSingleton('checkout/session')->getDiscount());
     // shipping total as line item
     if ($shippingTotalAsItem && !$salesEntity->getIsVirtual() && (double) $totals['shipping']) {
         $items[] = new Varien_Object(array('id' => Mage::helper('paypal')->__('Shipping'), 'name' => $shippingDescription, 'qty' => 1, 'amount' => (double) $totals['shipping']));
     }
     return array($items, $totals, $discountAmount, $totals['shipping']);
 }
 protected function _afterDelete(Mage_Core_Model_Abstract $object)
 {
     //delete values
     $this->_getReadAdapter()->delete($this->getTable('webforms/results_values'), 'field_id =' . $object->getId());
     Mage::dispatchEvent('webforms_field_delete', array('field' => $object));
     return parent::_afterDelete($object);
 }
Example #7
0
 /**
  * Checking if Version does not contain published revision
  *
  * @param Mage_Core_Model_Abstract $object
  * @return bool
  */
 public function isVersionHasPublishedRevision(Mage_Core_Model_Abstract $object)
 {
     $select = $this->_getReadAdapter()->select();
     $select->from(array('p' => $this->getTable('cms/page')), array())->where('p.page_id = ?', (int) $object->getPageId())->join(array('r' => $this->getTable('enterprise_cms/page_revision')), 'r.revision_id = p.published_revision_id', 'r.version_id');
     $result = $this->_getReadAdapter()->fetchOne($select);
     return $result == $object->getVersionId();
 }
Example #8
0
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     /** @var  Mirasvit_Helpdesk_Model_Status $object */
     if (!$object->getIsMassStatus()) {
     }
     return parent::_afterSave($object);
 }
 protected function _beforeDelete(Mage_Core_Model_Abstract $object)
 {
     // Cleanup stats on slideshow delete
     $adapter = $this->_getWriteAdapter();
     // 1. Delete slideshow/store
     $adapter->delete($this->getTable('mp_slideshow/store'), 'slideshow_id=' . $object->getId());
 }
Example #10
0
 /**
  * Save entity types after save form type
  *
  * @param Mage_Eav_Model_Form_Type $object
  * @see Mage_Core_Model_Mysql4_Abstract#_afterSave($object)
  * @return Mage_Eav_Model_Mysql4_Form_Type
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->hasEntityTypes()) {
         $new = $object->getEntityTypes();
         $old = $this->getEntityTypes($object);
         $insert = array_diff($new, $old);
         $delete = array_diff($old, $new);
         $write = $this->_getWriteAdapter();
         if (!empty($insert)) {
             $data = array();
             foreach ($insert as $entityId) {
                 if (empty($entityId)) {
                     continue;
                 }
                 $data[] = array('entity_type_id' => (int) $entityId, 'type_id' => $object->getId());
             }
             if ($data) {
                 $write->insertMultiple($this->getTable('eav/form_type_entity'), $data);
             }
         }
         if (!empty($delete)) {
             $where = join(' AND ', array($write->quoteInto('type_id=?', $object->getId()), $write->quoteInto('entity_type_id IN(?)', $delete)));
             $write->delete($this->getTable('eav/form_type_entity'), $where);
         }
     }
     return parent::_afterSave($object);
 }
Example #11
0
 public function setProgramIsProcessed(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         return $this;
     }
     return $this->save($object->setIsProcess('1'));
 }
Example #12
0
 /**
  * Sets the counter
  * Overwrites the counter for a certain block id with a new counter array
  *
  * @param string $sIdBlock
  * @param array $aCounter
  * @return Sitewards_Captcha_Model_CaptchaChecker
  */
 private function setCounter($sIdBlock, $aCounter)
 {
     $aCaptchaCheckerSession = $this->oCustomerSession->getData('captchachecker');
     $aCaptchaCheckerSession[$sIdBlock] = $aCounter;
     $this->oCustomerSession->setData('captchachecker', $aCaptchaCheckerSession);
     return $this;
 }
Example #13
0
 public function getChildren(Mage_Core_Model_Abstract $object)
 {
     /** @var Magpleasure_Common_Model_Resource_Treeview_Collection_Abstract $collection */
     $collection = $object->getCollection();
     $collection->addFieldToFilter($this->getParentIdField(), $object->getData($this->getParentIdField()))->setOrder($this->getPositionField(), 'ASC');
     return $collection;
 }
Example #14
0
 protected function _syncStore(Mage_Core_Model_Abstract $object)
 {
     $collection = Mage::getModel('menu/item')->getCollection()->addFieldToFilter('menu_id', $object->getId());
     foreach ($collection as $item) {
         $item->setStoreIds($object->getStoreIds())->save();
     }
 }
Example #15
0
 /**
  * Returns true if and only if $value meets the validation requirements.
  *
  * @param Mage_Core_Model_Abstract $entity
  * @return boolean
  * @throws InvalidArgumentException
  */
 public function isValid($entity)
 {
     $this->_messages = array();
     if (!$entity instanceof Mage_Core_Model_Abstract) {
         throw new InvalidArgumentException('Model must be extended from Mage_Core_Model_Abstract');
     }
     /** @var Mage_Eav_Model_Entity_Abstract $resource */
     $resource = $entity->getResource();
     if (!$resource instanceof Mage_Eav_Model_Entity_Abstract) {
         throw new InvalidArgumentException('Model resource must be extended from Mage_Eav_Model_Entity_Abstract');
     }
     $resource->loadAllAttributes($entity);
     $attributes = $resource->getAttributesByCode();
     /** @var Mage_Eav_Model_Entity_Attribute $attribute */
     foreach ($attributes as $attribute) {
         $backend = $attribute->getBackend();
         if (!method_exists($backend, 'validate')) {
             continue;
         }
         try {
             $result = $backend->validate($entity);
             if (false === $result) {
                 $this->_messages[$attribute->getAttributeCode()][] = Mage::helper('Mage_Eav_Helper_Data')->__('The value of attribute "%s" is invalid', $attribute->getAttributeCode());
             } elseif (is_string($result)) {
                 $this->_messages[$attribute->getAttributeCode()][] = $result;
             }
         } catch (Mage_Core_Exception $e) {
             $this->_messages[$attribute->getAttributeCode()][] = $e->getMessage();
         }
     }
     return 0 == count($this->_messages);
 }
Example #16
0
 /**
  * Perform operations before object save
  *
  * @param Mage_Cms_Model_Block $object
  * @return Creativestyle_CheckoutByAmazon_Model_Mysql4_Log_Abstract
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         $object->setCreationTime(Mage::getSingleton('core/date')->gmtDate());
     }
     return parent::_beforeSave($object);
 }
Example #17
0
 /**
  * Call-back function
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getIsMassStatus()) {
         $this->_saveToStoreTable($object);
     }
     return parent::_afterSave($object);
 }
 /**
  * @param string                   $attributeCode
  * @param Mage_Core_Model_Abstract $object
  *
  * @return null|string
  */
 public function extractEavAttributeValue($attributeCode = null, Mage_Core_Model_Abstract $object)
 {
     if (!empty($attributeCode) && $object->hasData($attributeCode)) {
         return $object->getData($attributeCode);
     }
     return null;
 }
Example #19
0
 /**
  * Perform actions after object save
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Eav_Model_Resource_Entity_Attribute_Set
  */
 protected function _afterSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->getGroups()) {
         /* @var $group Mage_Eav_Model_Entity_Attribute_Group */
         foreach ($object->getGroups() as $group) {
             $group->setAttributeSetId($object->getId());
             if ($group->itemExists() && !$group->getId()) {
                 continue;
             }
             $group->save();
         }
     }
     if ($object->getRemoveGroups()) {
         foreach ($object->getRemoveGroups() as $group) {
             /* @var $group Mage_Eav_Model_Entity_Attribute_Group */
             $group->delete();
         }
         Mage::getResourceModel('eav/entity_attribute_group')->updateDefaultGroup($object->getId());
     }
     if ($object->getRemoveAttributes()) {
         foreach ($object->getRemoveAttributes() as $attribute) {
             /* @var $attribute Mage_Eav_Model_Entity_Attribute */
             $attribute->deleteEntity();
         }
     }
     return parent::_afterSave($object);
 }
Example #20
0
 protected function _beforeDelete(Mage_Core_Model_Abstract $object)
 {
     // Cleanup stats on blog delete
     $adapter = $this->_getReadAdapter();
     // 1. Delete testimonial/store
     $adapter->delete($this->getTable('faq/faq_store'), 'faq_id=' . $object->getId());
 }
Example #21
0
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (is_null($object->getOrigData())) {
         $object->setData('create_date', Mage::helper('M2ePro')->getCurrentGmtDate());
     }
     return $this;
 }
Example #22
0
 public function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         $object->setCreatedate(now());
     }
     return parent::_beforeSave($object);
 }
 /**
  * Add creation date to object
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Mage_Core_Model_Resource_Db_Abstract
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getAddedAt()) {
         $object->setAddedAt($this->formatDate(true));
     }
     return parent::_beforeSave($object);
 }
Example #24
0
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getData('mapping_serialized')) {
         $object->setMapping(unserialize($object->getData('mapping_serialized')));
     }
     return parent::_afterLoad($object);
 }
Example #25
0
 /**
  * Output the region element and javasctipt that makes it dependent from country element
  *
  * @param Varien_Data_Form_Element_Abstract $element
  * @return string
  */
 public function render(Varien_Data_Form_Element_Abstract $element)
 {
     $country = $element->getForm()->getElement('country_id');
     if (!is_null($country)) {
         $countryId = $country->getValue();
     } else {
         return $element->getDefaultHtml();
     }
     $regionId = $element->getForm()->getElement('region_id')->getValue();
     $quoteStoreId = $element->getEntityAttribute()->getStoreId();
     $html = '<tr>';
     $element->setClass('input-text');
     $element->setRequired(true);
     $html .= '<td class="label">' . $element->getLabelHtml() . '</td><td class="value">';
     $html .= $element->getElementHtml();
     $selectName = str_replace('region', 'region_id', $element->getName());
     $selectId = $element->getHtmlId() . '_id';
     $html .= '<select id="' . $selectId . '" name="' . $selectName . '" class="select required-entry" style="display:none">';
     $html .= '<option value="">' . $this->_factory->getHelper('customer')->__('Please select') . '</option>';
     $html .= '</select>';
     $html .= '<script type="text/javascript">' . "\n";
     $html .= '$("' . $selectId . '").setAttribute("defaultValue", "' . $regionId . '");' . "\n";
     $html .= 'new regionUpdater("' . $country->getHtmlId() . '", "' . $element->getHtmlId() . '", "' . $selectId . '", ' . $this->helper('directory')->getRegionJsonByStore($quoteStoreId) . ');' . "\n";
     $html .= '</script>' . "\n";
     $html .= '</td></tr>' . "\n";
     return $html;
 }
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if ($object->isObjectNew() && !$object->hasCreatedAt()) {
         $object->setCreatedAt(Mage::getSingleton('core/date')->gmtDate());
     }
     return parent::_beforeSave($object);
 }
Example #27
0
 /**
  * Show if there were errors while synchronize process
  *
  * @param  Mage_Core_Model_Abstract $sourceModel
  * @param  Mage_Core_Model_Abstract $destinationModel
  * @return bool
  */
 protected function _synchronizeHasErrors(Mage_Core_Model_Abstract $sourceModel, Mage_Core_Model_Abstract $destinationModel)
 {
     if (!$sourceModel || !$destinationModel) {
         return true;
     }
     return $sourceModel->hasErrors() || $destinationModel->hasErrors();
 }
Example #28
0
 /**
  * Logic performed before saving the model
  *
  * @param Mage_Core_Model_Abstract $object
  * @return Trio_Wizard_Model_Mysql4_Wizard
  */
 protected function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getGroupId()) {
         $object->setGroupId(null);
     }
     return parent::_beforeSave($object);
 }
Example #29
0
 /**
  *
  * @param Mage_Core_Model_Abstract $object
  */
 protected function _afterLoad(Mage_Core_Model_Abstract $object)
 {
     if ($object->getId()) {
         // Stores
         $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/stores'))->where('slider_id = ?', $object->getId());
         if ($data = $this->_getReadAdapter()->fetchAll($select)) {
             $storesArray = array();
             foreach ($data as $row) {
                 $storesArray[] = $row['store_id'];
             }
             $object->setData('stores', $storesArray);
         }
         // Cms pages
         $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/pages'))->where('slider_id = ?', $object->getId());
         if ($data = $this->_getReadAdapter()->fetchAll($select)) {
             $pagesArray = array();
             foreach ($data as $row) {
                 $pagesArray[] = $row['page_id'];
             }
             $object->setData('pages', $pagesArray);
         }
         // Category ids
         $select = $this->_getReadAdapter()->select()->from($this->getTable('auguria_sliders/categories'))->where('slider_id = ?', $object->getId());
         if ($data = $this->_getReadAdapter()->fetchAll($select)) {
             $categoriesArray = array();
             foreach ($data as $row) {
                 $categoriesArray[] = $row['category_id'];
             }
             $object->setData('category_ids', $categoriesArray);
         }
     }
     return parent::_afterLoad($object);
 }
Example #30
0
 protected function _saveRolesConfig(Mage_Core_Model_Abstract $object)
 {
     $helper = Mage::helper('customgrid');
     $gridId = $object->getId();
     $write = $this->_getWriteAdapter();
     $rolesTable = $this->getTable('customgrid/grid_role');
     $rolesIds = array();
     foreach ($object->getRolesConfig() as $roleId => $config) {
         $select = $write->select()->from($rolesTable, 'grid_role_id')->where('grid_id = ?', $gridId)->where('role_id = ?', $roleId);
         if ($gridRoleId = $write->fetchOne($select)) {
             // Update existing role config
             $write->update($rolesTable, array('default_profile_id' => null, 'available_profiles' => null, 'permissions' => serialize($config['permissions'])), $write->quoteInto('grid_role_id = ?', $gridRoleId));
             $rolesIds[] = $gridRoleId;
         } else {
             // Insert new role config
             $write->insert($rolesTable, array('grid_id' => (int) $gridId, 'role_id' => (int) $roleId, 'default_profile_id' => null, 'available_profiles' => null, 'permissions' => serialize($config['permissions'])));
             $rolesIds[] = $write->lastInsertId();
         }
     }
     // Delete obsolete permissions (all not inserted / updated)
     if (empty($rolesIds)) {
         $rolesIds = array(0);
     }
     $write->delete($rolesTable, $write->quoteInto('grid_id = ' . $gridId . ' AND grid_role_id NOT IN (?)', $rolesIds));
     return $this;
 }