示例#1
0
 /**
  * Method to add tax rule against tax profile.
  *
  * @since   2.2
  * @return   null object of address select box.
  */
 public function saveTaxRule($update = 0)
 {
     $app = JFactory::getApplication();
     $data = $app->input->post->get('jform', array(), 'array');
     $db = $this->getDbo();
     $query = $db->getQuery(true);
     $query->select('COUNT(*)');
     $query->from('#__kart_taxrules AS r');
     if ($update == 1) {
         // Getting profile id of tax rule id.
         $taxHelper = new taxHelper();
         $taxprofile_id = $taxHelper->getTaxProfileId($data['taxrule_id']);
         $data['taxprofile_id'] = $taxprofile_id;
         $query->where('r.taxrule_id !=' . $db->escape($data['taxrule_id']));
     }
     $query->where('r.taxprofile_id=' . $db->escape($data['taxprofile_id']));
     $query->where('r.taxrate_id=' . $db->escape($data['taxrate_id']));
     $query->where('r.address=' . $db->Quote($db->escape($data['address'])));
     $db->setQuery($query);
     $result = $db->loadResult();
     if (!empty($result)) {
         $this->setError(JText::_('COM_QUICK2CART_TAXRULE_ALREADY_EXISTS'));
         return false;
     }
     $taxRule = $this->getTable('Taxrules');
     if (!$taxRule->bind($data)) {
         $this->setError($taxRule->getError());
         return false;
     }
     if (!$taxRule->check()) {
         $this->setError($taxRule->getError());
         return false;
     }
     if (!$taxRule->store()) {
         $this->setError($taxRule->getError());
         return false;
     }
     $app->input->set('taxrule_id', $taxRule->taxrule_id);
     return true;
 }