From fe370800e5ce1bea98832259b96e2cf55e0405a5 Mon Sep 17 00:00:00 2001
From: zainab2097 <149927291+zainab2097@users.noreply.github.com>
Date: Thu, 8 Aug 2024 13:05:45 +0300
Subject: [PATCH 01/18] Update res_partner.py
---
.../dev_membership/models/res_partner.py | 77 +++++++++++--------
1 file changed, 44 insertions(+), 33 deletions(-)
diff --git a/odex25_sales/dev_membership/models/res_partner.py b/odex25_sales/dev_membership/models/res_partner.py
index 0ccff0170..9cd8ec49a 100644
--- a/odex25_sales/dev_membership/models/res_partner.py
+++ b/odex25_sales/dev_membership/models/res_partner.py
@@ -44,38 +44,17 @@ class PartnerExtended(models.Model):
for rec in self:
if rec.active_membership_id:
print('if in.....')
- # todo end
- def check_memebership_status(self):
- for partner in self:
- partner.memebership_status = ''
- if partner.membership_count == 0:
- partner.memebership_status = 'No Membership'
-
- else:
- if partner.active_membership_id:
- partner.memebership_status = 'Membership : ' + partner.active_membership_id.name
- else:
- # البحث عن حالة الاشتراك الأخيرة
- last_membership = self.env['dev.membership'].search([('partner_id', '=', partner.id)], order='to_date desc', limit=1)
- print('last_membership = ',last_membership)
- 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'
-##############################################################################################################################################
- # if partner.is_membership_expire:
- # partner.memebership_status = 'Membership Expire'
- # else:
- if partner.active_membership_id:
- partner.memebership_status = 'Membership : ' + partner.active_membership_id.name
+ # def check_memebership_status(self):
+ # for partner in self:
+ # partner.memebership_status = ''
+ # if partner.membership_count == 0:
+ # partner.memebership_status = 'No Membership'
+ # else:
+ # if partner.is_membership_expire:
+ # partner.memebership_status = 'Membership Expire'
+ # else:
+ # if partner.active_membership_id:
+ # partner.memebership_status = 'Membership : ' + partner.active_membership_id.name
def check_active_membership(self):
for partner in self:
@@ -92,6 +71,38 @@ class PartnerExtended(models.Model):
else:
partner.is_membership_expire = True
+
+ # todo end
+ def check_memebership_status(self):
+ for partner in self:
+ partner.memebership_status = ''
+ if partner.membership_count == 0:
+ partner.memebership_status = 'No Membership'
+ else:
+ if partner.is_membership_expire:
+ partner.memebership_status = 'Membership Expire'
+ else:
+ if partner.active_membership_id:
+ partner.memebership_status = 'Membership : ' + partner.active_membership_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'
+ ##############################################################################################################################################
+
+
def _get_membership_count(self):
for rec in self:
membership_count = self.env['dev.membership'].search_count([('partner_id', '=', rec.id)])
@@ -107,4 +118,4 @@ class PartnerExtended(models.Model):
'view_mode': 'tree,form',
'target': 'current',
'context': ctx,
- }
\ No newline at end of file
+ }
From 7ef300ab7cb718881f4cfedc433992a2b2fff8f4 Mon Sep 17 00:00:00 2001
From: zainab2097 <149927291+zainab2097@users.noreply.github.com>
Date: Thu, 8 Aug 2024 13:07:32 +0300
Subject: [PATCH 02/18] Update dev_membership.py
---
odex25_sales/dev_membership/models/dev_membership.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/odex25_sales/dev_membership/models/dev_membership.py b/odex25_sales/dev_membership/models/dev_membership.py
index 6a18374a1..22799cbec 100644
--- a/odex25_sales/dev_membership/models/dev_membership.py
+++ b/odex25_sales/dev_membership/models/dev_membership.py
@@ -148,10 +148,10 @@ class DevMembership(models.Model):
if self.product_id.nationality_ids:
if self.partner_id.nationality_id not in self.product_id.nationality_ids:
raise ValidationError(_("The member's nationality does not meet the membership requirements"))
- if self.partner_id.age < 18:
- raise ValidationError(_('The member must be at least 18 years old.'))
+ if self.product_id.age!=0 and self.partner_id.age !=self.product_id.age:
+ raise ValidationError(_('The member must be at least %s years old.')%self.product_id.age)
if self.partner_id.gender != self.product_id.gender and self.product_id.gender != False:
- raise ValidationError(_('Membership is only allowed for %s') % self.product_id.gender)
+ raise ValidationError(_('Membership is only %s allowed') % self.product_id.gender)
From 6ba235438b23c8dd3831e0fc386c0d3a2f6369c6 Mon Sep 17 00:00:00 2001
From: zainab2097 <149927291+zainab2097@users.noreply.github.com>
Date: Thu, 8 Aug 2024 13:10:33 +0300
Subject: [PATCH 03/18] Update partner_extended.xml
---
odex25_sales/dev_membership/views/partner_extended.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/odex25_sales/dev_membership/views/partner_extended.xml b/odex25_sales/dev_membership/views/partner_extended.xml
index 439dc2e0d..658b9b79b 100644
--- a/odex25_sales/dev_membership/views/partner_extended.xml
+++ b/odex25_sales/dev_membership/views/partner_extended.xml
@@ -48,6 +48,7 @@