[newsletter-list] fixes, patch fix

This commit is contained in:
Rushabh Mehta 2015-03-20 14:08:46 +05:30
parent 2b2b639492
commit a7e21eb484
3 changed files with 46 additions and 2 deletions

View File

@ -21,6 +21,22 @@ frappe.ui.form.on("Newsletter List", "refresh", function(frm) {
}, __("Import Subscribers"), __("Import"));
});
frm.add_custom_button(__("Add Subscribers"), function() {
frappe.prompt({fieldtype:"Text",
label:__("Email Ids"), fieldname:"email_list", reqd:1}, function(data) {
frappe.call({
method: "erpnext.crm.doctype.newsletter_list.newsletter_list.add_subscribers",
args: {
"name": frm.doc.name,
"email_list": data.email_list
},
callback: function(r) {
frm.set_value("total_subscribers", r.message);
}
})
}, __("Add Subscribers"), __("Add"));
});
frm.add_custom_button(__("New Newsletter"), function() {
frappe.route_options = {"newsletter_list": frm.doc.name};
new_doc("Newsletter");

View File

@ -5,6 +5,8 @@
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
from frappe.utils import validate_email_add
from frappe import _
class NewsletterList(Document):
def onload(self):
@ -35,7 +37,7 @@ class NewsletterList(Document):
if e.args[0]!=1062:
raise
frappe.msgprint(frappe._("{0} subscribers added").format(added))
frappe.msgprint(_("{0} subscribers added").format(added))
return self.update_total_subscribers()
@ -50,3 +52,29 @@ def import_from(name, doctype):
nlist = frappe.get_doc("Newsletter List", name)
if nlist.has_permission("write"):
return nlist.import_from(doctype)
@frappe.whitelist()
def add_subscribers(name, email_list):
count = 0
for email in email_list.replace(",", "\n").split("\n"):
email = email.strip()
if not validate_email_add(email):
frappe.throw(_("Invalid Email '{0}'").format(email))
if email:
try:
frappe.get_doc({
"doctype": "Newsletter List Subscriber",
"newsletter_list": name,
"email": email
}).insert()
count += 1
except Exception, e:
# ignore duplicate
if e.args[0] != 1062:
raise
frappe.msgprint(_("{0} subscribers added").format(count))
return frappe.get_doc("Newsletter List", name).update_total_subscribers()

View File

@ -1,5 +1,5 @@
import frappe
def execute():
if frappe.db.table_exists("tabCustomer Issue"):
if frappe.db.table_exists("Customer Issue"):
frappe.rename_doc("DocType", "Customer Issue", "Warranty Claim")