diff --git a/addons/coupon/models/coupon_program.py b/addons/coupon/models/coupon_program.py index 4098306732a..66f24622c79 100644 --- a/addons/coupon/models/coupon_program.py +++ b/addons/coupon/models/coupon_program.py @@ -155,7 +155,7 @@ class CouponProgram(models.Model): }) return generated_coupons - def get_number_usage(self): + def get_total_order_count(self): '''This returns the total number of usage of this program.''' self.ensure_one() return 0 diff --git a/addons/pos_coupon/models/coupon_program.py b/addons/pos_coupon/models/coupon_program.py index aeeb5c003f6..98cffdc29f5 100644 --- a/addons/pos_coupon/models/coupon_program.py +++ b/addons/pos_coupon/models/coupon_program.py @@ -79,6 +79,6 @@ class CouponProgram(models.Model): domain = ast.literal_eval(program.rule_partners_domain) if program.rule_partners_domain else [] program.valid_partner_ids = self.env["res.partner"].search(domain).ids - def get_number_usage(self): - res = super(CouponProgram, self).get_number_usage() + def get_total_order_count(self): + res = super(CouponProgram, self).get_total_order_count() return res + self.pos_order_count diff --git a/addons/sale_coupon/models/coupon_program.py b/addons/sale_coupon/models/coupon_program.py index f127ff04b18..4054841c467 100644 --- a/addons/sale_coupon/models/coupon_program.py +++ b/addons/sale_coupon/models/coupon_program.py @@ -28,7 +28,7 @@ class CouponProgram(models.Model): def _check_promo_code(self, order, coupon_code): message = {} - if self.maximum_use_number != 0 and self.order_count >= self.maximum_use_number: + if self.maximum_use_number != 0 and self.get_total_order_count() >= self.maximum_use_number: message = {'error': _('Promo code %s has been expired.') % (coupon_code)} elif not self._filter_on_mimimum_amount(order): message = {'error': _( @@ -100,7 +100,7 @@ class CouponProgram(models.Model): return self.filtered(lambda program: program.promo_code_usage == 'code_needed' and program.promo_code != order.promo_code) def _filter_unexpired_programs(self, order): - return self.filtered(lambda program: program.maximum_use_number == 0 or program.order_count <= program.maximum_use_number) + return self.filtered(lambda program: program.maximum_use_number == 0 or program.get_total_order_count() <= program.maximum_use_number) def _filter_programs_on_partners(self, order): return self.filtered(lambda program: program._is_valid_partner(order.partner_id)) @@ -193,6 +193,6 @@ class CouponProgram(models.Model): # remove least interesting programs return self - (programs - most_interesting_program) - def get_number_usage(self): - res = super(CouponProgram, self).get_number_usage() + def get_total_order_count(self): + res = super(CouponProgram, self).get_total_order_count() return res + self.order_count