Merge branch 'responsive' of git://github.com/webnotes/erpnext into responsive
This commit is contained in:
commit
a35d647b56
@ -105,29 +105,9 @@ cur_frm.cscript['Create Customer'] = function(){
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create New Opportunity
|
|
||||||
// ===============================================================
|
|
||||||
cur_frm.cscript['Create Opportunity'] = function(){
|
cur_frm.cscript['Create Opportunity'] = function(){
|
||||||
var doc = cur_frm.doc;
|
wn.model.open_mapped_doc({
|
||||||
$c('runserverobj',args={ 'method':'check_status', 'docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
|
method: "selling.doctype.lead.lead.make_opportunity",
|
||||||
function(r,rt){
|
source_name: cur_frm.doc.name
|
||||||
if(r.message == 'Converted'){
|
})
|
||||||
msgprint("This lead is now converted to customer. Please create enquiry on behalf of customer");
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
n = wn.model.make_new_doc_and_get_name("Opportunity");
|
|
||||||
$c('dt_map', args={
|
|
||||||
'docs':wn.model.compress([locals["Opportunity"][n]]),
|
|
||||||
'from_doctype':'Lead',
|
|
||||||
'to_doctype':'Opportunity',
|
|
||||||
'from_docname':doc.name,
|
|
||||||
'from_to_list':"[['Lead', 'Opportunity']]"
|
|
||||||
}
|
|
||||||
, function(r,rt) {
|
|
||||||
loaddoc("Opportunity", n);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
@ -101,9 +101,6 @@ class DocType(SellingController):
|
|||||||
def make_customer(source_name, target_doclist=None):
|
def make_customer(source_name, target_doclist=None):
|
||||||
from webnotes.model.mapper import get_mapped_doclist
|
from webnotes.model.mapper import get_mapped_doclist
|
||||||
|
|
||||||
if target_doclist:
|
|
||||||
target_doclist = json.loads(target_doclist)
|
|
||||||
|
|
||||||
doclist = get_mapped_doclist("Lead", source_name,
|
doclist = get_mapped_doclist("Lead", source_name,
|
||||||
{"Lead": {
|
{"Lead": {
|
||||||
"doctype": "Customer",
|
"doctype": "Customer",
|
||||||
@ -116,3 +113,19 @@ def make_customer(source_name, target_doclist=None):
|
|||||||
}}, target_doclist)
|
}}, target_doclist)
|
||||||
|
|
||||||
return [d.fields for d in doclist]
|
return [d.fields for d in doclist]
|
||||||
|
|
||||||
|
@webnotes.whitelist()
|
||||||
|
def make_opportunity(source_name, target_doclist=None):
|
||||||
|
from webnotes.model.mapper import get_mapped_doclist
|
||||||
|
|
||||||
|
doclist = get_mapped_doclist("Lead", source_name,
|
||||||
|
{"Lead": {
|
||||||
|
"doctype": "Opportunity",
|
||||||
|
"field_map": {
|
||||||
|
"campaign_name": "campaign",
|
||||||
|
"doctype": "enquiry_from",
|
||||||
|
"name": "lead",
|
||||||
|
}
|
||||||
|
}}, target_doclist)
|
||||||
|
|
||||||
|
return [d.fields for d in doclist]
|
||||||
@ -195,21 +195,10 @@ cur_frm.cscript.make_maintenance_visit = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cur_frm.cscript['Make Material Request'] = function() {
|
cur_frm.cscript['Make Material Request'] = function() {
|
||||||
var doc = cur_frm.doc;
|
wn.model.open_mapped_doc({
|
||||||
if (doc.docstatus == 1) {
|
method: "selling.doctype.sales_order.sales_order.make_material_request",
|
||||||
n = wn.model.make_new_doc_and_get_name("Material Request");
|
source_name: cur_frm.doc.name
|
||||||
$c('dt_map', args={
|
})
|
||||||
'docs':wn.model.compress([locals["Material Request"][n]]),
|
|
||||||
'from_doctype':'Sales Order',
|
|
||||||
'to_doctype':'Material Request',
|
|
||||||
'from_docname':doc.name,
|
|
||||||
'from_to_list':"[['Sales Order', 'Material Request'], ['Sales Order Item', 'Material Request Item']]"
|
|
||||||
}
|
|
||||||
, function(r,rt) {
|
|
||||||
loaddoc("Material Request", n);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -379,3 +379,30 @@ def get_currency_and_number_format():
|
|||||||
"currency_symbols": json.dumps(dict(webnotes.conn.sql("""select name, symbol
|
"currency_symbols": json.dumps(dict(webnotes.conn.sql("""select name, symbol
|
||||||
from tabCurrency where ifnull(enabled,0)=1""")))
|
from tabCurrency where ifnull(enabled,0)=1""")))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@webnotes.whitelist()
|
||||||
|
def make_material_request(source_name, target_doclist=None):
|
||||||
|
from webnotes.model.mapper import get_mapped_doclist
|
||||||
|
|
||||||
|
def postprocess(source, doclist):
|
||||||
|
doclist[0].material_request_type = "Purchase"
|
||||||
|
|
||||||
|
doclist = get_mapped_doclist("Sales Order", source_name, {
|
||||||
|
"Sales Order": {
|
||||||
|
"doctype": "Material Request",
|
||||||
|
"validation": {
|
||||||
|
"docstatus": ["=", 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Sales Order Item": {
|
||||||
|
"doctype": "Material Request Item",
|
||||||
|
"field_map": {
|
||||||
|
"parent": "sales_order_no",
|
||||||
|
"reserved_warehouse": "warehouse",
|
||||||
|
"stock_uom": "uom"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, target_doclist, postprocess)
|
||||||
|
|
||||||
|
return [d.fields for d in doclist]
|
||||||
|
|
||||||
@ -3,6 +3,19 @@ from webnotes.utils import flt
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
class TestSalesOrder(unittest.TestCase):
|
class TestSalesOrder(unittest.TestCase):
|
||||||
|
def test_make_material_request(self):
|
||||||
|
from selling.doctype.sales_order.sales_order import make_material_request
|
||||||
|
|
||||||
|
self.assertRaises(webnotes.ValidationError, make_material_request,
|
||||||
|
"_T-Sales Order-00001")
|
||||||
|
|
||||||
|
sales_order = webnotes.bean("Sales Order", "_T-Sales Order-00001")
|
||||||
|
sales_order.submit()
|
||||||
|
mr = make_material_request("_T-Sales Order-00001")
|
||||||
|
|
||||||
|
self.assertEquals(mr[0]["material_request_type"], "Purchase")
|
||||||
|
self.assertEquals(len(mr), len(sales_order.doclist))
|
||||||
|
|
||||||
def create_so(self, so_doclist = None):
|
def create_so(self, so_doclist = None):
|
||||||
if not so_doclist:
|
if not so_doclist:
|
||||||
so_doclist =test_records[0]
|
so_doclist =test_records[0]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user