function commerce_billy_admin_form_submit in Commerce Billy 7
Submit handler for Commerce Billy admin form.
File
- ./
commerce_billy.admin.inc, line 120 - Settings for Commerce Billy.
Code
function commerce_billy_admin_form_submit($form, &$form_state) {
form_state_values_clean($form_state);
// Prepare confirmation form for invoice number override.
if (isset($form_state['values']['commerce_billy_invoice_nr_method'])) {
$override = $form_state['values']['commerce_billy_invoice_nr_override'];
$last_number = commerce_billy_query_variable('commerce_billy_invoice_nr_last');
$last_number['id'] = isset($last_number['id']) ? $last_number['id'] : 0;
if ($override && $override != $last_number['id'] && $override > $last_number['id']) {
$form_state['rebuild'] = TRUE;
$form_state['confirm_nr_change'] = TRUE;
}
}
elseif (isset($form_state['values']['nr_override']) && isset($form_state['values']['confirm']) && !empty($form_state['values']['confirm'])) {
$last_number = commerce_billy_query_variable('commerce_billy_invoice_nr_last');
$last_number['id'] = $form_state['values']['nr_override'];
variable_set('commerce_billy_invoice_nr_last', $last_number);
drupal_set_message('Your invoice number has successfully been overridden.');
return;
}
// Save all relevant settings.
foreach ($form_state['values'] as $key => $value) {
if ($key != 'commerce_billy_invoice_nr_override') {
variable_set($key, $value);
}
}
if (!isset($form_state['confirm_nr_change'])) {
// No number override, default success message.
drupal_set_message(t('The configuration options for Commerce Billy have been saved.'));
}
else {
// Number override -> confirm form.
drupal_set_message(t('Basic configuration options for Commerce Billy have been saved. Change of invoice number requires confirmation.'));
}
}