/** * Disallow deleting store group or store * * @param Mage_Core_Model_Store|Mage_Core_Model_Store_Group $model */ public function coreStoreGroupDeleteBefore($model) { if ($model->getId() && $this->_role->hasWebsiteAccess($model->getWebsiteId(), true)) { return; } $this->_throwDelete(); }
/** * @param array $sConfig * @param Mage_Core_Model_Store_Group $storeGroup * @return Mage_Core_Model_Store */ private function __addUpdateStore($sConfig, $storeGroup) { // See if the store exists otherwise create a store $store = Mage::getModel('core/store')->load($sConfig['code'], 'code'); if ($store->getId()) { if ($store->getWebsiteId() != $storeGroup->getWebsiteId() || $store->getGroupId() != $storeGroup->getId() || $store->getName() != $sConfig['name'] || $store->getIsActive() != (isset($sConfig['active']) ? $sConfig['active'] : 1) || $store->getSortOrder() != $sConfig['sort_order']) { $store->setWebsiteId($storeGroup->getWebsiteId())->setGroupId($storeGroup->getId())->setName($sConfig['name'])->setIsActive(isset($sConfig['active']) ? $sConfig['active'] : 1)->setSortOrder($sConfig['sort_order'])->save(); $this->log("Updated store " . $store->getCode()); } } else { $store = Mage::getModel('core/store'); $store->setCode($sConfig['code'])->setWebsiteId($storeGroup->getWebsiteId())->setGroupId($storeGroup->getId())->setName($sConfig['name'])->setIsActive(isset($sConfig['active']) ? $sConfig['active'] : 1)->setSortOrder($sConfig['sort_order'])->save(); $this->log("Created store " . $store->getCode() . " with name " . $store->getName()); } return $store; }