Exemple #1
0
 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;
 }
Exemple #2
0
 /**
  * @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));
 }
Exemple #3
0
 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());
 }
Exemple #4
0
 /**
  * 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;
 }
Exemple #5
0
 public function getStoreCollection(Mage_Core_Model_Store_Group $group)
 {
     return $group->getStores();
 }
Exemple #6
0
 /**
  * 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();
 }
Exemple #7
0
 /**
  * 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;
 }