[FIX] *_coupon: use get_total_order_count() on checking maximum_use_number

This commit is contained in:
Joseph Caburnay
2020-11-04 08:13:15 +00:00
parent 7907503755
commit e9583cccdd
3 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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
+4 -4
View File
@@ -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