예제 #1
0
 /**
  * @return Store
  */
 public function getStore($store = null)
 {
     if ($store === null) {
         if (!$this->_currentStore) {
             $this->_currentStore = new Store();
             $this->_currentStore->setId(1);
             $this->addStore($this->_currentStore);
         }
         return $this->_currentStore;
     }
     if (is_numeric($store)) {
         if (isset($this->_stores[$store])) {
             $storeObj = $this->_stores[$store];
         } else {
             $storeObj = new Store();
             $storeObj->setId($store);
             $this->addStore($storeObj);
         }
         return $storeObj;
     }
     if ($store instanceof Store) {
         return $store;
     }
     return $this->getStore();
 }
예제 #2
0
 public function testIsCanDelete()
 {
     $this->assertFalse($this->_model->isCanDelete());
     $this->_model->load(1);
     $this->assertFalse($this->_model->isCanDelete());
     $this->_model->setId(100);
     $this->assertTrue($this->_model->isCanDelete());
 }
예제 #3
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));
 }
예제 #4
0
 public function addStore($name, $code, $websiteId, $groupId = null)
 {
     if (!Mage::helper('M2ePro/Magento_Store_Website')->isExists($websiteId)) {
         $error = Mage::helper('M2ePro')->__('Website with id %value% does not exists.', $websiteId);
         throw new Exception($error);
     }
     try {
         $store = Mage::app()->getStore($code, 'code');
         $error = Mage::helper('M2ePro')->__('Store with %code% already exists.', $code);
         throw new Exception($error);
     } catch (Exception $e) {
         // M2ePro_TRANSLATIONS
         // Group with id %group_id% doesn't belongs to website with %site_id%.
         if ($groupId) {
             if (!Mage::helper('M2ePro/Magento_Store_Group')->isChildOfWebsite($groupId, $websiteId)) {
                 $error = Mage::helper('M2ePro')->__('Group with id %group_id% doesn\'t belong to' . 'website with %site_id%.', $groupId, $websiteId);
                 throw new Exception($error);
             }
         } else {
             $groupId = Mage::app()->getWebsite($websiteId)->getDefaultGroupId();
         }
         $store = new Mage_Core_Model_Store();
         $store->setId(null);
         $store->setWebsite(Mage::app()->getWebsite($websiteId));
         $store->setWebsiteId($websiteId);
         $store->setGroup(Mage::app()->getGroup($groupId));
         $store->setGroupId($groupId);
         $store->setCode($code);
         $store->setName($name);
         $store->save();
         Mage::app()->reinitStores();
         return $store;
     }
 }