From 9399379d77de02b666a23916914b64b20efa41ea Mon Sep 17 00:00:00 2001 From: jucallme Date: Wed, 18 Apr 2012 12:08:43 -0400 Subject: [PATCH] fix some wording and white space --- commerce_coupon.module | 8 ++++++++ includes/commerce_coupon.checkout_pane.inc | 11 +++++++++++ includes/commerce_coupon_ui.settings.inc | 7 +++++++ 3 files changed, 26 insertions(+), 0 deletions(-) diff --git a/commerce_coupon.module b/commerce_coupon.module index f86ffbe..09c10f8 100644 --- a/commerce_coupon.module +++ b/commerce_coupon.module @@ -1117,3 +1117,11 @@ function commerce_coupon_field_widget_form(&$form, &$form_state, $field, $instan return $element; } + +/** + * Returns the number of coupons currently attached to the order. + */ +function commerce_coupon_number_of_coupons_against_order($order) { + $coupons = commerce_coupon_get_coupons_by_order($order->order_id); + return count($coupons); +} diff --git a/includes/commerce_coupon.checkout_pane.inc b/includes/commerce_coupon.checkout_pane.inc index f77caa4..2184c61 100644 --- a/includes/commerce_coupon.checkout_pane.inc +++ b/includes/commerce_coupon.checkout_pane.inc @@ -39,6 +39,17 @@ function commerce_coupon_pane_checkout_form_validate($form, &$form_state, $check return TRUE; } + // Validates limits + $order = $form_state['values']['order']; + if (variable_get('commerce_coupon_limit_numbers', -1) > 0 && + commerce_coupon_number_of_coupons_against_order($order) >= variable_get('commerce_coupon_limit_numbers', -1)) { + + $message = t('You can only add a maximum of @number coupons to your order', + array('@number' => variable_get('commerce_coupon_limit_numbers', -1))); + form_set_error('commerce_coupon][coupon_code', $message); + return FALSE; + } + // Valdiate the coupon code if (commerce_coupon_code_is_valid($form_state['values']['commerce_coupon']['coupon_code'], $order)) { return TRUE; diff --git a/includes/commerce_coupon_ui.settings.inc b/includes/commerce_coupon_ui.settings.inc index 3c5ddb3..173dcb2 100644 --- a/includes/commerce_coupon_ui.settings.inc +++ b/includes/commerce_coupon_ui.settings.inc @@ -43,6 +43,13 @@ function commerce_coupon_ui_settings_form($form, &$form_state) { ); } + $form['commerce_coupon_limit_numbers'] = array( + '#type' => 'textfield', + '#title' => t('Limit number of coupons per order'), + '#default_value' => variable_get('commerce_coupon_limit_numbers', -1), + '#description' => t('Limits the number of coupons that can be used against an order in the cart, (-1 indicates no limit).'), + ); + return system_settings_form($form); } -- 1.7.5.4