[UPDATE]UPDATE
This commit is contained in:
parent
a4a4cd4fd7
commit
6fbbdf969f
|
|
@ -161,7 +161,7 @@ class DevMembership(models.Model):
|
|||
], limit=1, order="to_date desc")
|
||||
# Handle sequence generation for new or renewed memberships
|
||||
sequence_code = 'membership.no.sequence'
|
||||
self.partner_id.check_active_membership()
|
||||
|
||||
if not self.invoice_id and not self.is_free:
|
||||
raise ValidationError(_('Please Create Membership Invoice'))
|
||||
if self.invoice_id.payment_state not in ['paid', 'in_payment'] and not self.is_free:
|
||||
|
|
@ -240,7 +240,7 @@ class DevMembership(models.Model):
|
|||
message_type='notification', #
|
||||
author_id=self.env.user.partner_id.id,
|
||||
)
|
||||
membership.partner_id.check_active_membership()
|
||||
|
||||
|
||||
def membership_reminder_email_cron(self):
|
||||
membership_pool = self.env['dev.membership']
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class Partner(models.Model):
|
|||
membrship_no = fields.Char('Membership Number')
|
||||
birth_date = fields.Date(string='Birth Date')
|
||||
join_date = fields.Date(string='Join Date')
|
||||
memebership_end_date = fields.Date(string='Memebership End Date',store=True, compute='_compute_membership_end')
|
||||
memebership_end_date = fields.Date(string='Memebership End Date',store=True, compute='check_active_membership')
|
||||
age = fields.Integer(string='Age',compute='_compute_age')
|
||||
employer = fields.Char(string='Employer',)
|
||||
product_id = fields.Many2one('product.product', string="Membership Type",store=True,compute="check_active_membership")
|
||||
|
|
@ -39,27 +39,67 @@ class Partner(models.Model):
|
|||
if rec.birth_date:
|
||||
rec.age = (datetime.today().year-rec.birth_date.year)
|
||||
|
||||
|
||||
|
||||
def check_active_membership(self):
|
||||
|
||||
for partner in self:
|
||||
|
||||
partner.active_membership_id = False
|
||||
partner.product_id = False
|
||||
|
||||
partner.is_membership_expire = False
|
||||
|
||||
partner.memebership_end_date = False
|
||||
|
||||
partner.product_id = False
|
||||
|
||||
if partner.membership_count > 0:
|
||||
# partner._compute_membership_level()
|
||||
# partner.check_memebership_status()
|
||||
# partner._compute_membership_end()
|
||||
|
||||
c_date = datetime.now().date()
|
||||
|
||||
membership_id = self.env['dev.membership'].sudo().search([('partner_id', '=', partner.id),
|
||||
|
||||
('state', '=', 'active'),
|
||||
|
||||
('from_date', '<=', c_date),
|
||||
|
||||
('to_date', '>=', c_date)], order='to_date desc', limit=1)
|
||||
|
||||
if membership_id:
|
||||
|
||||
partner.active_membership_id = membership_id and membership_id.id or False
|
||||
|
||||
else:
|
||||
partner.is_membership_expire = True
|
||||
|
||||
@api.depends('active_membership_id')
|
||||
|
||||
last_membership_id = self.env['dev.membership'].sudo().search([
|
||||
|
||||
('partner_id', '=', partner.id),
|
||||
|
||||
('state', '=', 'active'),
|
||||
|
||||
('product_id', '=', membership_id.product_id.id)], order='to_date desc', limit=1)
|
||||
|
||||
if last_membership_id:
|
||||
|
||||
partner.memebership_end_date = last_membership_id.to_date
|
||||
|
||||
partner.product_id = last_membership_id.product_id.id
|
||||
|
||||
else:
|
||||
|
||||
partner.is_membership_expire = True
|
||||
|
||||
last_membership_id = self.env['dev.membership'].sudo().search([
|
||||
|
||||
('partner_id', '=', partner.id),
|
||||
|
||||
('state', 'in', ('expire','cancel'))], order='to_date desc', limit=1)
|
||||
|
||||
if last_membership_id:
|
||||
|
||||
partner.memebership_end_date = last_membership_id.to_date
|
||||
|
||||
partner.product_id = last_membership_id.product_id.id
|
||||
|
||||
@api.depends('active_membership_id')
|
||||
def _compute_membership_end(self):
|
||||
for partner in self:
|
||||
partner.memebership_end_date = False
|
||||
|
|
@ -88,7 +128,7 @@ class Partner(models.Model):
|
|||
('state', 'in', ('active','expire','cancel'))], order='to_date desc', limit=1)
|
||||
if membership_id:
|
||||
partner.membrship_level = membership_id.membrship_level
|
||||
partner.product_id = membership_id and membership_id.product_id.id or False
|
||||
|
||||
@api.depends('active_membership_id')
|
||||
def check_memebership_status(self):
|
||||
for partner in self:
|
||||
|
|
|
|||
Loading…
Reference in New Issue