Ejemplo n.º 1
0
 public function tax_class()
 {
     $items = Mage::getModel('tax/class')->getCollection()->getItems();
     foreach ($items as $item) {
         $item->delete();
     }
     $this->conn->query('ALTER TABLE `tax_class` AUTO_INCREMENT=1');
     foreach ($this->objects['tax_class'] as $item) {
         $model = new Mage_Tax_Model_Class();
         foreach ($item as $key => $value) {
             $model->setData($key, $value);
         }
         try {
             $model->save();
         } catch (Exception $e) {
             mage::d($e->getMessage());
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Check if customer tax class exists and has not been used yet (in Tax Rules or Customer Groups)
  *
  * @param Mage_Tax_Model_Class $classModel
  * @throws Mage_Core_Exception
  */
 protected function _checkTaxClassUsage(Mage_Tax_Model_Class $classModel)
 {
     if (!$classModel->getId()) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('This class no longer exists.'));
     }
     $ruleCollection = Mage::getModel('Mage_Tax_Model_Calculation_Rule')->getCollection()->setClassTypeFilter($classModel->getClassType(), $classModel->getId());
     if ($ruleCollection->getSize() > 0) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('You cannot delete this tax class as it is used in Tax Rules. You have to delete the rules it is used in first.'));
     }
     $customerGroupCollection = Mage::getModel('Mage_Customer_Model_Group')->getCollection()->addFieldToFilter('tax_class_id', $classModel->getId());
     $groupCount = $customerGroupCollection->getSize();
     if ($groupCount > 0) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('You cannot delete this tax class as it is used for %d customer groups.', $groupCount));
     }
 }
Ejemplo n.º 3
0
 /**
  * Get all possible options for specified class name (customer|product)
  *
  * @param string $classFilter
  * @return array
  */
 public function getAllOptionsForClass($classFilter)
 {
     $classes = $this->_taxClass->getCollection()->setClassTypeFilter($classFilter)->toOptionArray();
     return $classes;
 }
Ejemplo n.º 4
0
 /**
  * Check if product tax class exists and has not been used yet (in Tax Rules or Products)
  *
  * @param Mage_Tax_Model_Class $classModel
  */
 protected function _checkProductTaxClassUsage(Mage_Tax_Model_Class $classModel)
 {
     if (!$classModel->getId() || $classModel->getClassType() != Mage_Tax_Model_Class::TAX_CLASS_TYPE_PRODUCT) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('This class no longer exists.'));
     }
     $ruleCollection = Mage::getModel('Mage_Tax_Model_Calculation_Rule')->getCollection()->setClassTypeFilter(Mage_Tax_Model_Class::TAX_CLASS_TYPE_PRODUCT, $classModel->getId());
     if ($ruleCollection->getSize() > 0) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('You cannot delete this tax class as it is used in Tax Rules. You have to delete the rules it is used in first.'));
     }
     $productCollection = Mage::getModel('Mage_Catalog_Model_Product')->getCollection()->addAttributeToFilter('tax_class_id', $classModel->getId());
     $productCount = $productCollection->getSize();
     if ($productCount > 0) {
         Mage::throwException(Mage::helper('Mage_Tax_Helper_Data')->__('You cannot delete this tax class as it is used for %d products.', $productCount));
     }
 }