Address and contact creation from opportunity #1570

This commit is contained in:
Nabin Hait 2014-05-02 11:42:24 +05:30
parent 92c4fc4e19
commit 1e6c32e95f
2 changed files with 19 additions and 18 deletions

View File

@ -1,35 +1,36 @@
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors // Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt // License: GNU General Public License v3. See license.txt
cur_frm.cscript.onload = function(doc, cdt, cdn) { cur_frm.cscript.onload = function(doc, cdt, cdn) {
cur_frm.add_fetch('customer', 'customer_name', 'customer_name'); cur_frm.add_fetch('customer', 'customer_name', 'customer_name');
cur_frm.add_fetch('supplier', 'supplier_name', 'supplier_name'); cur_frm.add_fetch('supplier', 'supplier_name', 'supplier_name');
cur_frm.fields_dict.customer.get_query = erpnext.queries.customer; cur_frm.fields_dict.customer.get_query = erpnext.queries.customer;
cur_frm.fields_dict.supplier.get_query = erpnext.queries.supplier; cur_frm.fields_dict.supplier.get_query = erpnext.queries.supplier;
if(cur_frm.fields_dict.lead) { if(cur_frm.fields_dict.lead) {
cur_frm.fields_dict.lead.get_query = erpnext.queries.lead; cur_frm.fields_dict.lead.get_query = erpnext.queries.lead;
cur_frm.add_fetch('lead', 'lead_name', 'lead_name'); cur_frm.add_fetch('lead', 'lead_name', 'lead_name');
} }
if(doc.__islocal) { if(doc.__islocal) {
var last_route = frappe.route_history.slice(-2, -1)[0]; var last_route = frappe.route_history.slice(-2, -1)[0];
if(last_route && last_route[0]==="Form") { if(last_route && last_route[0]==="Form") {
var doctype = last_route[1], var doctype = last_route[1],
docname = last_route.slice(2).join("/"); docname = last_route.slice(2).join("/");
if(["Customer", "Quotation", "Sales Order", "Sales Invoice", "Delivery Note", if(["Customer", "Quotation", "Sales Order", "Sales Invoice", "Delivery Note",
"Installation Note", "Opportunity", "Customer Issue", "Maintenance Visit", "Installation Note", "Opportunity", "Customer Issue", "Maintenance Visit",
"Maintenance Schedule"] "Maintenance Schedule"]
.indexOf(doctype)!==-1) { .indexOf(doctype)!==-1) {
var refdoc = frappe.get_doc(doctype, docname); var refdoc = frappe.get_doc(doctype, docname);
if((refdoc.doctype == "Quotation" && refdoc.quotation_to=="Customer") ||
if(refdoc.doctype == "Quotation" ? refdoc.quotation_to=="Customer" : true) { (refdoc.doctype == "Opportunity" && refdoc.enquiry_from=="Customer") ||
cur_frm.set_value("customer", refdoc.customer || refdoc.name); !in_list(["Opportunity", "Quotation"], doctype)) {
cur_frm.set_value("customer_name", refdoc.customer_name); cur_frm.set_value("customer", refdoc.customer || refdoc.name);
if(cur_frm.doc.doctype==="Address") cur_frm.set_value("customer_name", refdoc.customer_name);
cur_frm.set_value("address_title", cur_frm.doc.customer_name); if(cur_frm.doc.doctype==="Address")
cur_frm.set_value("address_title", cur_frm.doc.customer_name);
} }
} }
if(["Supplier", "Supplier Quotation", "Purchase Order", "Purchase Invoice", "Purchase Receipt"] if(["Supplier", "Supplier Quotation", "Purchase Order", "Purchase Invoice", "Purchase Receipt"]
@ -40,15 +41,16 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) {
if(cur_frm.doc.doctype==="Address") if(cur_frm.doc.doctype==="Address")
cur_frm.set_value("address_title", cur_frm.doc.supplier_name); cur_frm.set_value("address_title", cur_frm.doc.supplier_name);
} }
if(["Lead", "Quotation"] if(["Lead", "Opportunity", "Quotation"]
.indexOf(doctype)!==-1) { .indexOf(doctype)!==-1) {
var refdoc = frappe.get_doc(doctype, docname); var refdoc = frappe.get_doc(doctype, docname);
if(refdoc.doctype == "Quotation" ? refdoc.quotation_to=="Lead" : true) { if((refdoc.doctype == "Quotation" && refdoc.quotation_to=="Lead") ||
cur_frm.set_value("lead", refdoc.lead || refdoc.name); (refdoc.doctype == "Opportunity" && refdoc.enquiry_from=="Lead") || (doctype=="Lead")) {
cur_frm.set_value("lead_name", refdoc.customer_name || refdoc.company_name || refdoc.lead_name); cur_frm.set_value("lead", refdoc.lead || refdoc.name);
if(cur_frm.doc.doctype==="Address") cur_frm.set_value("lead_name", refdoc.customer_name || refdoc.company_name || refdoc.lead_name);
cur_frm.set_value("address_title", cur_frm.doc.lead_name); if(cur_frm.doc.doctype==="Address")
cur_frm.set_value("address_title", cur_frm.doc.lead_name);
} }
} }
} }

View File

@ -55,7 +55,6 @@ class Warehouse(Document):
}) })
ac_doc.ignore_permissions = True ac_doc.ignore_permissions = True
ac_doc.insert() ac_doc.insert()
msgprint(_("Account head {0} created").format(ac_doc.name)) msgprint(_("Account head {0} created").format(ac_doc.name))
def validate_parent_account(self): def validate_parent_account(self):