mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 08:24:47 +00:00
[fixes] filter on supplier list for DropShip, checking closed status
This commit is contained in:
@@ -22,7 +22,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
||||
if(doc.status != 'Stopped' && doc.status != 'Closed') {
|
||||
|
||||
$.each(cur_frm.doc.items, function(i, item){
|
||||
if(item.is_drop_ship == 1){
|
||||
if(item.is_drop_ship == 1 || item.supplier){
|
||||
flag_drop_ship = true;
|
||||
}
|
||||
else{
|
||||
@@ -68,7 +68,7 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
||||
}
|
||||
|
||||
if(flt(doc.per_ordered, 2) < 100 && flag_drop_ship)
|
||||
cur_frm.add_custom_button(__('Make Shipment'), cur_frm.cscript.make_drop_shipment).addClass("btn-primary");
|
||||
cur_frm.add_custom_button(__('Make Purchase Order'), cur_frm.cscript.make_purchase_order).addClass("btn-primary");
|
||||
|
||||
} else {
|
||||
// un-stop
|
||||
@@ -166,12 +166,17 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
||||
}
|
||||
});
|
||||
},
|
||||
make_drop_shipment: function(){
|
||||
make_purchase_order: function(){
|
||||
var dialog = new frappe.ui.Dialog({
|
||||
title: __("For Supplier"),
|
||||
fields: [
|
||||
{"fieldtype": "Link", "label": __("Supplier"), "fieldname": "supplier", "options":"Supplier",
|
||||
"reqd": 1 },
|
||||
"get_query": function () {
|
||||
return {
|
||||
query:"erpnext.selling.doctype.sales_order.sales_order.get_supplier",
|
||||
filters: {'parent': cur_frm.doc.name}
|
||||
}
|
||||
}, "reqd": 1 },
|
||||
{"fieldtype": "Button", "label": __("Proceed"), "fieldname": "proceed"},
|
||||
]
|
||||
});
|
||||
|
||||
@@ -495,6 +495,8 @@ def make_drop_shipment(source_name, for_supplier, target_doc=None):
|
||||
set_missing_values(source, target)
|
||||
|
||||
def set_missing_values(source, target):
|
||||
target.supplier = for_supplier
|
||||
target.buying_price_list = frappe.get_value("Supplier", for_supplier, "default_price_list") or 'Standard Buying'
|
||||
target.address_display = ""
|
||||
target.contact_display = ""
|
||||
target.contact_mobile = ""
|
||||
@@ -547,3 +549,32 @@ def make_drop_shipment(source_name, for_supplier, target_doc=None):
|
||||
|
||||
|
||||
return doclist
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_supplier(doctype, txt, searchfield, start, page_len, filters):
|
||||
supp_master_name = frappe.defaults.get_user_default("supp_master_name")
|
||||
if supp_master_name == "Supplier Name":
|
||||
fields = ["name", "supplier_type"]
|
||||
else:
|
||||
fields = ["name", "supplier_name", "supplier_type"]
|
||||
fields = ", ".join(fields)
|
||||
|
||||
return frappe.db.sql("""select {field} from `tabSupplier`
|
||||
where docstatus < 2
|
||||
and ({key} like %(txt)s
|
||||
or supplier_name like %(txt)s)
|
||||
and name in (select supplier from `tabSales Order Item` where parent = %(parent)s)
|
||||
order by
|
||||
if(locate(%(_txt)s, name), locate(%(_txt)s, name), 99999),
|
||||
if(locate(%(_txt)s, supplier_name), locate(%(_txt)s, supplier_name), 99999),
|
||||
name, supplier_name
|
||||
limit %(start)s, %(page_len)s """.format(**{
|
||||
'field': fields,
|
||||
'key': searchfield
|
||||
}), {
|
||||
'txt': "%%%s%%" % txt,
|
||||
'_txt': txt.replace("%", ""),
|
||||
'start': start,
|
||||
'page_len': page_len,
|
||||
'parent': filters.get('parent')
|
||||
})
|
||||
Reference in New Issue
Block a user