/** * Get an Add/Edit form for the object. * * @param string $target Post target for form submission */ public function getAddEditForm($target = '/admin/Cart') { $form = new Form('CartShippingRate_addedit', 'post', $target); $form->setConstants(array('section' => 'shipping')); $form->addElement('hidden', 'section'); $form->setConstants(array('action' => 'addedit')); $form->addElement('hidden', 'action'); if (!is_null($this->getId())) { $form->setConstants(array('cartshippingrate_id' => $this->getId())); $form->addElement('hidden', 'cartshippingrate_id'); $defaultValues['cartshippingrate_state'] = $this->getState(); $defaultValues['cartshippingrate_country'] = $this->getCountry(); $defaultValues['cartshippingrate_cost'] = $this->getCost(); $form->setDefaults($defaultValues); } $countrySelect = array('onchange' => 'selectCountry();', 'id' => 'cartshippingrate_country'); $form->addElement('select', 'cartshippingrate_country', 'Country', Form::getCountryArray(), $countrySelect); $form->addElement('select', 'cartshippingrate_state', 'Province/State', Form::getStatesArray("Canada")); $form->addElement('text', 'cartshippingrate_cost', 'Shipping Cost'); $form->addElement('submit', 'cartshippingrate_submit', 'Submit'); if ($form->validate() && $form->isSubmitted()) { $selectedCountry = $form->exportValue('cartshippingrate_country'); //Only if the selected country is Canada, insert the selected state. if (CartShippingRate::hasState($selectedCountry)) { $selectedState = $form->exportValue('cartshippingrate_state'); } else { $selectedState = 0; } $this->setCountry($selectedCountry); $this->setState($selectedState); $this->setCost($form->exportValue('cartshippingrate_cost')); $this->save(); } return $form; }
/** * Get an Add/Edit form for the object. * * @param string $target Post target for form submission */ public function getAddEditForm($target = '/admin/Cart') { $form = new Form('CartTaxRate_addedit', 'post', $target); $form->setConstants(array('section' => 'tax_rates')); $form->addElement('hidden', 'section'); $form->setConstants(array('action' => 'addedit')); $form->addElement('hidden', 'action'); if (!is_null($this->getId())) { $form->setConstants(array('carttaxrate_tax_rates_id' => $this->getId())); $form->addElement('hidden', 'carttaxrate_tax_rates_id'); $defaultValues['carttaxrate_zone'] = $this->getZone(); $defaultValues['carttaxrate_taxClass'] = $this->getTaxClass()->getId(); //$defaultValues ['carttaxrate_tax_priority'] = $this->getTax_priority(); $defaultValues['carttaxrate_rate'] = $this->getRate(); $defaultValues['carttaxrate_description'] = $this->getDescription(); //$defaultValues ['carttaxrate_last_modified'] = $this->getLast_modified(); //$defaultValues ['carttaxrate_date_added'] = $this->getDate_added(); $form->setDefaults($defaultValues); } $form->addElement('select', 'carttaxrate_zone', 'Zone', Form::getStatesArray()); $form->addElement('select', 'carttaxrate_taxClass', 'Tax Class', CartTaxClass::toArray()); //$form->addElement('text', 'carttaxrate_tax_priority', 'tax_priority'); $form->addElement('text', 'carttaxrate_rate', 'Tax Rate (%)'); $form->addElement('text', 'carttaxrate_description', 'Description'); //$form->addElement('text', 'carttaxrate_last_modified', 'last_modified'); //$form->addElement('text', 'carttaxrate_date_added', 'date_added'); $form->addElement('submit', 'carttaxrate_submit', 'Submit'); $form->addRule('carttaxrate_rate', 'Please enter a Tax Rate', 'required', null); $form->addRule('carttaxrate_description', 'Please enter a Description', 'required', null); if ($form->validate() && $form->isSubmitted()) { $this->setZone($form->exportValue('carttaxrate_zone')); $this->setTaxClass($form->exportValue('carttaxrate_taxClass')); //$this->setTax_priority($form->exportValue('carttaxrate_tax_priority')); $this->setRate($form->exportValue('carttaxrate_rate')); $this->setDescription($form->exportValue('carttaxrate_description')); //$this->setLast_modified($form->exportValue('carttaxrate_last_modified')); //$this->setDate_added($form->exportValue('carttaxrate_date_added')); $this->save(); } return $form; }