uc_taxes_form_submit

  1. drupal
    1. 6 uc_taxes.admin.inc function
    2. 7 uc_taxes.admin.inc function
Drupal 7 uc_taxes_form_submit($form, &$form_state)

Form submission handler for uc_taxes_form().

See also

uc_taxes_form()

uc_taxes_form_validate()

File

sites/all/modules/ubercart/uc_taxes/uc_taxes.admin.inc, line 168
Taxes administration menu items.

Code

function uc_taxes_form_submit($form, &$form_state) {
  // Determine the decimal rate value.
  if (strpos($form_state['values']['rate'], '%')) {
    $form_state['values']['rate'] = floatval($form_state['values']['rate']) / 100;
  }
  else {
    $form_state['values']['rate'] = floatval($form_state['values']['rate']);
  }

  // Build the rate object based on the form values and save it.
  $rate = (object) array(
    'id' => $form_state['values']['id'], 
    'name' => $form_state['values']['name'], 
    'rate' => $form_state['values']['rate'], 
    'taxed_product_types' => array_filter($form_state['values']['taxed_product_types']), 
    'taxed_line_items' => array_filter($form_state['values']['taxed_line_items']), 
    'weight' => $form_state['values']['weight'], 
    'shippable' => $form_state['values']['shippable'], 
    'display_include' => $form_state['values']['display_include'], 
    'inclusion_text' => $form_state['values']['inclusion_text'],
  );
  $rate = uc_taxes_rate_save($rate);

  // Update the name of the associated conditions.
  $conditions = rules_config_load('uc_taxes_' . $form_state['values']['id']);
  if ($conditions) {
    $conditions->label = $form_state['values']['name'];
    $conditions->save();
  }

  // Display a message and redirect back to the overview,
  // or the conditions page for new taxes.
  if ($form_state['values']['id']) {
    drupal_set_message(t('Tax rate %name saved.', array('%name' => $form_state['values']['name'])));
    $form_state['redirect'] = 'admin/store/settings/taxes';
  }
  else {
    drupal_set_message(t('Tax rate %name created.', array('%name' => $form_state['values']['name'])));
    $form_state['redirect'] = 'admin/store/settings/taxes/manage/uc_taxes_' . $rate->id;
  }
}