public function addGroup($websiteId, $name, $rootCategoryId) { if (!Mage::helper('M2ePro/Magento_Store_Website')->isExists($websiteId)) { $error = Mage::helper('M2ePro')->__('Website with id %value% does not exist.', (int) $websiteId); throw new Exception($error); } $group = new Mage_Core_Model_Store_Group(); $group->setId(null); $group->setName($name); $group->setWebsiteId($websiteId); $group->setWebsite(Mage::app()->getWebsite($websiteId)); if (isset($rootCategoryId)) { $category = Mage::getModel('catalog/category')->load($rootCategoryId); if (!$category->hasEntityId()) { $error = Mage::helper('M2ePro')->__('Category with %category_id% doen\'t exist', $rootCategoryId); throw new Exception($error); } if ((int) $category->getLevel() !== 1) { $error = Mage::helper('M2ePro')->__('Category of level 1 must be provided.'); throw new Exception($error); } $group->setRootCategoryId($rootCategoryId); } $group->save(); return $group; }
/** * @covers Mage_Core_Model_Website::setGroups * @covers Mage_Core_Model_Website::setStores * @covers Mage_Core_Model_Website::getStores */ public function testSetGroupsAndStores() { /* Groups */ $expectedGroup = new Mage_Core_Model_Store_Group(); $expectedGroup->setId(123); $this->_model->setDefaultGroupId($expectedGroup->getId()); $this->_model->setGroups(array($expectedGroup)); $groups = $this->_model->getGroups(); $this->assertSame($expectedGroup, reset($groups)); /* Stores */ $expectedStore = new Mage_Core_Model_Store(); $expectedStore->setId(456); $expectedGroup->setDefaultStoreId($expectedStore->getId()); $this->_model->setStores(array($expectedStore)); $stores = $this->_model->getStores(); $this->assertSame($expectedStore, reset($stores)); }
public function testSaveDelete() { $first = new Mage_Core_Model_Store_Group(); $first->setData(array('website_id' => 1, 'name' => 'test 1', 'root_category_id' => 1, 'default_store_id' => 1)); $second = new Mage_Core_Model_Store_Group(); $second->setData(array('website_id' => 1, 'name' => 'test 2', 'root_category_id' => 1, 'default_store_id' => 1)); $first->save(); $this->_model->addObject($first)->addObject($second, 'second'); $this->_model->save(); $this->assertNotEmpty($first->getId()); $this->assertNotEmpty($second->getId()); Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID); $this->_model->delete(); $test = new Mage_Core_Model_Store_Group(); $test->load($first->getId()); $this->assertEmpty($test->getId()); }
/** * Init Staging Store Group * * @param Varien_Data_Form $fieldset * @param Mage_Core_Model_Store_Group $group * @param Mage_Core_Model_Website $stagingWebsite * @return Enterprise_Staging_Block_Manage_Staging_Edit_Tabs_Website */ protected function _initStoreGroup($fieldset, $group, $stagingWebsite = null) { $fieldset->addField('staging_store_group_' . $group->getId(), 'label', array('label' => $group->getName())); return $this; }
public function getStoreCollection(Mage_Core_Model_Store_Group $group) { return $group->getStores(); }
/** * Render store group * * @param Mage_Core_Model_Store_Group $storeGroup * @return string */ public function renderStoreGroup(Mage_Core_Model_Store_Group $storeGroup) { $rootCategory = Mage::getModel('catalog/category')->load($storeGroup->getRootCategoryId()); return $this->_createCellTemplate()->setObject($storeGroup)->setLinkUrl($this->getUrl('*/*/editGroup', array('group_id' => $storeGroup->getGroupId())))->setInfo($this->__('Root Category') . ': ' . $this->escapeHtml($rootCategory->getName()))->toHtml(); }
/** * 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; }