Example #1
0
 protected function _prepareForm()
 {
     $rateObject = new Varien_Object(Mage::getSingleton('tax/calculation_rate')->getData());
     $form = new Varien_Data_Form();
     $countries = Mage::getModel('adminhtml/system_config_source_country')->toOptionArray();
     unset($countries[0]);
     if (!$rateObject->hasTaxCountryId()) {
         $rateObject->setTaxCountryId(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_COUNTRY));
     }
     if (!$rateObject->hasTaxRegionId()) {
         $rateObject->setTaxRegionId(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_REGION));
     }
     $regionCollection = Mage::getModel('directory/region')->getCollection()->addCountryFilter($rateObject->getTaxCountryId());
     $regions = $regionCollection->toOptionArray();
     if ($regions) {
         $regions[0]['label'] = '*';
     } else {
         $regions = array(array('value' => '', 'label' => '*'));
     }
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => Mage::helper('tax')->__('Tax Rate Information')));
     if ($rateObject->getTaxCalculationRateId() > 0) {
         $fieldset->addField('tax_calculation_rate_id', 'hidden', array('name' => 'tax_calculation_rate_id', 'value' => $rateObject->getTaxCalculationRateId()));
     }
     $fieldset->addField('code', 'text', array('name' => 'code', 'label' => Mage::helper('tax')->__('Tax Identifier'), 'title' => Mage::helper('tax')->__('Tax Identifier'), 'class' => 'required-entry', 'required' => true));
     $fieldset->addField('tax_country_id', 'select', array('name' => 'tax_country_id', 'label' => Mage::helper('tax')->__('Country'), 'required' => true, 'values' => $countries));
     $fieldset->addField('tax_region_id', 'select', array('name' => 'tax_region_id', 'label' => Mage::helper('tax')->__('State'), 'values' => $regions));
     $fieldset->addField('zip_is_range', 'select', array('name' => 'zip_is_range', 'label' => Mage::helper('tax')->__('Zip/Post is Range'), 'options' => array('0' => Mage::helper('tax')->__('No'), '1' => Mage::helper('tax')->__('Yes'))));
     if (!$rateObject->hasTaxPostcode()) {
         $rateObject->setTaxPostcode(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_POSTCODE));
     }
     $allwarehouse[] = 0;
     $warehouses = Mage::getModel('awa_inventory/warehouse')->getCollection()->addFieldToFilter('status', 1);
     foreach ($warehouses as $warehouse) {
         $allwarehouse[] = $warehouse->getEntityId();
     }
     $fieldset->addField('tax_postcode', 'text', array('name' => 'tax_postcode', 'label' => Mage::helper('tax')->__('Zip/Post Code'), 'note' => Mage::helper('tax')->__("'*' - matches any; 'xyz*' - matches any that begins on 'xyz' and not longer than %d.", Mage::helper('tax')->getPostCodeSubStringLength())));
     $fieldset->addField('zip_from', 'text', array('name' => 'zip_from', 'label' => Mage::helper('tax')->__('Range From'), 'required' => true, 'maxlength' => 9, 'class' => 'validate-digits'));
     $fieldset->addField('zip_to', 'text', array('name' => 'zip_to', 'label' => Mage::helper('tax')->__('Range To'), 'required' => true, 'maxlength' => 9, 'class' => 'validate-digits'));
     $fieldset->addField('warehouse_id', 'select', array('name' => 'warehouse_id', 'label' => Mage::helper('tax')->__('Choose Warehose'), 'required' => true, 'maxlength' => 9, 'class' => 'validate-digits', 'values' => Mage::getModel('awa_inventory/warehouse_attribute_source_inputtype')->getAllOptions(true)));
     $fieldset->addField('rate', 'text', array('name' => 'rate', 'label' => Mage::helper('tax')->__('Rate Percent'), 'title' => Mage::helper('tax')->__('Rate Percent'), 'required' => true, 'class' => 'validate-not-negative-number'));
     $form->setAction($this->getUrl('*/tax_rate/save'));
     $form->setUseContainer(true);
     $form->setId('rate_form');
     $form->setMethod('post');
     if (!Mage::app()->isSingleStoreMode()) {
         $form->addElement(Mage::getBlockSingleton('adminhtml/tax_rate_title_fieldset')->setLegend(Mage::helper('tax')->__('Tax Titles')));
     }
     $rateData = $rateObject->getData();
     if ($rateObject->getZipIsRange()) {
         list($rateData['zip_from'], $rateData['zip_to']) = explode('-', $rateData['tax_postcode']);
     }
     $form->setValues($rateData);
     $this->setForm($form);
     $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap('zip_is_range', 'zip_is_range')->addFieldMap('tax_postcode', 'tax_postcode')->addFieldMap('zip_from', 'zip_from')->addFieldMap('zip_to', 'zip_to')->addFieldDependence('zip_from', 'zip_is_range', '1')->addFieldDependence('zip_to', 'zip_is_range', '1')->addFieldDependence('tax_postcode', 'zip_is_range', '0'));
     return parent::_prepareForm();
 }
