[communications] [minor] Code cleanup so it can be extended by custom script

This commit is contained in:
Rushabh Mehta 2013-08-29 13:53:36 +05:30
parent 8ba2f6396b
commit 46ec268e9b
4 changed files with 14 additions and 19 deletions

View File

@ -9,17 +9,8 @@ from core.doctype.communication.communication import make
def add_sales_communication(subject, content, sender, real_name, mail=None, def add_sales_communication(subject, content, sender, real_name, mail=None,
status="Open", date=None): status="Open", date=None):
def set_status(doctype, name):
w = webnotes.bean(doctype, name)
w.ignore_permissions = True
w.doc.status = is_system_user and "Replied" or status
w.doc.save()
if mail:
mail.save_attachments_in_doc(w.doc)
lead_name = webnotes.conn.get_value("Lead", {"email_id": sender}) lead_name = webnotes.conn.get_value("Lead", {"email_id": sender})
contact_name = webnotes.conn.get_value("Contact", {"email_id": sender}) contact_name = webnotes.conn.get_value("Contact", {"email_id": sender})
is_system_user = webnotes.conn.get_value("Profile", sender)
if not (lead_name or contact_name): if not (lead_name or contact_name):
# none, create a new Lead # none, create a new Lead
@ -34,14 +25,13 @@ def add_sales_communication(subject, content, sender, real_name, mail=None,
lead.insert() lead.insert()
lead_name = lead.doc.name lead_name = lead.doc.name
make(content=content, sender=sender, subject=subject, message = make(content=content, sender=sender, subject=subject,
lead=lead_name, contact=contact_name, date=date) lead=lead_name, contact=contact_name, date=date)
if contact_name: if mail:
set_status("Contact", contact_name) # save attachments to parent if from mail
elif lead_name: bean = webnotes.bean("Contact" if contact_name else "Lead", contact_name or lead_name)
set_status("Lead", lead_name) mail.save_attachments_in_doc(bean.doc)
class SalesMailbox(POP3Mailbox): class SalesMailbox(POP3Mailbox):
def setup(self, args=None): def setup(self, args=None):

View File

@ -7,7 +7,7 @@ from webnotes.utils import cstr
from utilities.transaction_base import TransactionBase from utilities.transaction_base import TransactionBase
class DocType(TransactionBase): class DocType(TransactionBase):
def __init__(self, doc, doclist=[]): def __init__(self, doc, doclist=[]):
self.doc = doc self.doc = doc
self.doclist = doclist self.doclist = doclist

View File

@ -20,7 +20,7 @@ def send_message(subject="Website Query", message="", sender="", status="Open"):
# make lead / communication # make lead / communication
from selling.doctype.lead.get_leads import add_sales_communication from selling.doctype.lead.get_leads import add_sales_communication
add_sales_communication(subject or "Website Query", message, sender, sender, message = add_sales_communication(subject or "Website Query", message, sender, sender,
mail=None, status=status) mail=None, status=status)
# guest method, cap max writes per hour # guest method, cap max writes per hour
@ -29,4 +29,4 @@ def send_message(subject="Website Query", message="", sender="", status="Open"):
webnotes.response["message"] = "Sorry: we believe we have received an unreasonably high number of requests of this kind. Please try later" webnotes.response["message"] = "Sorry: we believe we have received an unreasonably high number of requests of this kind. Please try later"
return return
webnotes.response["message"] = 'Thank You' webnotes.response.status = "okay"

View File

@ -26,7 +26,12 @@ $(document).ready(function() {
sender: email, sender: email,
message: message, message: message,
callback: function(r) { callback: function(r) {
msgprint(r.message); if(r.status==="okay") {
msgprint(r.message or "Sent")
} else {
msgprint("There were errors");
console.log(r.exc);
}
$(':input').val(''); $(':input').val('');
} }
}); });