function commerce_coupon_form_submit in Commerce Coupon 7.2
Same name and namespace in other branches
- 7 includes/commerce_coupon_ui.forms.inc \commerce_coupon_form_submit()
Form submit callback: submit coupon entity form.
File
- includes/
commerce_coupon.admin.inc, line 144 - Administrative forms and callbacks for Commerce Coupon.
Code
function commerce_coupon_form_submit(&$form, &$form_state) {
$coupon =& $form_state['commerce_coupon'];
$coupon->code = !empty($form_state['values']['code']) ? $form_state['values']['code'] : commerce_coupon_generate_coupon_code($coupon->type);
$coupon->status = $form_state['values']['status'];
// Attach fields.
field_attach_submit('commerce_coupon', $coupon, $form, $form_state);
// Save the coupon.
commerce_coupon_save($coupon);
$form_state['redirect'] = 'admin/commerce/coupons';
$discounts = array();
// Rebuild the discount rules for the discounts we're referencing and we
// used to reference.
foreach (array(
$coupon,
$form['#original'],
) as $coupon_instance) {
if (!empty($coupon_instance->commerce_discount_reference)) {
$coupon_wrapper = entity_metadata_wrapper('commerce_coupon', $coupon_instance);
$discounts = array_merge($discounts, $coupon_wrapper->commerce_discount_reference
->value());
}
}
if (!empty($discounts)) {
_commerce_discount_rebuild_rules_config($discounts);
}
// Redirect based on the button clicked.
drupal_set_message(t('Coupon saved.'));
}