Example #2
0
 protected function _prepareForm()
 {
     $rateId = (int) $this->getRequest()->getParam('rate');
     $rateObject = new Varien_Object();
     $rateModel = Mage::getSingleton('tax/calculation_rate');
     $rateObject->setData($rateModel->getData());
     $form = new Varien_Data_Form();
     $countries = Mage::getModel('adminhtml/system_config_source_country')->toOptionArray();
     unset($countries[0]);
     if (!$rateObject->hasTaxCountryId()) {
         $rateObject->setTaxCountryId(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_COUNTRY));
     }
     if (!$rateObject->hasTaxRegionId()) {
         $rateObject->setTaxRegionId(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_REGION));
     }
     $regionCollection = Mage::getModel('directory/region')->getCollection()->addCountryFilter($rateObject->getTaxCountryId());
     $regions = $regionCollection->toOptionArray();
     if ($regions) {
         $regions[0]['label'] = '*';
     } else {
         $regions = array(array('value' => '', 'label' => '*'));
     }
     $fieldset = $form->addFieldset('base_fieldset', array('legend' => Mage::helper('tax')->__('Tax Rate Information')));
     if ($rateObject->getTaxCalculationRateId() > 0) {
         $fieldset->addField('tax_calculation_rate_id', 'hidden', array('name' => "tax_calculation_rate_id", 'value' => $rateObject->getTaxCalculationRateId()));
     }
     $fieldset->addField('code', 'text', array('name' => 'code', 'label' => Mage::helper('tax')->__('Tax Identifier'), 'title' => Mage::helper('tax')->__('Tax Identifier'), 'class' => 'required-entry', 'value' => $rateModel->getCode(), 'required' => true));
     $fieldset->addField('tax_country_id', 'select', array('name' => 'tax_country_id', 'label' => Mage::helper('tax')->__('Country'), 'required' => true, 'values' => $countries));
     $fieldset->addField('tax_region_id', 'select', array('name' => 'tax_region_id', 'label' => Mage::helper('tax')->__('State'), 'values' => $regions));
     /* FIXME!!! {*
        $fieldset->addField('tax_county_id', 'select',
            array(
                'name' => 'tax_county_id',
                'label' => Mage::helper('tax')->__('County'),
                'values' => array(
                    array(
                        'label' => '*',
                        'value' => ''
                    )
                ),
                'value' => $rateObject->getTaxCountyId()
            )
        );
        } */
     $fieldset->addField('zip_is_range', 'select', array('name' => 'zip_is_range', 'label' => Mage::helper('tax')->__('Zip/Post is Range'), 'options' => array('0' => Mage::helper('tax')->__('No'), '1' => Mage::helper('tax')->__('Yes'))));
     if (!$rateObject->hasTaxPostcode()) {
         $rateObject->setTaxPostcode(Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_DEFAULT_POSTCODE));
     }
     $fieldset->addField('tax_postcode', 'text', array('name' => 'tax_postcode', 'label' => Mage::helper('tax')->__('Zip/Post Code'), 'note' => Mage::helper('tax')->__("'*' - matches any; 'xyz*' - matches any that begins on 'xyz' and not longer than %d.", Mage::helper('tax')->getPostCodeSubStringLength())));
     $fieldset->addField('zip_from', 'text', array('name' => 'zip_from', 'label' => Mage::helper('tax')->__('Range From'), 'value' => $rateObject->getZipFrom(), 'required' => true, 'class' => 'validate-digits'));
     $fieldset->addField('zip_to', 'text', array('name' => 'zip_to', 'label' => Mage::helper('tax')->__('Range To'), 'value' => $rateObject->getZipTo(), 'required' => true, 'class' => 'validate-digits'));
     if ($rateObject->getRate()) {
         $value = 1 * $rateObject->getRate();
     } else {
         $value = 0;
     }
     $fieldset->addField('rate', 'text', array('name' => "rate", 'label' => Mage::helper('tax')->__('Rate Percent'), 'title' => Mage::helper('tax')->__('Rate Percent'), 'value' => number_format($value, 4), 'required' => true, 'class' => 'validate-not-negative-number'));
     $form->setAction($this->getUrl('*/tax_rate/save'));
     $form->setUseContainer(true);
     $form->setId('rate_form');
     $form->setMethod('post');
     if (!Mage::app()->isSingleStoreMode()) {
         $form->addElement(Mage::getBlockSingleton('adminhtml/tax_rate_title_fieldset')->setLegend(Mage::helper('tax')->__('Tax Titles')));
     }
     $form->setValues($rateObject->getData());
     $this->setForm($form);
     $this->setChild('form_after', $this->getLayout()->createBlock('adminhtml/widget_form_element_dependence')->addFieldMap("zip_is_range", 'zip_is_range')->addFieldMap("tax_postcode", 'tax_postcode')->addFieldMap("zip_from", 'zip_from')->addFieldMap("zip_to", 'zip_to')->addFieldDependence('zip_from', 'zip_is_range', '1')->addFieldDependence('zip_to', 'zip_is_range', '1')->addFieldDependence('tax_postcode', 'zip_is_range', '0'));
     return parent::_prepareForm();
 }