[FIX] *_coupon: use get_total_order_count() on checking maximum_use_number
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user