Restrict Newsletter lists
diff --git a/erpnext/crm/doctype/newsletter_list/newsletter_list.py b/erpnext/crm/doctype/newsletter_list/newsletter_list.py
index c3604f8..68c445f 100644
--- a/erpnext/crm/doctype/newsletter_list/newsletter_list.py
+++ b/erpnext/crm/doctype/newsletter_list/newsletter_list.py
@@ -89,3 +89,14 @@
frappe.msgprint(_("{0} subscribers added").format(count))
return frappe.get_doc("Newsletter List", name).update_total_subscribers()
+
+def restrict_newsletter_list(doc, method):
+ from frappe.limits import get_limits
+
+ newsletter_list_limit = get_limits().get('newsletter_recipients')
+ if not newsletter_list_limit:
+ return
+
+ nl = frappe.get_doc("Newsletter List", doc.newsletter_list)
+ if nl.get_total_subscribers() >= newsletter_list_limit:
+ frappe.throw(_("Please Upgrade to add more than {0} subscribers").format(newsletter_list_limit))
\ No newline at end of file
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 2bb2ca6..0c8de2a 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -136,6 +136,10 @@
"validate": "erpnext.shopping_cart.cart.set_customer_in_address"
},
+ "Newsletter List Subscriber": {
+ "validate": "erpnext.crm.doctype.newsletter_list.newsletter_list.restrict_newsletter_list"
+ },
+
# bubble transaction notification on master
('Opportunity', 'Quotation', 'Sales Order', 'Delivery Note', 'Sales Invoice',
'Supplier Quotation', 'Purchase Order', 'Purchase Receipt',