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 @@ + @@ -133,7 +134,7 @@
- +
From 697128885132b6268d3e3bb6efb5b4d05d081ea6 Mon Sep 17 00:00:00 2001 From: zainab2097 <149927291+zainab2097@users.noreply.github.com> Date: Thu, 8 Aug 2024 13:14:13 +0300 Subject: [PATCH 04/18] Update dev_membership.py --- odex25_sales/dev_membership/models/dev_membership.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/odex25_sales/dev_membership/models/dev_membership.py b/odex25_sales/dev_membership/models/dev_membership.py index 22799cbec..66631765f 100644 --- a/odex25_sales/dev_membership/models/dev_membership.py +++ b/odex25_sales/dev_membership/models/dev_membership.py @@ -152,11 +152,8 @@ class DevMembership(models.Model): 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 %s allowed') % self.product_id.gender) - - - - self.state = 'confirm' + def action_active_membership(self): if not self.invoice_id and not self.is_free: raise ValidationError(_('Please Create Membership Invoice')) @@ -166,6 +163,8 @@ class DevMembership(models.Model): self.partner_id.product_id = self.product_id.id if not self.partner_id.join_date: self.partner_id.join_date = self.from_date + if not self.partner_id.memebership_end_date: + self.partner_id.memebership_end_date = self.to_date def action_cancel_membership(self): self.state = 'cancel' From 4cb72d216faf3e7111a34a3da55f1fc5a6c99c65 Mon Sep 17 00:00:00 2001 From: zainab2097 <149927291+zainab2097@users.noreply.github.com> Date: Thu, 8 Aug 2024 13:20:50 +0300 Subject: [PATCH 05/18] Update partner_extended.xml --- odex25_sales/dev_membership/views/partner_extended.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/odex25_sales/dev_membership/views/partner_extended.xml b/odex25_sales/dev_membership/views/partner_extended.xml index 658b9b79b..46f940ee3 100644 --- a/odex25_sales/dev_membership/views/partner_extended.xml +++ b/odex25_sales/dev_membership/views/partner_extended.xml @@ -169,7 +169,7 @@ - + @@ -190,7 +190,7 @@ True -