Update res_partner.py

This commit is contained in:
zainab2097 2024-08-14 14:39:27 +03:00 committed by GitHub
parent a2fc18ca44
commit 6d85e4d2b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 22 additions and 20 deletions

View File

@ -64,27 +64,29 @@ class PartnerExtended(models.Model):
if partner.membership_count == 0:
partner.memebership_status = 'No Membership'
else:
if partner.is_membership_expire:
partner.memebership_status = 'Membership Expire'
# Prioritize active membership first
if partner.active_membership_id:
partner.memebership_status = partner.active_membership_id.product_id.name
else:
if partner.active_membership_id:
partner.memebership_status = partner.active_membership_id.product_id.name
else:
# البحث عن حالة الاشتراك الأخيرة
last_membership = self.env['dev.membership'].search([('partner_id', '=', partner.id)],
order='to_date desc', limit=1)
if last_membership:
if last_membership.state == 'draft':
partner.memebership_status = 'Membership Waitting'
elif last_membership.state == 'cancel':
partner.memebership_status = 'Membership Cancelled'
elif last_membership.state == 'confirm':
if not last_membership.invoice_id and not last_membership.is_free:
partner.memebership_status = 'Membership Waitting invoice'
elif last_membership.invoice_id.payment_state in ['paid', 'in_payment']:
partner.memebership_status = 'Membership Paid'
elif last_membership.invoice_id.payment_state not in ['paid', 'in_payment']:
partner.memebership_status = 'Membership Waitting Paid'
# Search for the last membership
last_membership = self.env['dev.membership'].search(
[('partner_id', '=', partner.id)], order='to_date desc', limit=1)
if last_membership:
if last_membership.state == 'draft':
partner.memebership_status = 'Membership Waiting'
elif last_membership.state == 'cancel':
partner.memebership_status = 'Membership Cancelled'
elif last_membership.state == 'confirm':
if not last_membership.invoice_id and not last_membership.is_free:
partner.memebership_status = 'Membership Waiting for Invoice'
elif last_membership.invoice_id.payment_state in ['paid', 'in_payment']:
partner.memebership_status = 'Membership Paid'
elif last_membership.invoice_id.payment_state not in ['paid', 'in_payment']:
partner.memebership_status = 'Membership Waiting for Payment'
# If no active or draft memberships exist, check for expiration
if not partner.memebership_status and partner.is_membership_expire:
partner.memebership_status = 'Membership Expire'
##############################################################################################################################################