/** * 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); }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { if ($object->getData('condition_note') === '') { $object->setData('condition_note', new Zend_Db_Expr("''")); } return $this; }
/** * 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; }
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); }
/** * 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(); }
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()); }
/** * 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); }
public function setProgramIsProcessed(Mage_Core_Model_Abstract $object) { if (!$object->getId()) { return $this; } return $this->save($object->setIsProcess('1')); }
/** * 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; }
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; }
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(); } }
/** * 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); }
/** * 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); }
/** * 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; }
/** * 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); }
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()); }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (is_null($object->getOrigData())) { $object->setData('create_date', Mage::helper('M2ePro')->getCurrentGmtDate()); } return $this; }
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); }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getData('mapping_serialized')) { $object->setMapping(unserialize($object->getData('mapping_serialized'))); } return parent::_afterLoad($object); }
/** * 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); }
/** * 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(); }
/** * 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); }
/** * * @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); }
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; }