commified item_code query
diff --git a/public/js/utils.js b/public/js/utils.js
index 3eaad08..aa65d1a 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -114,16 +114,33 @@
wn.provide("erpnext.queries");
+erpnext.queries.get_conditions = function(doctype, opts) {
+ conditions = [];
+ if (opts) {
+ $.each(opts, function(key, val) {
+ var lhs = "`tab" + doctype + "`.`" + key + "`";
+
+ if(key.indexOf(doctype)!=-1) {
+ // with function
+ lhs = key;
+ }
+
+ if (esc_quotes(val).charAt(0) != "!")
+ conditions.push(lhs + "='"+esc_quotes(val)+"'");
+ else
+ conditions.push(lhs + "!='"+esc_quotes(val).substr(1)+"'");
+ });
+ }
+ return conditions;
+}
+
erpnext.queries.account = function(opts) {
if(!opts)
opts = {};
if(!opts.group_or_ledger)
opts.group_or_ledger = "Ledger";
- conditions = [];
- $.each(opts, function(key, val) {
- conditions.push("tabAccount.`" + key + "`='"+esc_quotes(val)+"'");
- });
+ var conditions = erpnext.queries.get_conditions("Account", opts);
return 'SELECT tabAccount.name, tabAccount.parent_account, tabAccount.debit_or_credit \
FROM tabAccount \
@@ -131,18 +148,29 @@
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" ' + (conditions
+ ? (" AND " + conditions.join(" AND "))
+ : "")
+ + " LIMIT 50"
}
erpnext.queries.bom = function(opts) {
- conditions = [];
- if (opts) {
- $.each(opts, function(key, val) {
- if (esc_quotes(val).charAt(0) != "!")
- conditions.push("tabBOM.`" + key + "`='"+esc_quotes(val)+"'");
- else
- conditions.push("tabBOM.`" + key + "`!='"+esc_quotes(val).substr(1)+"'");
- });
- }
+ var conditions = erpnext.queries.get_conditions("BOM", opts);
return 'SELECT tabBOM.name, tabBOM.item \
FROM tabBOM \
@@ -151,4 +179,6 @@
AND tabBOM.%(key)s LIKE "%s" ' + (conditions.length
? (" AND " + conditions.join(" AND "))
: "")
+ + " LIMIT 50"
+
}
\ No newline at end of file