[minor] [fix] opportunity form, queries, stock uom replace utility
This commit is contained in:
parent
4daf3dd8a8
commit
61cad5076b
@ -2,11 +2,11 @@ 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.utils.customer_query;
|
cur_frm.fields_dict.customer.get_query = erpnext.queries.customer;
|
||||||
cur_frm.fields_dict.supplier.get_query = erpnext.utils.supplier_query;
|
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.utils.lead_query;
|
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');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,20 +145,6 @@ def supplier_query(doctype, txt, searchfield, start, page_len, filters):
|
|||||||
'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield), 'start': start,
|
'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield), 'start': start,
|
||||||
'page_len': page_len})
|
'page_len': page_len})
|
||||||
|
|
||||||
def item_std(doctype, txt, searchfield, start, page_len, filters):
|
|
||||||
return webnotes.conn.sql("""select tabItem.name,
|
|
||||||
if(length(tabItem.item_name) > 40,
|
|
||||||
concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name,
|
|
||||||
if(length(tabItem.description) > 40,
|
|
||||||
concat(substr(tabItem.description, 1, 40), "..."), description) as decription
|
|
||||||
FROM tabItem
|
|
||||||
WHERE tabItem.docstatus!=2
|
|
||||||
and tabItem.%(key)s LIKE "%(txt)s"
|
|
||||||
%(mcond)s
|
|
||||||
limit %(start)s, %(page_len)s """ % {'key': searchfield, 'txt': "%%%s%%" % txt,
|
|
||||||
'mcond':get_match_cond(doctype, searchfield), 'start': start,
|
|
||||||
'page_len': page_len})
|
|
||||||
|
|
||||||
def account_query(doctype, txt, searchfield, start, page_len, filters):
|
def account_query(doctype, txt, searchfield, start, page_len, filters):
|
||||||
conditions = []
|
conditions = []
|
||||||
if not filters:
|
if not filters:
|
||||||
|
@ -15,154 +15,51 @@
|
|||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// searches for enabled profiles
|
// searches for enabled profiles
|
||||||
wn.provide("erpnext.utils");
|
|
||||||
erpnext.utils.profile_query = function() {
|
|
||||||
return "select name, concat_ws(' ', first_name, middle_name, last_name) \
|
|
||||||
from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \
|
|
||||||
name not in ('Administrator', 'Guest') and (%(key)s like \"%s\" or \
|
|
||||||
concat_ws(' ', first_name, middle_name, last_name) like \"%%%s\") \
|
|
||||||
order by \
|
|
||||||
case when name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when concat_ws(' ', first_name, middle_name, last_name) like \"%s%%\" \
|
|
||||||
then 0 else 1 end, \
|
|
||||||
name asc limit 50";
|
|
||||||
};
|
|
||||||
|
|
||||||
// searches for active employees
|
|
||||||
erpnext.utils.employee_query = function() {
|
|
||||||
return "select name, employee_name from `tabEmployee` \
|
|
||||||
where status = 'Active' and docstatus < 2 and \
|
|
||||||
(%(key)s like \"%s\" or employee_name like \"%%%s\") \
|
|
||||||
order by \
|
|
||||||
case when name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when employee_name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
name limit 50";
|
|
||||||
};
|
|
||||||
|
|
||||||
// searches for leads which are not converted
|
|
||||||
erpnext.utils.lead_query = function() {
|
|
||||||
return "select name, lead_name, company_name from `tabLead` \
|
|
||||||
where docstatus < 2 and ifnull(status, '') != 'Converted' and \
|
|
||||||
(%(key)s like \"%s\" or lead_name like \"%%%s\" or company_name like \"%%%s\") \
|
|
||||||
order by \
|
|
||||||
case when name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when lead_name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when company_name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
lead_name asc limit 50";
|
|
||||||
};
|
|
||||||
|
|
||||||
// searches for customer
|
|
||||||
erpnext.utils.customer_query = function() {
|
|
||||||
if(sys_defaults.cust_master_name == "Customer Name") {
|
|
||||||
var fields = ["name", "customer_group", "territory"];
|
|
||||||
} else {
|
|
||||||
var fields = ["name", "customer_name", "customer_group", "territory"];
|
|
||||||
}
|
|
||||||
|
|
||||||
return "select " + fields.join(", ") + " from `tabCustomer` where docstatus < 2 and \
|
|
||||||
(%(key)s like \"%s\" or customer_name like \"%%%s\") \
|
|
||||||
order by \
|
|
||||||
case when name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when customer_name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
name, customer_name limit 50";
|
|
||||||
};
|
|
||||||
|
|
||||||
// searches for supplier
|
|
||||||
erpnext.utils.supplier_query = function() {
|
|
||||||
if(sys_defaults.supp_master_name == "Supplier Name") {
|
|
||||||
var fields = ["name", "supplier_type"];
|
|
||||||
} else {
|
|
||||||
var fields = ["name", "supplier_name", "supplier_type"];
|
|
||||||
}
|
|
||||||
|
|
||||||
return "select " + fields.join(", ") + " from `tabSupplier` where docstatus < 2 and \
|
|
||||||
(%(key)s like \"%s\" or supplier_name like \"%%%s\") \
|
|
||||||
order by \
|
|
||||||
case when name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
case when supplier_name like \"%s%%\" then 0 else 1 end, \
|
|
||||||
name, supplier_name limit 50";
|
|
||||||
};
|
|
||||||
|
|
||||||
wn.provide("erpnext.queries");
|
wn.provide("erpnext.queries");
|
||||||
|
$.extend(erpnext.queries, {
|
||||||
erpnext.queries.get_conditions = function(doctype, opts) {
|
profile: function() {
|
||||||
conditions = [];
|
return { query: "controllers.queries.profile_query" };
|
||||||
if (opts) {
|
},
|
||||||
$.each(opts, function(key, val) {
|
|
||||||
var lhs = "`tab" + doctype + "`.`" + key + "`";
|
lead: function() {
|
||||||
|
return { query: "controllers.queries.lead_query" };
|
||||||
if(key.indexOf(doctype)!=-1) {
|
},
|
||||||
// with function
|
|
||||||
lhs = key;
|
customer: function() {
|
||||||
}
|
return { query: "controllers.queries.customer_query" };
|
||||||
|
},
|
||||||
if (esc_quotes(val).charAt(0) != "!")
|
|
||||||
conditions.push(lhs + "='"+esc_quotes(val)+"'");
|
supplier: function() {
|
||||||
else
|
return { query: "controllers.queries.supplier_query" };
|
||||||
conditions.push(lhs + "!='"+esc_quotes(val).substr(1)+"'");
|
},
|
||||||
});
|
|
||||||
}
|
account: function() {
|
||||||
return conditions;
|
return { query: "controllers.queries.account_query" };
|
||||||
}
|
},
|
||||||
|
|
||||||
erpnext.queries.account = function(opts) {
|
item: function() {
|
||||||
if(!opts)
|
return { query: "controllers.queries.item_query" };
|
||||||
opts = {};
|
},
|
||||||
if(!opts.group_or_ledger)
|
|
||||||
opts.group_or_ledger = "Ledger";
|
bom: function() {
|
||||||
|
return { query: "controllers.queries.bom" };
|
||||||
|
},
|
||||||
|
|
||||||
|
task: function() {
|
||||||
|
return { query: "projects.utils.query_task" };
|
||||||
|
},
|
||||||
|
|
||||||
|
customer_filter: function(doc) {
|
||||||
|
if(!doc.customer) {
|
||||||
|
wn.throw(wn._("Please specify a") + " " +
|
||||||
|
wn._(wn.meta.get_label(doc.doctype, "customer", doc.name)));
|
||||||
|
}
|
||||||
|
|
||||||
var conditions = erpnext.queries.get_conditions("Account", opts);
|
return { filters: { customer: doc.customer } };
|
||||||
|
},
|
||||||
|
|
||||||
return 'SELECT tabAccount.name, tabAccount.parent_account, tabAccount.debit_or_credit \
|
not_a_group_filter: function() {
|
||||||
FROM tabAccount \
|
return { filters: { is_group: "No" } };
|
||||||
WHERE tabAccount.docstatus!=2 \
|
},
|
||||||
AND tabAccount.%(key)s LIKE "%s" ' + (conditions
|
|
||||||
? (" AND " + conditions.join(" AND "))
|
|
||||||
: "")
|
|
||||||
+ " LIMIT 50"
|
|
||||||
}
|
|
||||||
|
|
||||||
erpnext.queries.item = function(opts) {
|
|
||||||
var conditions = erpnext.queries.get_conditions("Item", opts);
|
|
||||||
|
|
||||||
return 'SELECT tabItem.name, \
|
});
|
||||||
if(length(tabItem.item_name) > 40, \
|
|
||||||
concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, \
|
|
||||||
if(length(tabItem.description) > 40, \
|
|
||||||
concat(substr(tabItem.description, 1, 40), "..."), description) as decription \
|
|
||||||
FROM tabItem \
|
|
||||||
WHERE tabItem.docstatus!=2 \
|
|
||||||
AND (ifnull(`tabItem`.`end_of_life`,"") in ("", "0000-00-00") \
|
|
||||||
OR `tabItem`.`end_of_life` > NOW()) \
|
|
||||||
AND (tabItem.%(key)s LIKE \"%s\" OR tabItem.item_name LIKE \"%%%s\")' +
|
|
||||||
(conditions ? (" AND " + conditions.join(" AND ")) : "") + " LIMIT 50"
|
|
||||||
}
|
|
||||||
|
|
||||||
erpnext.queries.item_std = function() {
|
|
||||||
return 'SELECT tabItem.name, \
|
|
||||||
if(length(tabItem.item_name) > 40, \
|
|
||||||
concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, \
|
|
||||||
if(length(tabItem.description) > 40, \
|
|
||||||
concat(substr(tabItem.description, 1, 40), "..."), description) as decription \
|
|
||||||
FROM tabItem \
|
|
||||||
WHERE tabItem.docstatus!=2 \
|
|
||||||
AND tabItem.%(key)s LIKE "%s" LIMIT 50';
|
|
||||||
}
|
|
||||||
|
|
||||||
erpnext.queries.bom = function(opts) {
|
|
||||||
var conditions = erpnext.queries.get_conditions("BOM", opts);
|
|
||||||
|
|
||||||
return 'SELECT tabBOM.name, tabBOM.item \
|
|
||||||
FROM tabBOM \
|
|
||||||
WHERE tabBOM.docstatus=1 \
|
|
||||||
AND tabBOM.is_active=1 \
|
|
||||||
AND tabBOM.%(key)s LIKE "%s" ' + (conditions.length
|
|
||||||
? (" AND " + conditions.join(" AND "))
|
|
||||||
: "")
|
|
||||||
+ " LIMIT 50"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
erpnext.queries.task = function() {
|
|
||||||
return { query: "projects.utils.query_task" };
|
|
||||||
};
|
|
@ -19,6 +19,70 @@ wn.require('app/utilities/doctype/sms_control/sms_control.js');
|
|||||||
wn.provide("erpnext.selling");
|
wn.provide("erpnext.selling");
|
||||||
// TODO commonify this code
|
// TODO commonify this code
|
||||||
erpnext.selling.Opportunity = wn.ui.form.Controller.extend({
|
erpnext.selling.Opportunity = wn.ui.form.Controller.extend({
|
||||||
|
onload: function() {
|
||||||
|
if(!this.frm.doc.enquiry_from && this.frm.doc.customer)
|
||||||
|
this.frm.doc.enquiry_from = "Customer";
|
||||||
|
if(!this.frm.doc.enquiry_from && this.frm.doc.lead)
|
||||||
|
this.frm.doc.enquiry_from = "Lead";
|
||||||
|
|
||||||
|
if(!this.frm.doc.enquiry_from)
|
||||||
|
hide_field(['customer', 'customer_address', 'contact_person', 'customer_name','lead', 'address_display', 'contact_display', 'contact_mobile', 'contact_email', 'territory', 'customer_group']);
|
||||||
|
if(!this.frm.doc.status)
|
||||||
|
set_multiple(cdt,cdn,{status:'Draft'});
|
||||||
|
if(!this.frm.doc.date)
|
||||||
|
this.frm.doc.transaction_date = date.obj_to_str(new Date());
|
||||||
|
if(!this.frm.doc.company && sys_defaults.company)
|
||||||
|
set_multiple(cdt,cdn,{company:sys_defaults.company});
|
||||||
|
if(!this.frm.doc.fiscal_year && sys_defaults.fiscal_year)
|
||||||
|
set_multiple(cdt,cdn,{fiscal_year:sys_defaults.fiscal_year});
|
||||||
|
|
||||||
|
if(this.frm.doc.enquiry_from) {
|
||||||
|
if(this.frm.doc.enquiry_from == 'Customer') {
|
||||||
|
hide_field('lead');
|
||||||
|
}
|
||||||
|
else if (this.frm.doc.enquiry_from == 'Lead') {
|
||||||
|
hide_field(['customer', 'customer_address', 'contact_person', 'customer_group']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!this.frm.doc.__islocal) {
|
||||||
|
cur_frm.communication_view = new wn.views.CommunicationList({
|
||||||
|
list: wn.model.get("Communication", {"opportunity": this.frm.doc.name}),
|
||||||
|
parent: cur_frm.fields_dict.communication_html.wrapper,
|
||||||
|
doc: this.frm.doc,
|
||||||
|
recipients: this.frm.doc.contact_email
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.frm.doc.customer && !this.frm.doc.customer_name) cur_frm.cscript.customer(doc);
|
||||||
|
|
||||||
|
this.setup_queries();
|
||||||
|
},
|
||||||
|
|
||||||
|
setup_queries: function() {
|
||||||
|
var me = this;
|
||||||
|
|
||||||
|
if(this.frm.fields_dict.contact_by.df.options.match(/^Profile/)) {
|
||||||
|
this.frm.set_query("contact_by", erpnext.queries.profile);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.frm.set_query("item_code", "enquiry_details", function() {
|
||||||
|
var key = (me.frm.doc.enquiry_type === "Maintenance" ? "is_service_item" : "is_sales_item");
|
||||||
|
return {
|
||||||
|
query: "controllers.queries.item_query",
|
||||||
|
filters: { key: "Yes" }
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each([["lead", "lead"],
|
||||||
|
["customer", "customer"],
|
||||||
|
["customer_address", "customer_filter"],
|
||||||
|
["contact_person", "customer_filter"],
|
||||||
|
["territory", "not_a_group_filter"]], function(i, opts) {
|
||||||
|
me.frm.set_query(opts[0], erpnext.queries[opts[1]]);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
customer: function() {
|
customer: function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(this.frm.doc.customer) {
|
if(this.frm.doc.customer) {
|
||||||
@ -70,52 +134,6 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ONLOAD
|
|
||||||
// ===============================================================
|
|
||||||
cur_frm.cscript.onload = function(doc, cdt, cdn) {
|
|
||||||
|
|
||||||
if(!doc.enquiry_from && doc.customer)
|
|
||||||
doc.enquiry_from = "Customer";
|
|
||||||
if(!doc.enquiry_from && doc.lead)
|
|
||||||
doc.enquiry_from = "Lead";
|
|
||||||
|
|
||||||
if(!doc.enquiry_from)
|
|
||||||
hide_field(['customer', 'customer_address', 'contact_person', 'customer_name','lead', 'address_display', 'contact_display', 'contact_mobile', 'contact_email', 'territory', 'customer_group']);
|
|
||||||
if(!doc.status)
|
|
||||||
set_multiple(cdt,cdn,{status:'Draft'});
|
|
||||||
if(!doc.date)
|
|
||||||
doc.transaction_date = date.obj_to_str(new Date());
|
|
||||||
if(!doc.company && sys_defaults.company)
|
|
||||||
set_multiple(cdt,cdn,{company:sys_defaults.company});
|
|
||||||
if(!doc.fiscal_year && sys_defaults.fiscal_year)
|
|
||||||
set_multiple(cdt,cdn,{fiscal_year:sys_defaults.fiscal_year});
|
|
||||||
|
|
||||||
if(doc.enquiry_from) {
|
|
||||||
if(doc.enquiry_from == 'Customer') {
|
|
||||||
hide_field('lead');
|
|
||||||
}
|
|
||||||
else if (doc.enquiry_from == 'Lead') {
|
|
||||||
hide_field(['customer', 'customer_address', 'contact_person', 'customer_group']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!doc.__islocal) {
|
|
||||||
cur_frm.communication_view = new wn.views.CommunicationList({
|
|
||||||
list: wn.model.get("Communication", {"opportunity": doc.name}),
|
|
||||||
parent: cur_frm.fields_dict.communication_html.wrapper,
|
|
||||||
doc: doc,
|
|
||||||
recipients: doc.contact_email
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if(cur_frm.fields_dict.contact_by.df.options.match(/^Profile/)) {
|
|
||||||
cur_frm.fields_dict.contact_by.get_query = function(doc,cdt,cdn) {
|
|
||||||
return { query:"controllers.queries.profile_query" } }
|
|
||||||
}
|
|
||||||
|
|
||||||
if(doc.customer && !doc.customer_name) cur_frm.cscript.customer(doc);
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) {
|
cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) {
|
||||||
if(doc.enquiry_from == 'Lead' && doc.lead) {
|
if(doc.enquiry_from == 'Lead' && doc.lead) {
|
||||||
cur_frm.cscript.lead(doc,cdt,cdn);
|
cur_frm.cscript.lead(doc,cdt,cdn);
|
||||||
@ -153,26 +171,6 @@ cur_frm.cscript.customer_address = cur_frm.cscript.contact_person = function(doc
|
|||||||
if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
|
if(doc.customer) get_server_fields('get_customer_address', JSON.stringify({customer: doc.customer, address: doc.customer_address, contact: doc.contact_person}),'', doc, dt, dn, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
cur_frm.fields_dict['customer_address'].get_query = function(doc, cdt, cdn) {
|
|
||||||
return {
|
|
||||||
filters:{'customer':doc.customer}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
|
|
||||||
if (!doc.customer) msgprint("Please select customer first");
|
|
||||||
else {
|
|
||||||
filters:{'customer':doc.customer}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// lead
|
|
||||||
cur_frm.fields_dict['lead'].get_query = function(doc,cdt,cdn){
|
|
||||||
return {
|
|
||||||
query: "selling.doctype.opportunity.opportunity.get_lead"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.cscript.lead = function(doc, cdt, cdn) {
|
cur_frm.cscript.lead = function(doc, cdt, cdn) {
|
||||||
cur_frm.toggle_display("contact_info", doc.customer || doc.lead);
|
cur_frm.toggle_display("contact_info", doc.customer || doc.lead);
|
||||||
|
|
||||||
@ -185,19 +183,7 @@ cur_frm.cscript.lead = function(doc, cdt, cdn) {
|
|||||||
'contact_email', 'territory']);
|
'contact_email', 'territory']);
|
||||||
}
|
}
|
||||||
|
|
||||||
cur_frm.fields_dict['enquiry_details'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
|
|
||||||
if (doc.enquiry_type == 'Maintenance') {
|
|
||||||
return {
|
|
||||||
query:"controllers.queries.item_query",
|
|
||||||
filters:{ 'is_service_item': 'Yes' }
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
query:"controllers.queries.item_query",
|
|
||||||
filters:{ 'is_sales_item': 'Yes' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.cscript['Declare Opportunity Lost'] = function(){
|
cur_frm.cscript['Declare Opportunity Lost'] = function(){
|
||||||
var dialog = new wn.ui.Dialog({
|
var dialog = new wn.ui.Dialog({
|
||||||
@ -229,16 +215,4 @@ cur_frm.cscript['Declare Opportunity Lost'] = function(){
|
|||||||
});
|
});
|
||||||
dialog.show();
|
dialog.show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//get query select Territory
|
|
||||||
cur_frm.fields_dict['territory'].get_query = function(doc,cdt,cdn) {
|
|
||||||
return{
|
|
||||||
filters:{'is_group': 'No'}
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.fields_dict.lead.get_query = function(doc,cdt,cdn) {
|
|
||||||
return { query:"controllers.queries.lead_query" } }
|
|
||||||
|
|
||||||
cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
|
|
||||||
return { query:"controllers.queries.customer_query" } }
|
|
@ -197,14 +197,4 @@ def make_quotation(source_name, target_doclist=None):
|
|||||||
}
|
}
|
||||||
}, target_doclist)
|
}, target_doclist)
|
||||||
|
|
||||||
return [d.fields for d in doclist]
|
return [d.fields for d in doclist]
|
||||||
|
|
||||||
def get_lead(doctype, txt, searchfield, start, page_len, filters):
|
|
||||||
from controllers.queries import get_match_cond
|
|
||||||
return webnotes.conn.sql ("""select `tabLead`.name, `tabLead`.lead_name FROM `tabLead`
|
|
||||||
where `tabLead`.%(key)s like "%(txt)s"
|
|
||||||
%(mcond)s
|
|
||||||
order by `tabLead`.`name` asc
|
|
||||||
limit %(start)s, %(page_len)s """ % {'key': searchfield,
|
|
||||||
'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield),
|
|
||||||
'start': start, 'page_len': page_len})
|
|
@ -14,15 +14,17 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
cur_frm.fields_dict['item_code'].get_query = function(doc) {
|
$.extend(cur_frm.cscript, {
|
||||||
return {
|
onload: function() {
|
||||||
query: "controllers.queries.item_std"
|
cur_frm.set_query("item_code", erpnext.queries.item);
|
||||||
}
|
},
|
||||||
}
|
|
||||||
|
item_code: function() {
|
||||||
//==================== Get Items Stock UOM =====================================================
|
if(cur_frm.doc.item_code) {
|
||||||
cur_frm.cscript.item_code = function(doc,cdt,cdn) {
|
cur_frm.call({
|
||||||
if (doc.item_code) {
|
method: "get_stock_uom",
|
||||||
get_server_fields('get_stock_uom', doc.item_code, '', doc, cdt, cdn, 1);
|
args: { item_code: cur_frm.doc.item_code }
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
});
|
@ -31,9 +31,6 @@ class DocType:
|
|||||||
def __init__(self, d, dl=[]):
|
def __init__(self, d, dl=[]):
|
||||||
self.doc, self.doclist = d,dl
|
self.doc, self.doclist = d,dl
|
||||||
|
|
||||||
def get_stock_uom(self, item_code):
|
|
||||||
return {'current_stock_uom': cstr(webnotes.conn.get_value('Item', item_code, 'stock_uom'))}
|
|
||||||
|
|
||||||
def validate_mandatory(self):
|
def validate_mandatory(self):
|
||||||
if not cstr(self.doc.item_code):
|
if not cstr(self.doc.item_code):
|
||||||
msgprint("Please Enter an Item.")
|
msgprint("Please Enter an Item.")
|
||||||
@ -111,3 +108,8 @@ class DocType:
|
|||||||
self.update_bin()
|
self.update_bin()
|
||||||
|
|
||||||
get_obj("Item", self.doc.item_code).on_update()
|
get_obj("Item", self.doc.item_code).on_update()
|
||||||
|
|
||||||
|
@webnotes.whitelist()
|
||||||
|
def get_stock_uom(item_code):
|
||||||
|
return { 'current_stock_uom': cstr(webnotes.conn.get_value('Item', item_code, 'stock_uom')) }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user