mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-16 08:47:33 +00:00
setting end date in email campaign
This commit is contained in:
@@ -27,7 +27,7 @@ class EmailCampaign(Document):
|
||||
for entry in campaign.get("campaign_schedules"):
|
||||
send_after_days.append(entry.send_after_days)
|
||||
try:
|
||||
end_date = add_days(getdate(self.start_date), max(send_after_days))
|
||||
self.end_date = add_days(getdate(self.start_date), max(send_after_days))
|
||||
except ValueError:
|
||||
frappe.throw(_("Please set up the Campaign Schedule in the Campaign {0}").format(self.campaign_name))
|
||||
|
||||
|
||||
@@ -658,3 +658,4 @@ erpnext.patches.v12_0.rename_mws_settings_fields
|
||||
erpnext.patches.v12_0.set_correct_status_for_expense_claim
|
||||
erpnext.patches.v12_0.set_updated_purpose_in_pick_list
|
||||
erpnext.patches.v12_0.repost_stock_ledger_entries_for_target_warehouse
|
||||
erpnext.patches.v12_0.update_end_date_and_status_in_email
|
||||
|
||||
26
erpnext/patches/v12_0/update_end_date_and_status_in_email.py
Normal file
26
erpnext/patches/v12_0/update_end_date_and_status_in_email.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.utils import add_days, getdate, today
|
||||
|
||||
def execute():
|
||||
email_campaign = frappe.get_all('Email Campaign')
|
||||
if not email_campaign:
|
||||
return
|
||||
for campaign in email_campaign:
|
||||
doc = frappe.get_doc("Email Campaign",campaign["name"])
|
||||
send_after_days = []
|
||||
|
||||
camp = frappe.get_doc("Campaign", doc.campaign_name)
|
||||
for entry in camp.get("campaign_schedules"):
|
||||
send_after_days.append(entry.send_after_days)
|
||||
if send_after_days:
|
||||
end_date = add_days(getdate(doc.start_date), max(send_after_days))
|
||||
doc.db_set("end_date", end_date)
|
||||
today_date = getdate(today())
|
||||
if doc.start_date > today_date:
|
||||
doc.db_set("status", "Scheduled")
|
||||
elif end_date >= today_date:
|
||||
doc.db_set("status", "In Progress")
|
||||
elif end_date < today_date:
|
||||
doc.db_set("status", "Completed")
|
||||
frappe.db.commit()
|
||||
Reference in New Issue
Block a user