diff --git a/odex25_sales/dev_membership/data/sequence.xml b/odex25_sales/dev_membership/data/sequence.xml
index 22d996421..8ffbe1772 100644
--- a/odex25_sales/dev_membership/data/sequence.xml
+++ b/odex25_sales/dev_membership/data/sequence.xml
@@ -58,19 +58,9 @@
code
model.membership_reminder_email_cron()
-
- Membership Partner Cancel Notify
-
- 1
- days
- -1
-
-
- code
- model.cancell_membership_reminder_email_cron()
-
+
- Membership User Cancel Notify
+ Membership User/Partner Cancel Notify
1
days
diff --git a/odex25_sales/dev_membership/models/dev_membership.py b/odex25_sales/dev_membership/models/dev_membership.py
index e3acd397d..2fb075ae1 100644
--- a/odex25_sales/dev_membership/models/dev_membership.py
+++ b/odex25_sales/dev_membership/models/dev_membership.py
@@ -233,49 +233,50 @@ class DevMembership(models.Model):
tmpl_id.send_mail(membership.id, force_send=True)
return True
- def cancell_membership_reminder_email_cron(self):
- membership_pool = self.env['dev.membership']
- tmpl_id = self.env.ref('dev_membership.dev_cancel_membership_expire')
- post_expiry_period = self.env['ir.config_parameter'].get_param('dev_membership.post_expiry_period')
- cancel_reason = self.env['ir.config_parameter'].get_param('dev_membership.cancellation_reason')
-
- if tmpl_id and post_expiry_period:
- try:
- post_expiry_period = int(post_expiry_period)
- except ValueError:
- post_expiry_period = 0 # تحديد فترة افتراضية أو التعامل مع الحالة بشكل آخر
-
- date = fields.Date.today() - relativedelta(days=post_expiry_period)
- membership_ids = membership_pool.search([
- ('state', '=', 'expire'),
- ('to_date', '<=', date),
- ('membership_id', '=', False)
- ])
- for membership in membership_ids:
- # Check if a cancellation request already exists
- existing_cancel_request = self.env['membership.cancellation.request'].search([
- ('membership_id', '=', membership.id),
- ('state', '=', 'draft')
- ], limit=1)
- if not existing_cancel_request:
- # Create a new cancellation request instead of canceling directly
- self.env['membership.cancellation.request'].create({
- 'membership_id': membership.id,
- 'member_id': membership.partner_id.id,
- 'request_date': fields.Datetime.now(),
- 'state': 'draft',
- 'cancel_reason': cancel_reason
- })
- tmpl_id.send_mail(membership.id, force_send=True)
- return True
+ # def cancell_membership_reminder_email_cron(self):
+ # membership_pool = self.env['dev.membership']
+ # tmpl_id = self.env.ref('dev_membership.dev_cancel_membership_expire')
+ # post_expiry_period = self.env['ir.config_parameter'].get_param('dev_membership.post_expiry_period')
+ # cancel_reason = self.env['ir.config_parameter'].get_param('dev_membership.cancellation_reason')
+ #
+ # if tmpl_id and post_expiry_period:
+ # try:
+ # post_expiry_period = int(post_expiry_period)
+ # except ValueError:
+ # post_expiry_period = 0 # تحديد فترة افتراضية أو التعامل مع الحالة بشكل آخر
+ #
+ # date = fields.Date.today() - relativedelta(days=post_expiry_period)
+ # membership_ids = membership_pool.search([
+ # ('state', '=', 'expire'),
+ # ('to_date', '<=', date),
+ # ('membership_id', '=', False)
+ # ])
+ # for membership in membership_ids:
+ # # Check if a cancellation request already exists
+ # existing_cancel_request = self.env['membership.cancellation.request'].search([
+ # ('membership_id', '=', membership.id),
+ # ('state', '=', 'draft')
+ # ], limit=1)
+ # if not existing_cancel_request:
+ # # Create a new cancellation request instead of canceling directly
+ # self.env['membership.cancellation.request'].create({
+ # 'membership_id': membership.id,
+ # 'member_id': membership.partner_id.id,
+ # 'request_date': fields.Datetime.now(),
+ # 'state': 'draft',
+ # 'cancel_reason': cancel_reason
+ # })
+ # tmpl_id.send_mail(membership.id, force_send=True)
+ # return True
def cancell2_membership_reminder_email_cron(self):
membership_pool = self.env['dev.membership']
tmpl_id = self.env.ref('dev_membership.dev_cancel_membership_expire2')
post_expiry_period = self.env['ir.config_parameter'].get_param('dev_membership.post_expiry_period')
cancel_reason = self.env['ir.config_parameter'].get_param('dev_membership.cancellation_reason')
+ tmpl_id2 = self.env.ref('dev_membership.dev_cancel_membership_expire')
- if tmpl_id and post_expiry_period:
+ if (tmpl_id or tmpl_id2) and post_expiry_period:
try:
post_expiry_period = int(post_expiry_period)
except ValueError:
@@ -301,56 +302,59 @@ class DevMembership(models.Model):
'state': 'draft',
'cancel_reason': cancel_reason
})
- tmpl_id.send_mail(membership.id, force_send=True)
+ if tmpl_id:
+ tmpl_id.send_mail(membership.id, force_send=True)
+ if tmpl_id2:
+ tmpl_id2.send_mail(membership.id, force_send=True)
return True
- def cancell_membership_reminder_email_cron(self):
- membership_pool = self.env['dev.membership']
- cancel_reason = self.env['ir.config_parameter'].get_param('dev_membership.cancellation_reason')
- tmpl_id = self.env.ref('dev_membership.dev_cancel_membership_expire')
- post_expiry_period = self.env['ir.config_parameter'].get_param('dev_membership.post_expiry_period')
- tmpl_id2 = self.env.ref('dev_membership.dev_cancel_membership_expire2')
- if tmpl_id:
- date = self.to_date+ relativedelta(days=int(post_expiry_period))
- membership_ids = membership_pool.search([('state', '=', 'expire'),
- ('to_date', '<=', date)])
- for membership in membership_ids:
- # Check if a cancellation request already exists
- existing_cancel_request = self.env['membership.cancellation.request'].search([
- ('membership_id', '=', membership.id),
- ('state', '=', 'draft')
- ], limit=1)
- if not existing_cancel_request:
- # Create a new cancellation request instead of canceling directly
- self.env['membership.cancellation.request'].create({
- 'membership_id': membership.id,
- 'member_id': membership.partner_id.id,
- 'request_date': fields.Datetime.now(),
- 'state': 'draft',
- 'cancel_reason': cancel_reason
- })
- tmpl_id.send_mail(membership.id, force_send=True)
- if tmpl_id2:
- date = self.to_date+ relativedelta(days=int(post_expiry_period))
- membership_ids = membership_pool.search([('state', '=', 'expire'),
- ('to_date', '<=', date)])
- for membership in membership_ids:
- # Check if a cancellation request already exists
- existing_cancel_request = self.env['membership.cancellation.request'].search([
- ('membership_id', '=', membership.id),
- ('state', '=', 'draft')
- ], limit=1)
- if not existing_cancel_request:
- # Create a new cancellation request instead of canceling directly
- self.env['membership.cancellation.request'].create({
- 'membership_id': membership.id,
- 'member_id': membership.partner_id.id,
- 'request_date': fields.Datetime.now(),
- 'state': 'draft',
- 'cancel_reason': cancel_reason
- })
- tmpl_id2.send_mail(membership.id, force_send=True)
- return True
+ # def cancell_membership_reminder_email_cron(self):
+ # membership_pool = self.env['dev.membership']
+ # cancel_reason = self.env['ir.config_parameter'].get_param('dev_membership.cancellation_reason')
+ # tmpl_id = self.env.ref('dev_membership.dev_cancel_membership_expire')
+ # post_expiry_period = self.env['ir.config_parameter'].get_param('dev_membership.post_expiry_period')
+ # tmpl_id2 = self.env.ref('dev_membership.dev_cancel_membership_expire2')
+ # if tmpl_id:
+ # date = self.to_date+ relativedelta(days=int(post_expiry_period))
+ # membership_ids = membership_pool.search([('state', '=', 'expire'),
+ # ('to_date', '<=', date)])
+ # for membership in membership_ids:
+ # # Check if a cancellation request already exists
+ # existing_cancel_request = self.env['membership.cancellation.request'].search([
+ # ('membership_id', '=', membership.id),
+ # ('state', '=', 'draft')
+ # ], limit=1)
+ # if not existing_cancel_request:
+ # # Create a new cancellation request instead of canceling directly
+ # self.env['membership.cancellation.request'].create({
+ # 'membership_id': membership.id,
+ # 'member_id': membership.partner_id.id,
+ # 'request_date': fields.Datetime.now(),
+ # 'state': 'draft',
+ # 'cancel_reason': cancel_reason
+ # })
+ # tmpl_id.send_mail(membership.id, force_send=True)
+ # if tmpl_id2:
+ # date = self.to_date+ relativedelta(days=int(post_expiry_period))
+ # membership_ids = membership_pool.search([('state', '=', 'expire'),
+ # ('to_date', '<=', date)])
+ # for membership in membership_ids:
+ # # Check if a cancellation request already exists
+ # existing_cancel_request = self.env['membership.cancellation.request'].search([
+ # ('membership_id', '=', membership.id),
+ # ('state', '=', 'draft')
+ # ], limit=1)
+ # if not existing_cancel_request:
+ # # Create a new cancellation request instead of canceling directly
+ # self.env['membership.cancellation.request'].create({
+ # 'membership_id': membership.id,
+ # 'member_id': membership.partner_id.id,
+ # 'request_date': fields.Datetime.now(),
+ # 'state': 'draft',
+ # 'cancel_reason': cancel_reason
+ # })
+ # tmpl_id2.send_mail(membership.id, force_send=True)
+ # return True
def membership_secand_reminder_email_cron(self):
membership_pool = self.env['dev.membership']
tmpl_id = self.env.ref('dev_membership.dev_membership_expire_second_reminder_mail_template')