diff --git a/accounts/doctype/account/account.py b/accounts/doctype/account/account.py index 7d8bed9b32..65274d7ba9 100644 --- a/accounts/doctype/account/account.py +++ b/accounts/doctype/account/account.py @@ -32,7 +32,7 @@ class DocType: def validate_parent(self): """Fetch Parent Details and validation for account not to be created under ledger""" if self.doc.parent_account: - par = sql("""select name, group_or_ledger, is_pl_account, debit_or_credit + par = webnotes.conn.sql("""select name, group_or_ledger, is_pl_account, debit_or_credit from tabAccount where name =%s""", self.doc.parent_account) if not par: msgprint("Parent account does not exists", raise_exception=1) @@ -60,7 +60,7 @@ class DocType: def validate_duplicate_account(self): if self.doc.fields.get('__islocal') or not self.doc.name: company_abbr = webnotes.conn.get_value("Company", self.doc.company, "abbr") - if sql("""select name from tabAccount where name=%s""", + if webnotes.conn.sql("""select name from tabAccount where name=%s""", (self.doc.account_name + " - " + company_abbr)): msgprint("Account Name: %s already exists, please rename" % self.doc.account_name, raise_exception=1) @@ -97,12 +97,12 @@ class DocType: # Check if any previous balance exists def check_gle_exists(self): - exists = sql("""select name from `tabGL Entry` where account = %s + exists = webnotes.conn.sql("""select name from `tabGL Entry` where account = %s and ifnull(is_cancelled, 'No') = 'No'""", self.doc.name) return exists and exists[0][0] or '' def check_if_child_exists(self): - return sql("""select name from `tabAccount` where parent_account = %s + return webnotes.conn.sql("""select name from `tabAccount` where parent_account = %s and docstatus != 2""", self.doc.name) def validate_mandatory(self): @@ -141,7 +141,7 @@ class DocType: # Get credit limit credit_limit_from = 'Customer' - cr_limit = sql("""select t1.credit_limit from tabCustomer t1, `tabAccount` t2 + cr_limit = webnotes.conn.sql("""select t1.credit_limit from tabCustomer t1, `tabAccount` t2 where t2.name=%s and t1.name = t2.master_name""", account) credit_limit = cr_limit and flt(cr_limit[0][0]) or 0 if not credit_limit: @@ -173,7 +173,7 @@ class DocType: self.update_nsm_model() # delete all cancelled gl entry of this account - sql("""delete from `tabGL Entry` where account = %s and + webnotes.conn.sql("""delete from `tabGL Entry` where account = %s and ifnull(is_cancelled, 'No') = 'Yes'""", self.doc.name) def on_rename(self, new, old, merge=False): @@ -185,7 +185,7 @@ class DocType: # rename account name new_account_name = " - ".join(parts[:-1]) - sql("update `tabAccount` set account_name = %s where name = %s", (new_account_name, old)) + webnotes.conn.sql("update `tabAccount` set account_name = %s where name = %s", (new_account_name, old)) if merge: new_name = " - ".join(parts) diff --git a/accounts/doctype/bank_reconciliation/bank_reconciliation.py b/accounts/doctype/bank_reconciliation/bank_reconciliation.py index ce15e57a0e..132358ef83 100644 --- a/accounts/doctype/bank_reconciliation/bank_reconciliation.py +++ b/accounts/doctype/bank_reconciliation/bank_reconciliation.py @@ -22,7 +22,7 @@ class DocType: msgprint("Bank Account, From Date and To Date are Mandatory") return - dl = sql("select t1.name, t1.cheque_no, t1.cheque_date, t2.debit, t2.credit, t1.posting_date, t2.against_account from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t2.parent = t1.name and t2.account = %s and (clearance_date is null or clearance_date = '0000-00-00' or clearance_date = '') and t1.posting_date >= %s and t1.posting_date <= %s and t1.docstatus=1", (self.doc.bank_account, self.doc.from_date, self.doc.to_date)) + dl = webnotes.conn.sql("select t1.name, t1.cheque_no, t1.cheque_date, t2.debit, t2.credit, t1.posting_date, t2.against_account from `tabJournal Voucher` t1, `tabJournal Voucher Detail` t2 where t2.parent = t1.name and t2.account = %s and (clearance_date is null or clearance_date = '0000-00-00' or clearance_date = '') and t1.posting_date >= %s and t1.posting_date <= %s and t1.docstatus=1", (self.doc.bank_account, self.doc.from_date, self.doc.to_date)) self.doclist = self.doc.clear_table(self.doclist, 'entries') self.doc.total_amount = 0.0 @@ -46,7 +46,7 @@ class DocType: msgprint("Clearance Date can not be before Cheque Date (Row #%s)" % d.idx, raise_exception=1) - sql("""update `tabJournal Voucher` + webnotes.conn.sql("""update `tabJournal Voucher` set clearance_date = %s, modified = %s where name=%s""", (d.clearance_date, nowdate(), d.voucher_id)) vouchers.append(d.voucher_id) diff --git a/accounts/doctype/gl_entry/gl_entry.py b/accounts/doctype/gl_entry/gl_entry.py index aa0f11b178..5cde97a706 100644 --- a/accounts/doctype/gl_entry/gl_entry.py +++ b/accounts/doctype/gl_entry/gl_entry.py @@ -63,7 +63,7 @@ class DocType: tot_outstanding = 0 #needed when there is no GL Entry in the system for that acc head if (self.doc.voucher_type=='Journal Voucher' or self.doc.voucher_type=='Sales Invoice') \ and (master_type =='Customer' and master_name): - dbcr = sql("""select sum(debit), sum(credit) from `tabGL Entry` + dbcr = webnotes.conn.sql("""select sum(debit), sum(credit) from `tabGL Entry` where account = '%s' and is_cancelled='No'""" % self.doc.account) if dbcr: tot_outstanding = flt(dbcr[0][0]) - flt(dbcr[0][1]) + \ @@ -80,7 +80,7 @@ class DocType: def validate_account_details(self, adv_adj): """Account must be ledger, active and not freezed""" - ret = sql("""select group_or_ledger, docstatus, freeze_account, company + ret = webnotes.conn.sql("""select group_or_ledger, docstatus, freeze_account, company from tabAccount where name=%s""", self.doc.account, as_dict=1) if ret and ret[0]["group_or_ledger"]=='Group': @@ -145,7 +145,7 @@ class DocType: def update_outstanding_amt(self): # get final outstanding amt - bal = flt(sql("""select sum(debit) - sum(credit) from `tabGL Entry` + bal = flt(webnotes.conn.sql("""select sum(debit) - sum(credit) from `tabGL Entry` where against_voucher=%s and against_voucher_type=%s and account = %s and ifnull(is_cancelled,'No') = 'No'""", (self.doc.against_voucher, self.doc.against_voucher_type, self.doc.account))[0][0] or 0.0) @@ -170,5 +170,5 @@ class DocType: # Update outstanding amt on against voucher if self.doc.against_voucher_type in ["Sales Invoice", "Purchase Invoice"]: - sql("update `tab%s` set outstanding_amount=%s where name='%s'"% + webnotes.conn.sql("update `tab%s` set outstanding_amount=%s where name='%s'"% (self.doc.against_voucher_type, bal, self.doc.against_voucher)) \ No newline at end of file diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py index bb58270490..f10e3d7df3 100644 --- a/accounts/doctype/mis_control/mis_control.py +++ b/accounts/doctype/mis_control/mis_control.py @@ -43,7 +43,7 @@ class DocType: ret['company'] = get_companies() #--- to get fiscal year and start_date of that fiscal year ----- - res = sql("select name, year_start_date from `tabFiscal Year`") + res = webnotes.conn.sql("select name, year_start_date from `tabFiscal Year`") ret['fiscal_year'] = [r[0] for r in res] ret['start_dates'] = {} for r in res: @@ -51,7 +51,7 @@ class DocType: #--- from month and to month (for MIS - Comparison Report) ------- month_list = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] - fiscal_start_month = sql("select MONTH(year_start_date) from `tabFiscal Year` where name = %s",(webnotes.defaults.get_global_default("fiscal_year"))) + fiscal_start_month = webnotes.conn.sql("select MONTH(year_start_date) from `tabFiscal Year` where name = %s",(webnotes.defaults.get_global_default("fiscal_year"))) fiscal_start_month = fiscal_start_month and fiscal_start_month[0][0] or 1 mon = [''] for i in range(fiscal_start_month,13): mon.append(month_list[i-1]) @@ -106,7 +106,7 @@ class DocType: def dates(self,fiscal_year,from_date,to_date): import datetime ret = '' - start_date = cstr(sql("select year_start_date from `tabFiscal Year` where name = %s",fiscal_year)[0][0]) + start_date = cstr(webnotes.conn.sql("select year_start_date from `tabFiscal Year` where name = %s",fiscal_year)[0][0]) st_mon = cint(from_date.split('-')[1]) ed_mon = cint(to_date.split('-')[1]) st_day = cint(from_date.split('-')[2]) @@ -151,7 +151,7 @@ class DocType: def get_totals(self, args): args = eval(args) #msgprint(args) - totals = sql("SELECT %s FROM %s WHERE %s %s %s %s" %(cstr(args['query_val']), cstr(args['tables']), cstr(args['company']), cstr(args['cond']), cstr(args['add_cond']), cstr(args['fil_cond'])), as_dict = 1)[0] + totals = webnotes.conn.sql("SELECT %s FROM %s WHERE %s %s %s %s" %(cstr(args['query_val']), cstr(args['tables']), cstr(args['company']), cstr(args['cond']), cstr(args['add_cond']), cstr(args['fil_cond'])), as_dict = 1)[0] #msgprint(totals) tot_keys = totals.keys() # return in flt because JSON doesn't accept Decimal @@ -184,7 +184,7 @@ class DocType: # Get Children # ------------ def get_children(self, parent_account, level, pl, company, fy): - cl = sql("select distinct account_name, name, debit_or_credit, lft, rgt from `tabAccount` where ifnull(parent_account, '') = %s and ifnull(is_pl_account, 'No')=%s and company=%s and docstatus != 2 order by name asc", (parent_account, pl, company)) + cl = webnotes.conn.sql("select distinct account_name, name, debit_or_credit, lft, rgt from `tabAccount` where ifnull(parent_account, '') = %s and ifnull(is_pl_account, 'No')=%s and company=%s and docstatus != 2 order by name asc", (parent_account, pl, company)) level0_diff = [0 for p in self.period_list] if pl=='Yes' and level==0: # switch for income & expenses cl = [c for c in cl] @@ -237,7 +237,7 @@ class DocType: def define_periods(self, year, period): # get year start date - ysd = sql("select year_start_date from `tabFiscal Year` where name=%s", year) + ysd = webnotes.conn.sql("select year_start_date from `tabFiscal Year` where name=%s", year) ysd = ysd and ysd[0][0] or '' self.ysd = ysd diff --git a/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/accounts/doctype/period_closing_voucher/period_closing_voucher.py index 9df653ad88..237bb638a5 100644 --- a/accounts/doctype/period_closing_voucher/period_closing_voucher.py +++ b/accounts/doctype/period_closing_voucher/period_closing_voucher.py @@ -23,7 +23,7 @@ class DocType: def validate_account_head(self): - acc_det = sql("select debit_or_credit, is_pl_account, group_or_ledger, company \ + acc_det = webnotes.conn.sql("select debit_or_credit, is_pl_account, group_or_ledger, company \ from `tabAccount` where name = '%s'" % (self.doc.closing_account_head)) # Account should be under liability @@ -43,7 +43,7 @@ class DocType: def validate_posting_date(self): - yr = sql("""select year_start_date, adddate(year_start_date, interval 1 year) + yr = webnotes.conn.sql("""select year_start_date, adddate(year_start_date, interval 1 year) from `tabFiscal Year` where name=%s""", (self.doc.fiscal_year, )) self.year_start_date = yr and yr[0][0] or '' self.year_end_date = yr and yr[0][1] or '' @@ -54,7 +54,7 @@ class DocType: raise Exception # Period Closing Entry - pce = sql("select name from `tabPeriod Closing Voucher` \ + pce = webnotes.conn.sql("select name from `tabPeriod Closing Voucher` \ where posting_date > '%s' and fiscal_year = '%s' and docstatus = 1" \ % (self.doc.posting_date, self.doc.fiscal_year)) if pce and pce[0][0]: @@ -64,13 +64,13 @@ class DocType: def validate_pl_balances(self): - income_bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ + income_bal = webnotes.conn.sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ from `tabGL Entry` t1, tabAccount t2 where t1.account = t2.name \ and t1.posting_date between '%s' and '%s' and t2.debit_or_credit = 'Credit' \ and t2.group_or_ledger = 'Ledger' and t2.is_pl_account = 'Yes' and t2.docstatus < 2 \ and t2.company = '%s'" % (self.year_start_date, self.doc.posting_date, self.doc.company)) - expense_bal = sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ + expense_bal = webnotes.conn.sql("select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ from `tabGL Entry` t1, tabAccount t2 where t1.account = t2.name \ and t1.posting_date between '%s' and '%s' and t2.debit_or_credit = 'Debit' \ and t2.group_or_ledger = 'Ledger' and t2.is_pl_account = 'Yes' and t2.docstatus < 2 \ @@ -86,7 +86,7 @@ class DocType: def get_pl_balances(self, d_or_c): """Get account (pl) specific balance""" - acc_bal = sql("select t1.account, sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ + acc_bal = webnotes.conn.sql("select t1.account, sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) \ from `tabGL Entry` t1, `tabAccount` t2 where t1.account = t2.name and t2.group_or_ledger = 'Ledger' \ and ifnull(t2.is_pl_account, 'No') = 'Yes' and ifnull(is_cancelled, 'No') = 'No' \ and t2.debit_or_credit = '%s' and t2.docstatus < 2 and t2.company = '%s' \ @@ -169,7 +169,7 @@ class DocType: def on_cancel(self): # get all submit entries of current closing entry voucher - gl_entries = sql("select account, debit, credit from `tabGL Entry` where voucher_type = 'Period Closing Voucher' and voucher_no = '%s' and ifnull(is_cancelled, 'No') = 'No'" % (self.doc.name)) + gl_entries = webnotes.conn.sql("select account, debit, credit from `tabGL Entry` where voucher_type = 'Period Closing Voucher' and voucher_no = '%s' and ifnull(is_cancelled, 'No') = 'No'" % (self.doc.name)) # Swap Debit & Credit Column and make gl entry for gl in gl_entries: @@ -177,4 +177,4 @@ class DocType: self.save_entry(fdict, is_cancel = 'Yes') # Update is_cancelled = 'Yes' to all gl entries for current voucher - sql("update `tabGL Entry` set is_cancelled = 'Yes' where voucher_type = '%s' and voucher_no = '%s'" % (self.doc.doctype, self.doc.name)) \ No newline at end of file + webnotes.conn.sql("update `tabGL Entry` set is_cancelled = 'Yes' where voucher_type = '%s' and voucher_no = '%s'" % (self.doc.doctype, self.doc.name)) \ No newline at end of file diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py index 0c5a277a0c..be0e224128 100644 --- a/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -61,7 +61,7 @@ class DocType(BuyingController): "purchase_receipt_details") def get_credit_to(self): - acc_head = sql("""select name, credit_days from `tabAccount` + acc_head = webnotes.conn.sql("""select name, credit_days from `tabAccount` where (name = %s or (master_name = %s and master_type = 'supplier')) and docstatus != 2 and company = %s""", (cstr(self.doc.supplier) + " - " + self.company_abbr, @@ -88,14 +88,14 @@ class DocType(BuyingController): return get_obj('Purchase Common').get_rate(arg,self) def get_rate1(self,acc): - rate = sql("select tax_rate from `tabAccount` where name='%s'"%(acc)) + rate = webnotes.conn.sql("select tax_rate from `tabAccount` where name='%s'"%(acc)) ret={'add_tax_rate' :rate and flt(rate[0][0]) or 0 } return ret def check_active_purchase_items(self): for d in getlist(self.doclist, 'entries'): if d.item_code: # extra condn coz item_code is not mandatory in PV - valid_item = sql("select docstatus,is_purchase_item from tabItem where name = %s",d.item_code) + valid_item = webnotes.conn.sql("select docstatus,is_purchase_item from tabItem where name = %s",d.item_code) if valid_item[0][0] == 2: msgprint("Item : '%s' is Inactive, you can restore it from Trash" %(d.item_code)) raise Exception @@ -115,7 +115,7 @@ class DocType(BuyingController): def validate_bill_no(self): if self.doc.bill_no and self.doc.bill_no.lower().strip() \ not in ['na', 'not applicable', 'none']: - b_no = sql("""select bill_no, name, ifnull(is_opening,'') from `tabPurchase Invoice` + b_no = webnotes.conn.sql("""select bill_no, name, ifnull(is_opening,'') from `tabPurchase Invoice` where bill_no = %s and credit_to = %s and docstatus = 1 and name != %s""", (self.doc.bill_no, self.doc.credit_to, self.doc.name)) if b_no and cstr(b_no[0][2]) == cstr(self.doc.is_opening): @@ -131,7 +131,7 @@ class DocType(BuyingController): self.doc.remarks = "No Remarks" def validate_credit_acc(self): - acc = sql("select debit_or_credit, is_pl_account from tabAccount where name = %s", + acc = webnotes.conn.sql("select debit_or_credit, is_pl_account from tabAccount where name = %s", self.doc.credit_to) if not acc: msgprint("Account: "+ self.doc.credit_to + "does not exist") @@ -147,7 +147,7 @@ class DocType(BuyingController): # ------------------------------------------------------------ def check_for_acc_head_of_supplier(self): if self.doc.supplier and self.doc.credit_to: - acc_head = sql("select master_name from `tabAccount` where name = %s", self.doc.credit_to) + acc_head = webnotes.conn.sql("select master_name from `tabAccount` where name = %s", self.doc.credit_to) if (acc_head and cstr(acc_head[0][0]) != cstr(self.doc.supplier)) or (not acc_head and (self.doc.credit_to != cstr(self.doc.supplier) + " - " + self.company_abbr)): msgprint("Credit To: %s do not match with Supplier: %s for Company: %s.\n If both correctly entered, please select Master Type and Master Name in account master." %(self.doc.credit_to,self.doc.supplier,self.doc.company), raise_exception=1) @@ -159,7 +159,7 @@ class DocType(BuyingController): for d in getlist(self.doclist,'entries'): if d.purchase_order and not d.purchase_order in check_list and not d.purchase_receipt: check_list.append(d.purhcase_order) - stopped = sql("select name from `tabPurchase Order` where status = 'Stopped' and name = '%s'" % d.purchase_order) + stopped = webnotes.conn.sql("select name from `tabPurchase Order` where status = 'Stopped' and name = '%s'" % d.purchase_order) if stopped: msgprint("One cannot do any transaction against 'Purchase Order' : %s, it's status is 'Stopped'" % (d.purhcase_order)) raise Exception @@ -258,11 +258,11 @@ class DocType(BuyingController): def check_prev_docstatus(self): for d in getlist(self.doclist,'entries'): if d.purchase_order: - submitted = sql("select name from `tabPurchase Order` where docstatus = 1 and name = '%s'" % d.purchase_order) + submitted = webnotes.conn.sql("select name from `tabPurchase Order` where docstatus = 1 and name = '%s'" % d.purchase_order) if not submitted: webnotes.throw("Purchase Order : "+ cstr(d.purchase_order) +" is not submitted") if d.purchase_receipt: - submitted = sql("select name from `tabPurchase Receipt` where docstatus = 1 and name = '%s'" % d.purchase_receipt) + submitted = webnotes.conn.sql("select name from `tabPurchase Receipt` where docstatus = 1 and name = '%s'" % d.purchase_receipt) if not submitted: webnotes.throw("Purchase Receipt : "+ cstr(d.purchase_receipt) +" is not submitted") diff --git a/buying/doctype/purchase_common/purchase_common.py b/buying/doctype/purchase_common/purchase_common.py index dfe2af57f5..c05aba4883 100644 --- a/buying/doctype/purchase_common/purchase_common.py +++ b/buying/doctype/purchase_common/purchase_common.py @@ -22,14 +22,14 @@ class DocType(BuyingController): msgprint(_("You need to put at least one item in the item table."), raise_exception=True) def get_supplier_details(self, name = ''): - details = sql("select supplier_name,address from `tabSupplier` where name = '%s' and docstatus != 2" %(name), as_dict = 1) + details = webnotes.conn.sql("select supplier_name,address from `tabSupplier` where name = '%s' and docstatus != 2" %(name), as_dict = 1) if details: ret = { 'supplier_name' : details and details[0]['supplier_name'] or '', 'supplier_address' : details and details[0]['address'] or '' } # ********** get primary contact details (this is done separately coz. , in case there is no primary contact thn it would not be able to fetch customer details in case of join query) - contact_det = sql("select contact_name, contact_no, email_id from `tabContact` where supplier = '%s' and is_supplier = 1 and is_primary_contact = 'Yes' and docstatus != 2" %(name), as_dict = 1) + contact_det = webnotes.conn.sql("select contact_name, contact_no, email_id from `tabContact` where supplier = '%s' and is_supplier = 1 and is_primary_contact = 'Yes' and docstatus != 2" %(name), as_dict = 1) ret['contact_person'] = contact_det and contact_det[0]['contact_name'] or '' return ret else: @@ -39,7 +39,7 @@ class DocType(BuyingController): # Get Available Qty at Warehouse def get_bin_details( self, arg = ''): arg = eval(arg) - bin = sql("select projected_qty from `tabBin` where item_code = %s and warehouse = %s", (arg['item_code'], arg['warehouse']), as_dict=1) + bin = webnotes.conn.sql("select projected_qty from `tabBin` where item_code = %s and warehouse = %s", (arg['item_code'], arg['warehouse']), as_dict=1) ret = { 'projected_qty' : bin and flt(bin[0]['projected_qty']) or 0 } return ret @@ -69,7 +69,7 @@ class DocType(BuyingController): # update last purchsae rate if last_purchase_rate: - sql("update `tabItem` set last_purchase_rate = %s where name = %s", + webnotes.conn.sql("update `tabItem` set last_purchase_rate = %s where name = %s", (flt(last_purchase_rate),d.item_code)) def get_last_purchase_rate(self, obj): @@ -106,7 +106,7 @@ class DocType(BuyingController): raise Exception # udpate with latest quantities - bin = sql("select projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + bin = webnotes.conn.sql("select projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) f_lst ={'projected_qty': bin and flt(bin[0]['projected_qty']) or 0, 'ordered_qty': 0, 'received_qty' : 0} if d.doctype == 'Purchase Receipt Item': @@ -115,7 +115,7 @@ class DocType(BuyingController): if d.fields.has_key(x): d.fields[x] = f_lst[x] - item = sql("select is_stock_item, is_purchase_item, is_sub_contracted_item, end_of_life from tabItem where name=%s", + item = webnotes.conn.sql("select is_stock_item, is_purchase_item, is_sub_contracted_item, end_of_life from tabItem where name=%s", d.item_code) if not item: msgprint("Item %s does not exist in Item Master." % cstr(d.item_code), raise_exception=True) @@ -138,7 +138,7 @@ class DocType(BuyingController): # if is not stock item f = [d.schedule_date, d.item_code, d.description] - ch = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) + ch = webnotes.conn.sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code) if ch and ch[0][0] == 'Yes': # check for same items @@ -164,18 +164,18 @@ class DocType(BuyingController): # but if in Material Request uom KG it can change in PO get_qty = (transaction == 'Material Request - Purchase Order') and 'qty * conversion_factor' or 'qty' - qty = sql("select sum(%s) from `tab%s` where %s = '%s' and docstatus = 1 and parent != '%s'"% ( get_qty, curr_doctype, ref_tab_fname, ref_tab_dn, curr_parent_name)) + qty = webnotes.conn.sql("select sum(%s) from `tab%s` where %s = '%s' and docstatus = 1 and parent != '%s'"% ( get_qty, curr_doctype, ref_tab_fname, ref_tab_dn, curr_parent_name)) qty = qty and flt(qty[0][0]) or 0 # get total qty of ref doctype #-------------------- - max_qty = sql("select qty from `tab%s` where name = '%s' and docstatus = 1"% (ref_doc_tname, ref_tab_dn)) + max_qty = webnotes.conn.sql("select qty from `tab%s` where name = '%s' and docstatus = 1"% (ref_doc_tname, ref_tab_dn)) max_qty = max_qty and flt(max_qty[0][0]) or 0 return cstr(qty)+'~~~'+cstr(max_qty) def check_for_stopped_status(self, doctype, docname): - stopped = sql("select name from `tab%s` where name = '%s' and status = 'Stopped'" % + stopped = webnotes.conn.sql("select name from `tab%s` where name = '%s' and status = 'Stopped'" % ( doctype, docname)) if stopped: msgprint("One cannot do any transaction against %s : %s, it's status is 'Stopped'" % @@ -183,7 +183,7 @@ class DocType(BuyingController): def check_docstatus(self, check, doctype, docname , detail_doctype = ''): if check == 'Next': - submitted = sql("""select t1.name from `tab%s` t1,`tab%s` t2 + submitted = webnotes.conn.sql("""select t1.name from `tab%s` t1,`tab%s` t2 where t1.name = t2.parent and t2.prevdoc_docname = %s and t1.docstatus = 1""" % (doctype, detail_doctype, '%s'), docname) if submitted: @@ -191,7 +191,7 @@ class DocType(BuyingController): + _(" has already been submitted."), raise_exception=1) if check == 'Previous': - submitted = sql("""select name from `tab%s` + submitted = webnotes.conn.sql("""select name from `tab%s` where docstatus = 1 and name = %s"""% (doctype, '%s'), docname) if not submitted: msgprint(cstr(doctype) + ": " + cstr(submitted[0][0]) @@ -199,7 +199,7 @@ class DocType(BuyingController): def get_rate(self, arg, obj): arg = eval(arg) - rate = sql("select account_type, tax_rate from `tabAccount` where name = %s" + rate = webnotes.conn.sql("select account_type, tax_rate from `tabAccount` where name = %s" , (arg['account_head']), as_dict=1) return {'rate': rate and (rate[0]['account_type'] == 'Tax' \ @@ -208,6 +208,6 @@ class DocType(BuyingController): def get_prevdoc_date(self, obj): for d in getlist(obj.doclist, obj.fname): if d.prevdoc_doctype and d.prevdoc_docname: - dt = sql("select transaction_date from `tab%s` where name = %s" + dt = webnotes.conn.sql("select transaction_date from `tab%s` where name = %s" % (d.prevdoc_doctype, '%s'), (d.prevdoc_docname)) d.prevdoc_date = dt and dt[0][0].strftime('%Y-%m-%d') or '' \ No newline at end of file diff --git a/buying/doctype/purchase_order/purchase_order.py b/buying/doctype/purchase_order/purchase_order.py index 951ff8b70e..c41b9dfef8 100644 --- a/buying/doctype/purchase_order/purchase_order.py +++ b/buying/doctype/purchase_order/purchase_order.py @@ -130,8 +130,8 @@ class DocType(BuyingController): get_obj("Warehouse", d.warehouse).update_bin(args) def check_modified_date(self): - mod_db = sql("select modified from `tabPurchase Order` where name = '%s'" % self.doc.name) - date_diff = sql("select TIMEDIFF('%s', '%s')" % ( mod_db[0][0],cstr(self.doc.modified))) + mod_db = webnotes.conn.sql("select modified from `tabPurchase Order` where name = '%s'" % self.doc.name) + date_diff = webnotes.conn.sql("select TIMEDIFF('%s', '%s')" % ( mod_db[0][0],cstr(self.doc.modified))) if date_diff and date_diff[0][0]: msgprint(cstr(self.doc.doctype) +" => "+ cstr(self.doc.name) +" has been modified. Please Refresh. ") @@ -170,7 +170,7 @@ class DocType(BuyingController): pc_obj.check_docstatus(check = 'Next', doctype = 'Purchase Receipt', docname = self.doc.name, detail_doctype = 'Purchase Receipt Item') # Check if Purchase Invoice has been submitted against current Purchase Order - submitted = sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_order = '%s' and t1.docstatus = 1" % self.doc.name) + submitted = webnotes.conn.sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_order = '%s' and t1.docstatus = 1" % self.doc.name) if submitted: msgprint("Purchase Invoice : " + cstr(submitted[0][0]) + " has already been submitted !") raise Exception diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py index 2c1d173ea7..3c0163367b 100644 --- a/buying/doctype/supplier/supplier.py +++ b/buying/doctype/supplier/supplier.py @@ -28,7 +28,7 @@ class DocType(TransactionBase): self.doc.name = make_autoname(self.doc.naming_series + '.#####') def update_credit_days_limit(self): - sql("""update tabAccount set credit_days = %s where name = %s""", + webnotes.conn.sql("""update tabAccount set credit_days = %s where name = %s""", (cint(self.doc.credit_days), self.doc.name + " - " + self.get_company_abbr())) def on_update(self): @@ -42,7 +42,7 @@ class DocType(TransactionBase): self.update_credit_days_limit() def get_payables_group(self): - g = sql("select payables_group from tabCompany where name=%s", self.doc.company) + g = webnotes.conn.sql("select payables_group from tabCompany where name=%s", self.doc.company) g = g and g[0][0] or '' if not g: msgprint("Update Company master, assign a default group for Payables") @@ -64,14 +64,14 @@ class DocType(TransactionBase): msgprint(_("Created Group ") + ac) def get_company_abbr(self): - return sql("select abbr from tabCompany where name=%s", self.doc.company)[0][0] + return webnotes.conn.sql("select abbr from tabCompany where name=%s", self.doc.company)[0][0] def get_parent_account(self, abbr): if (not self.doc.supplier_type): msgprint("Supplier Type is mandatory") raise Exception - if not sql("select name from tabAccount where name=%s and debit_or_credit = 'Credit' and ifnull(is_pl_account, 'No') = 'No'", (self.doc.supplier_type + " - " + abbr)): + if not webnotes.conn.sql("select name from tabAccount where name=%s and debit_or_credit = 'Credit' and ifnull(is_pl_account, 'No') = 'No'", (self.doc.supplier_type + " - " + abbr)): # if not group created , create it self.add_account(self.doc.supplier_type, self.get_payables_group(), abbr) @@ -89,7 +89,7 @@ class DocType(TransactionBase): abbr = self.get_company_abbr() parent_account = self.get_parent_account(abbr) - if not sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)): + if not webnotes.conn.sql("select name from tabAccount where name=%s", (self.doc.name + " - " + abbr)): ac_bean = webnotes.bean({ "doctype": "Account", 'account_name': self.doc.name, @@ -120,15 +120,15 @@ class DocType(TransactionBase): def get_contacts(self,nm): if nm: - contact_details =webnotes.conn.convert_to_lists(sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where supplier = '%s'"%nm)) + contact_details =webnotes.conn.convert_to_lists(webnotes.conn.sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where supplier = '%s'"%nm)) return contact_details else: return '' def delete_supplier_address(self): - for rec in sql("select * from `tabAddress` where supplier=%s", (self.doc.name,), as_dict=1): - sql("delete from `tabAddress` where name=%s",(rec['name'])) + for rec in webnotes.conn.sql("select * from `tabAddress` where supplier=%s", (self.doc.name,), as_dict=1): + webnotes.conn.sql("delete from `tabAddress` where name=%s",(rec['name'])) def delete_supplier_contact(self): for contact in webnotes.conn.sql_list("""select name from `tabContact` @@ -137,7 +137,7 @@ class DocType(TransactionBase): def delete_supplier_account(self): """delete supplier's ledger if exist and check balance before deletion""" - acc = sql("select name from `tabAccount` where master_type = 'Supplier' \ + acc = webnotes.conn.sql("select name from `tabAccount` where master_type = 'Supplier' \ and master_name = %s and docstatus < 2", self.doc.name) if acc: from webnotes.model import delete_doc @@ -160,7 +160,7 @@ class DocType(TransactionBase): ('Purchase Receipt', 'supplier'), ('Serial No', 'supplier')] for rec in update_fields: - sql("update `tab%s` set supplier_name = %s where `%s` = %s" % \ + webnotes.conn.sql("update `tab%s` set supplier_name = %s where `%s` = %s" % \ (rec[0], '%s', rec[1], '%s'), (new, old)) for account in webnotes.conn.sql("""select name, account_name from diff --git a/hr/doctype/attendance/attendance.py b/hr/doctype/attendance/attendance.py index 124d3621a5..6d52b5723d 100644 --- a/hr/doctype/attendance/attendance.py +++ b/hr/doctype/attendance/attendance.py @@ -14,7 +14,7 @@ class DocType: self.doclist = doclist def validate_duplicate_record(self): - res = sql("""select name from `tabAttendance` where employee = %s and att_date = %s + res = webnotes.conn.sql("""select name from `tabAttendance` where employee = %s and att_date = %s and name != %s and docstatus = 1""", (self.doc.employee, self.doc.att_date, self.doc.name)) if res: @@ -23,7 +23,7 @@ class DocType: def check_leave_record(self): if self.doc.status == 'Present': - leave = sql("""select name from `tabLeave Application` + leave = webnotes.conn.sql("""select name from `tabLeave Application` where employee = %s and %s between from_date and to_date and status = 'Approved' and docstatus = 1""", (self.doc.employee, self.doc.att_date)) @@ -41,7 +41,7 @@ class DocType: msgprint(_("Attendance can not be marked for future dates"), raise_exception=1) def validate_employee(self): - emp = sql("select name from `tabEmployee` where name = %s and status = 'Active'", + emp = webnotes.conn.sql("select name from `tabEmployee` where name = %s and status = 'Active'", self.doc.employee) if not emp: msgprint(_("Employee: ") + self.doc.employee + diff --git a/hr/doctype/leave_allocation/leave_allocation.py b/hr/doctype/leave_allocation/leave_allocation.py index 8e226908d8..a058e1db77 100755 --- a/hr/doctype/leave_allocation/leave_allocation.py +++ b/hr/doctype/leave_allocation/leave_allocation.py @@ -36,7 +36,7 @@ class DocType: def check_existing_leave_allocation(self): """check whether leave for same type is already allocated or not""" - leave_allocation = sql("""select name from `tabLeave Allocation` + leave_allocation = webnotes.conn.sql("""select name from `tabLeave Allocation` where employee=%s and leave_type=%s and fiscal_year=%s and docstatus=1""", (self.doc.employee, self.doc.leave_type, self.doc.fiscal_year)) if leave_allocation: @@ -63,14 +63,14 @@ class DocType: return self.get_leaves_allocated(prev_fyear) - self.get_leaves_applied(prev_fyear) def get_leaves_applied(self, fiscal_year): - leaves_applied = sql("""select SUM(ifnull(total_leave_days, 0)) + leaves_applied = webnotes.conn.sql("""select SUM(ifnull(total_leave_days, 0)) from `tabLeave Application` where employee=%s and leave_type=%s and fiscal_year=%s and docstatus=1""", (self.doc.employee, self.doc.leave_type, fiscal_year)) return leaves_applied and flt(leaves_applied[0][0]) or 0 def get_leaves_allocated(self, fiscal_year): - leaves_allocated = sql("""select SUM(ifnull(total_leaves_allocated, 0)) + leaves_allocated = webnotes.conn.sql("""select SUM(ifnull(total_leaves_allocated, 0)) from `tabLeave Allocation` where employee=%s and leave_type=%s and fiscal_year=%s and docstatus=1 and name!=%s""", (self.doc.employee, self.doc.leave_type, fiscal_year, self.doc.name)) @@ -78,7 +78,7 @@ class DocType: def allow_carry_forward(self): """check whether carry forward is allowed or not for this leave type""" - cf = sql("""select is_carry_forward from `tabLeave Type` where name = %s""", + cf = webnotes.conn.sql("""select is_carry_forward from `tabLeave Type` where name = %s""", self.doc.leave_type) cf = cf and cint(cf[0][0]) or 0 if not cf: @@ -109,7 +109,7 @@ class DocType: webnotes.conn.set(self.doc,'total_leaves_allocated',flt(leave_det['total_leaves_allocated'])) def check_for_leave_application(self): - exists = sql("""select name from `tabLeave Application` + exists = webnotes.conn.sql("""select name from `tabLeave Application` where employee=%s and leave_type=%s and fiscal_year=%s and docstatus=1""", (self.doc.employee, self.doc.leave_type, self.doc.fiscal_year)) if exists: diff --git a/hr/doctype/leave_control_panel/leave_control_panel.py b/hr/doctype/leave_control_panel/leave_control_panel.py index 640432109f..294701c004 100644 --- a/hr/doctype/leave_control_panel/leave_control_panel.py +++ b/hr/doctype/leave_control_panel/leave_control_panel.py @@ -33,7 +33,7 @@ class DocType: emp_query = "select name from `tabEmployee` " if flag == 1: emp_query += condition - e = sql(emp_query) + e = webnotes.conn.sql(emp_query) return e # ---------------- diff --git a/hr/doctype/salary_manager/salary_manager.py b/hr/doctype/salary_manager/salary_manager.py index ecc829f87a..48dcab1808 100644 --- a/hr/doctype/salary_manager/salary_manager.py +++ b/hr/doctype/salary_manager/salary_manager.py @@ -29,7 +29,7 @@ class DocType: cond = self.get_filter_condition() cond += self.get_joining_releiving_condition() - emp_list = sql(""" + emp_list = webnotes.conn.sql(""" select t1.name from `tabEmployee` t1, `tabSalary Structure` t2 where t1.docstatus!=2 and t2.docstatus != 2 @@ -67,7 +67,7 @@ class DocType: def get_month_details(self, year, month): - ysd = sql("select year_start_date from `tabFiscal Year` where name ='%s'"%year)[0][0] + ysd = webnotes.conn.sql("select year_start_date from `tabFiscal Year` where name ='%s'"%year)[0][0] if ysd: from dateutil.relativedelta import relativedelta import calendar, datetime @@ -95,7 +95,7 @@ class DocType: emp_list = self.get_emp_list() ss_list = [] for emp in emp_list: - if not sql("""select name from `tabSalary Slip` + if not webnotes.conn.sql("""select name from `tabSalary Slip` where docstatus!= 2 and employee = %s and month = %s and fiscal_year = %s and company = %s """, (emp[0], self.doc.month, self.doc.fiscal_year, self.doc.company)): ss = webnotes.bean({ @@ -126,7 +126,7 @@ class DocType: which are not submitted """ cond = self.get_filter_condition() - ss_list = sql(""" + ss_list = webnotes.conn.sql(""" select t1.name from `tabSalary Slip` t1 where t1.docstatus = 0 and month = '%s' and fiscal_year = '%s' %s """ % (self.doc.month, self.doc.fiscal_year, cond)) @@ -188,7 +188,7 @@ class DocType: Get total salary amount from submitted salary slip based on selected criteria """ cond = self.get_filter_condition() - tot = sql(""" + tot = webnotes.conn.sql(""" select sum(rounded_total) from `tabSalary Slip` t1 where t1.docstatus = 1 and month = '%s' and fiscal_year = '%s' %s """ % (self.doc.month, self.doc.fiscal_year, cond)) @@ -201,7 +201,7 @@ class DocType: get default bank account,default salary acount from company """ amt = self.get_total_salary() - com = sql("select default_bank_account from `tabCompany` where name = '%s'" % self.doc.company) + com = webnotes.conn.sql("select default_bank_account from `tabCompany` where name = '%s'" % self.doc.company) if not com[0][0] or not com[0][1]: msgprint("You can set Default Bank Account in Company master.") diff --git a/hr/doctype/salary_manager/test_salary_manager.py b/hr/doctype/salary_manager/test_salary_manager.py index 04000f0670..13815db52b 100644 --- a/hr/doctype/salary_manager/test_salary_manager.py +++ b/hr/doctype/salary_manager/test_salary_manager.py @@ -9,7 +9,7 @@ test_records = [] # from webnotes.model.doc import Document # from webnotes.model.code import get_obj -# sql = webnotes.conn.sql +# webnotes.conn.sql = webnotes.conn.sql # # class TestSalaryManager(unittest.TestCase): # def setUp(self): @@ -20,15 +20,15 @@ test_records = [] # ss1[0].employee = emp1.name # for s in ss1: s.save(1) # for s in ss1[1:]: -# sql("update `tabSalary Structure Earning` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) -# sql("update `tabSalary Structure Deduction` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) +# webnotes.conn.sql("update `tabSalary Structure Earning` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) +# webnotes.conn.sql("update `tabSalary Structure Deduction` set parent = '%s' where name = '%s'" % (ss1[0].name, s.name)) # # # ss2[0].employee = emp2.name # for s in ss2: s.save(1) # for s in ss2[1:]: -# sql("update `tabSalary Structure Earning` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) -# sql("update `tabSalary Structure Deduction` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) +# webnotes.conn.sql("update `tabSalary Structure Earning` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) +# webnotes.conn.sql("update `tabSalary Structure Deduction` set parent = '%s' where name = '%s'" % (ss2[0].name, s.name)) # # sman.save() # self.sm = get_obj('Salary Manager') @@ -36,7 +36,7 @@ test_records = [] # self.sm.create_sal_slip() # # def test_creation(self): -# ssid = sql(""" +# ssid = webnotes.conn.sql(""" # select name, department # from `tabSalary Slip` # where month = '08' and fiscal_year='2011-2012'""") @@ -46,7 +46,7 @@ test_records = [] # # # def test_lwp_calc(self): -# ss = sql(""" +# ss = webnotes.conn.sql(""" # select payment_days # from `tabSalary Slip` # where month = '08' and fiscal_year='2011-2012' and employee = '%s' diff --git a/hr/doctype/salary_slip/salary_slip.py b/hr/doctype/salary_slip/salary_slip.py index 7104273170..dab026e364 100644 --- a/hr/doctype/salary_slip/salary_slip.py +++ b/hr/doctype/salary_slip/salary_slip.py @@ -31,7 +31,7 @@ class DocType(TransactionBase): def check_sal_struct(self): - struct = sql("select name from `tabSalary Structure` where employee ='%s' and is_active = 'Yes' "%self.doc.employee) + struct = webnotes.conn.sql("select name from `tabSalary Structure` where employee ='%s' and is_active = 'Yes' "%self.doc.employee) if not struct: msgprint("Please create Salary Structure for employee '%s'"%self.doc.employee) self.doc.employee = '' @@ -99,13 +99,13 @@ class DocType(TransactionBase): return payment_days def get_holidays_for_employee(self, m): - holidays = sql("""select t1.holiday_date + holidays = webnotes.conn.sql("""select t1.holiday_date from `tabHoliday` t1, tabEmployee t2 where t1.parent = t2.holiday_list and t2.name = %s and t1.holiday_date between %s and %s""", (self.doc.employee, m['month_start_date'], m['month_end_date'])) if not holidays: - holidays = sql("""select t1.holiday_date + holidays = webnotes.conn.sql("""select t1.holiday_date from `tabHoliday` t1, `tabHoliday List` t2 where t1.parent = t2.name and ifnull(t2.is_default, 0) = 1 and t2.fiscal_year = %s @@ -119,7 +119,7 @@ class DocType(TransactionBase): for d in range(m['month_days']): dt = add_days(cstr(m['month_start_date']), d) if dt not in holidays: - leave = sql(""" + leave = webnotes.conn.sql(""" select t1.name, t1.half_day from `tabLeave Application` t1, `tabLeave Type` t2 where t2.name = t1.leave_type @@ -133,7 +133,7 @@ class DocType(TransactionBase): return lwp def check_existing(self): - ret_exist = sql("""select name from `tabSalary Slip` + ret_exist = webnotes.conn.sql("""select name from `tabSalary Slip` where month = %s and fiscal_year = %s and docstatus != 2 and employee = %s and name != %s""", (self.doc.month, self.doc.fiscal_year, self.doc.employee, self.doc.name)) @@ -200,9 +200,9 @@ class DocType(TransactionBase): receiver = webnotes.conn.get_value("Employee", self.doc.employee, "company_email") if receiver: subj = 'Salary Slip - ' + cstr(self.doc.month) +'/'+cstr(self.doc.fiscal_year) - earn_ret=sql("""select e_type, e_modified_amount from `tabSalary Slip Earning` + earn_ret=webnotes.conn.sql("""select e_type, e_modified_amount from `tabSalary Slip Earning` where parent = %s""", self.doc.name) - ded_ret=sql("""select d_type, d_modified_amount from `tabSalary Slip Deduction` + ded_ret=webnotes.conn.sql("""select d_type, d_modified_amount from `tabSalary Slip Deduction` where parent = %s""", self.doc.name) earn_table = '' diff --git a/hr/doctype/salary_structure/salary_structure.py b/hr/doctype/salary_structure/salary_structure.py index c3cd93d48c..bfa7850d51 100644 --- a/hr/doctype/salary_structure/salary_structure.py +++ b/hr/doctype/salary_structure/salary_structure.py @@ -19,7 +19,7 @@ class DocType: def get_employee_details(self): ret = {} - det = sql("""select employee_name, branch, designation, department, grade + det = webnotes.conn.sql("""select employee_name, branch, designation, department, grade from `tabEmployee` where name = %s""", self.doc.employee) if det: ret = { @@ -33,7 +33,7 @@ class DocType: return ret def get_ss_values(self,employee): - basic_info = sql("""select bank_name, bank_ac_no, esic_card_no, pf_number + basic_info = webnotes.conn.sql("""select bank_name, bank_ac_no, esic_card_no, pf_number from `tabEmployee` where name =%s""", employee) ret = {'bank_name': basic_info and basic_info[0][0] or '', 'bank_ac_no': basic_info and basic_info[0][1] or '', @@ -42,7 +42,7 @@ class DocType: return ret def make_table(self, doct_name, tab_fname, tab_name): - list1 = sql("select name from `tab%s` where docstatus != 2" % doct_name) + list1 = webnotes.conn.sql("select name from `tab%s` where docstatus != 2" % doct_name) for li in list1: child = addchild(self.doc, tab_fname, tab_name, self.doclist) if(tab_fname == 'earning_details'): @@ -57,7 +57,7 @@ class DocType: self.make_table('Deduction Type','deduction_details', 'Salary Structure Deduction') def check_existing(self): - ret = sql("""select name from `tabSalary Structure` where is_active = 'Yes' + ret = webnotes.conn.sql("""select name from `tabSalary Structure` where is_active = 'Yes' and employee = %s and name!=%s""", (self.doc.employee,self.doc.name)) if ret and self.doc.is_active=='Yes': msgprint(_("""Another Salary Structure '%s' is active for employee '%s'. diff --git a/manufacturing/doctype/bom/bom.py b/manufacturing/doctype/bom/bom.py index 84a3d6c13b..20c1141093 100644 --- a/manufacturing/doctype/bom/bom.py +++ b/manufacturing/doctype/bom/bom.py @@ -17,7 +17,7 @@ class DocType: self.doclist = doclist def autoname(self): - last_name = sql("""select max(name) from `tabBOM` + last_name = webnotes.conn.sql("""select max(name) from `tabBOM` where name like "BOM/%s/%%" """ % cstr(self.doc.item).replace('"', '\\"')) if last_name: idx = cint(cstr(last_name[0][0]).split('/')[-1].split('-')[0]) + 1 @@ -143,7 +143,7 @@ class DocType: webnotes.bean(self.doclist).update_after_submit() def get_bom_unitcost(self, bom_no): - bom = sql("""select name, total_cost/quantity as unit_cost from `tabBOM` + bom = webnotes.conn.sql("""select name, total_cost/quantity as unit_cost from `tabBOM` where is_active = 1 and name = %s""", bom_no, as_dict=1) return bom and bom[0]['unit_cost'] or 0 @@ -155,7 +155,7 @@ class DocType: from stock.utils import get_incoming_rate dt = self.doc.costing_date or nowdate() time = self.doc.costing_date == nowdate() and now().split()[1] or '23:59' - warehouse = sql("select warehouse from `tabBin` where item_code = %s", args['item_code']) + warehouse = webnotes.conn.sql("select warehouse from `tabBin` where item_code = %s", args['item_code']) rate = [] for wh in warehouse: r = get_incoming_rate({ @@ -183,7 +183,7 @@ class DocType: if not self.doc.is_active: webnotes.conn.set(self.doc, "is_default", 0) - sql("update `tabItem` set default_bom = null where name = %s and default_bom = %s", + webnotes.conn.sql("update `tabItem` set default_bom = null where name = %s and default_bom = %s", (self.doc.item, self.doc.name)) def clear_operations(self): @@ -249,7 +249,7 @@ class DocType: def validate_bom_no(self, item, bom_no, idx): """Validate BOM No of sub-contracted items""" - bom = sql("""select name from `tabBOM` where name = %s and item = %s + bom = webnotes.conn.sql("""select name from `tabBOM` where name = %s and item = %s and is_active=1 and docstatus=1""", (bom_no, item), as_dict =1) if not bom: @@ -271,7 +271,7 @@ class DocType: for d in check_list: bom_list, count = [self.doc.name], 0 while (len(bom_list) > count ): - boms = sql(" select %s from `tabBOM Item` where %s = '%s' " % + boms = webnotes.conn.sql(" select %s from `tabBOM Item` where %s = '%s' " % (d[0], d[1], cstr(bom_list[count]))) count = count + 1 for b in boms: @@ -363,7 +363,7 @@ class DocType: def get_child_exploded_items(self, bom_no, qty): """ Add all items from Flat BOM of child BOM""" - child_fb_items = sql("""select item_code, description, stock_uom, qty, rate, + child_fb_items = webnotes.conn.sql("""select item_code, description, stock_uom, qty, rate, qty_consumed_per_unit from `tabBOM Explosion Item` where parent = %s and docstatus = 1""", bom_no, as_dict = 1) @@ -389,12 +389,12 @@ class DocType: ch.save(1) def get_parent_bom_list(self, bom_no): - p_bom = sql("select parent from `tabBOM Item` where bom_no = '%s'" % bom_no) + p_bom = webnotes.conn.sql("select parent from `tabBOM Item` where bom_no = '%s'" % bom_no) return p_bom and [i[0] for i in p_bom] or [] def validate_bom_links(self): if not self.doc.is_active: - act_pbom = sql("""select distinct bom_item.parent from `tabBOM Item` bom_item + act_pbom = webnotes.conn.sql("""select distinct bom_item.parent from `tabBOM Item` bom_item where bom_item.bom_no = %s and bom_item.docstatus = 1 and exists (select * from `tabBOM` where name = bom_item.parent and docstatus = 1 and is_active = 1)""", self.doc.name) diff --git a/manufacturing/doctype/production_order/production_order.py b/manufacturing/doctype/production_order/production_order.py index 28adc65e36..b9d15fdf96 100644 --- a/manufacturing/doctype/production_order/production_order.py +++ b/manufacturing/doctype/production_order/production_order.py @@ -22,14 +22,14 @@ class DocType: "In Process", "Completed", "Cancelled"]) if self.doc.production_item : - item_detail = sql("select name from `tabItem` where name = '%s' and docstatus != 2" + item_detail = webnotes.conn.sql("select name from `tabItem` where name = '%s' and docstatus != 2" % self.doc.production_item, as_dict = 1) if not item_detail: msgprint("Item '%s' does not exist or cancelled in the system." % cstr(self.doc.production_item), raise_exception=1) if self.doc.bom_no: - bom = sql("""select name from `tabBOM` where name=%s and docstatus=1 + bom = webnotes.conn.sql("""select name from `tabBOM` where name=%s and docstatus=1 and is_active=1 and item=%s""" , (self.doc.bom_no, self.doc.production_item), as_dict =1) if not bom: @@ -103,7 +103,7 @@ class DocType: def on_cancel(self): # Check whether any stock entry exists against this Production Order - stock_entry = sql("""select name from `tabStock Entry` + stock_entry = webnotes.conn.sql("""select name from `tabStock Entry` where production_order = %s and docstatus = 1""", self.doc.name) if stock_entry: msgprint("""Submitted Stock Entry %s exists against this production order. diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/manufacturing/doctype/production_planning_tool/production_planning_tool.py index c150be3ff6..5480f177d9 100644 --- a/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -18,7 +18,7 @@ class DocType: def get_so_details(self, so): """Pull other details from so""" - so = sql("""select transaction_date, customer, grand_total + so = webnotes.conn.sql("""select transaction_date, customer, grand_total from `tabSales Order` where name = %s""", so, as_dict = 1) ret = { 'sales_order_date': so and so[0]['transaction_date'] or '', @@ -30,7 +30,7 @@ class DocType: def get_item_details(self, item_code): """ Pull other item details from item master""" - item = sql("""select description, stock_uom, default_bom + item = webnotes.conn.sql("""select description, stock_uom, default_bom from `tabItem` where name = %s""", item_code, as_dict =1) ret = { 'description' : item and item[0]['description'], @@ -62,7 +62,7 @@ class DocType: if self.doc.fg_item: item_filter += ' and item.name = "' + self.doc.fg_item + '"' - open_so = sql(""" + open_so = webnotes.conn.sql(""" select distinct so.name, so.transaction_date, so.customer, so.grand_total from `tabSales Order` so, `tabSales Order Item` so_item where so_item.parent = so.name @@ -107,7 +107,7 @@ class DocType: msgprint("Please enter sales order in the above table") return [] - items = sql("""select distinct parent, item_code, reserved_warehouse, + items = webnotes.conn.sql("""select distinct parent, item_code, reserved_warehouse, (qty - ifnull(delivered_qty, 0)) as pending_qty from `tabSales Order Item` so_item where parent in (%s) and docstatus = 1 and ifnull(qty, 0) > ifnull(delivered_qty, 0) @@ -116,7 +116,7 @@ class DocType: or ifnull(item.is_sub_contracted_item, 'No') = 'Yes'))""" % \ (", ".join(["%s"] * len(so_list))), tuple(so_list), as_dict=1) - dnpi_items = sql("""select distinct dnpi.parent, dnpi.item_code, dnpi.warehouse as reserved_warhouse, + dnpi_items = webnotes.conn.sql("""select distinct dnpi.parent, dnpi.item_code, dnpi.warehouse as reserved_warhouse, (((so_item.qty - ifnull(so_item.delivered_qty, 0)) * dnpi.qty) / so_item.qty) as pending_qty from `tabSales Order Item` so_item, `tabDelivery Note Packing Item` dnpi @@ -135,7 +135,7 @@ class DocType: self.clear_item_table() for p in items: - item_details = sql("""select description, stock_uom, default_bom + item_details = webnotes.conn.sql("""select description, stock_uom, default_bom from tabItem where name=%s""", p['item_code']) pi = addchild(self.doc, 'pp_details', 'Production Plan Item', self.doclist) pi.sales_order = p['parent'] @@ -161,7 +161,7 @@ class DocType: msgprint("Please enter bom no for item: %s at row no: %s" % (d.item_code, d.idx), raise_exception=1) else: - bom = sql("""select name from `tabBOM` where name = %s and item = %s + bom = webnotes.conn.sql("""select name from `tabBOM` where name = %s and item = %s and docstatus = 1 and is_active = 1""", (d.bom_no, d.item_code), as_dict = 1) if not bom: @@ -242,7 +242,7 @@ class DocType: for bom in bom_dict: if self.doc.use_multi_level_bom: # get all raw materials with sub assembly childs - fl_bom_items = sql("""select fb.item_code, + fl_bom_items = webnotes.conn.sql("""select fb.item_code, ifnull(sum(fb.qty_consumed_per_unit), 0)*%s as qty, fb.description, fb.stock_uom, it.min_order_qty from `tabBOM Explosion Item` fb,`tabItem` it @@ -253,7 +253,7 @@ class DocType: else: # Get all raw materials considering SA items as raw materials, # so no childs of SA items - fl_bom_items = sql("""select bom_item.item_code, + fl_bom_items = webnotes.conn.sql("""select bom_item.item_code, ifnull(sum(bom_item.qty_consumed_per_unit), 0) * %s, bom_item.description, bom_item.stock_uom, item.min_order_qty from `tabBOM Item` bom_item, tabItem item @@ -273,7 +273,7 @@ class DocType: 'Quantity Requested for Purchase', 'Ordered Qty', 'Actual Qty']] for d in self.item_dict: item_list.append([d, self.item_dict[d][1], self.item_dict[d][2], self.item_dict[d][0]]) - item_qty= sql("""select warehouse, indented_qty, ordered_qty, actual_qty + item_qty= webnotes.conn.sql("""select warehouse, indented_qty, ordered_qty, actual_qty from `tabBin` where item_code = %s""", d) i_qty, o_qty, a_qty = 0, 0, 0 for w in item_qty: diff --git a/manufacturing/doctype/workstation/workstation.py b/manufacturing/doctype/workstation/workstation.py index 56833a9e5b..cc129340e4 100644 --- a/manufacturing/doctype/workstation/workstation.py +++ b/manufacturing/doctype/workstation/workstation.py @@ -17,9 +17,9 @@ class DocType: self.doclist = doclist def update_bom_operation(self): - bom_list = sql(" select DISTINCT parent from `tabBOM Operation` where workstation = '%s'" % self.doc.name) + bom_list = webnotes.conn.sql(" select DISTINCT parent from `tabBOM Operation` where workstation = '%s'" % self.doc.name) for bom_no in bom_list: - sql("update `tabBOM Operation` set hour_rate = '%s' where parent = '%s' and workstation = '%s'"%( self.doc.hour_rate, bom_no[0], self.doc.name)) + webnotes.conn.sql("update `tabBOM Operation` set hour_rate = '%s' where parent = '%s' and workstation = '%s'"%( self.doc.hour_rate, bom_no[0], self.doc.name)) def on_update(self): webnotes.conn.set(self.doc, 'overhead', flt(self.doc.hour_rate_electricity) + flt(self.doc.hour_rate_consumable) + flt(self.doc.hour_rate_rent)) diff --git a/projects/doctype/task/task.py b/projects/doctype/task/task.py index 856be5cc88..fb9b6ab6a6 100644 --- a/projects/doctype/task/task.py +++ b/projects/doctype/task/task.py @@ -16,13 +16,13 @@ class DocType: self.doclist = doclist def get_project_details(self): - cust = sql("select customer, customer_name from `tabProject` where name = %s", self.doc.project) + cust = webnotes.conn.sql("select customer, customer_name from `tabProject` where name = %s", self.doc.project) if cust: ret = {'customer': cust and cust[0][0] or '', 'customer_name': cust and cust[0][1] or ''} return ret def get_customer_details(self): - cust = sql("select customer_name from `tabCustomer` where name=%s", self.doc.customer) + cust = webnotes.conn.sql("select customer_name from `tabCustomer` where name=%s", self.doc.customer) if cust: ret = {'customer_name': cust and cust[0][0] or ''} return ret diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py index 0c2bf616dd..78fad0034f 100644 --- a/selling/doctype/customer/customer.py +++ b/selling/doctype/customer/customer.py @@ -30,7 +30,7 @@ class DocType(TransactionBase): return webnotes.conn.get_value('Company', self.doc.company, 'abbr') def get_receivables_group(self): - g = sql("select receivables_group from tabCompany where name=%s", self.doc.company) + g = webnotes.conn.sql("select receivables_group from tabCompany where name=%s", self.doc.company) g = g and g[0][0] or '' if not g: msgprint("Update Company master, assign a default group for Receivables") @@ -46,7 +46,7 @@ class DocType(TransactionBase): def update_lead_status(self): if self.doc.lead_name: - sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name) + webnotes.conn.sql("update `tabLead` set status='Converted' where name = %s", self.doc.lead_name) def create_account_head(self): if self.doc.company : @@ -131,7 +131,7 @@ class DocType(TransactionBase): def delete_customer_account(self): """delete customer's ledger if exist and check balance before deletion""" - acc = sql("select name from `tabAccount` where master_type = 'Customer' \ + acc = webnotes.conn.sql("select name from `tabAccount` where master_type = 'Customer' \ and master_name = %s and docstatus < 2", self.doc.name) if acc: from webnotes.model import delete_doc @@ -142,7 +142,7 @@ class DocType(TransactionBase): self.delete_customer_contact() self.delete_customer_account() if self.doc.lead_name: - sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name) + webnotes.conn.sql("update `tabLead` set status='Interested' where name=%s",self.doc.lead_name) def on_rename(self, new, old, merge=False): #update customer_name if not naming series diff --git a/selling/doctype/lead/lead.py b/selling/doctype/lead/lead.py index c0ef242baa..eb3c69571a 100644 --- a/selling/doctype/lead/lead.py +++ b/selling/doctype/lead/lead.py @@ -37,7 +37,7 @@ class DocType(SellingController): webnotes.conn.set(self.doc, 'status', status) def check_status(self): - chk = sql("select status from `tabLead` where name=%s", self.doc.name) + chk = webnotes.conn.sql("select status from `tabLead` where name=%s", self.doc.name) chk = chk and chk[0][0] or '' return cstr(chk) diff --git a/selling/doctype/opportunity/opportunity.py b/selling/doctype/opportunity/opportunity.py index df6861a773..284c5e0545 100644 --- a/selling/doctype/opportunity/opportunity.py +++ b/selling/doctype/opportunity/opportunity.py @@ -26,7 +26,7 @@ class DocType(TransactionBase): }) def get_item_details(self, item_code): - item = sql("""select item_name, stock_uom, description_html, description, item_group, brand + item = webnotes.conn.sql("""select item_name, stock_uom, description_html, description, item_group, brand from `tabItem` where name = %s""", item_code, as_dict=1) ret = { 'item_name': item and item[0]['item_name'] or '', @@ -38,7 +38,7 @@ class DocType(TransactionBase): return ret def get_cust_address(self,name): - details = sql("select customer_name, address, territory, customer_group from `tabCustomer` where name = '%s' and docstatus != 2" %(name), as_dict = 1) + details = webnotes.conn.sql("select customer_name, address, territory, customer_group from `tabCustomer` where name = '%s' and docstatus != 2" %(name), as_dict = 1) if details: ret = { 'customer_name': details and details[0]['customer_name'] or '', @@ -48,7 +48,7 @@ class DocType(TransactionBase): } # ********** get primary contact details (this is done separately coz. , in case there is no primary contact thn it would not be able to fetch customer details in case of join query) - contact_det = sql("select contact_name, contact_no, email_id from `tabContact` where customer = '%s' and is_customer = 1 and is_primary_contact = 'Yes' and docstatus != 2" %(name), as_dict = 1) + contact_det = webnotes.conn.sql("select contact_name, contact_no, email_id from `tabContact` where customer = '%s' and is_customer = 1 and is_primary_contact = 'Yes' and docstatus != 2" %(name), as_dict = 1) ret['contact_person'] = contact_det and contact_det[0]['contact_name'] or '' ret['contact_no'] = contact_det and contact_det[0]['contact_no'] or '' @@ -61,7 +61,7 @@ class DocType(TransactionBase): def get_contact_details(self, arg): arg = eval(arg) - contact = sql("select contact_no, email_id from `tabContact` where contact_name = '%s' and customer_name = '%s'" %(arg['contact_person'],arg['customer']), as_dict = 1) + contact = webnotes.conn.sql("select contact_no, email_id from `tabContact` where contact_name = '%s' and customer_name = '%s'" %(arg['contact_person'],arg['customer']), as_dict = 1) ret = { 'contact_no' : contact and contact[0]['contact_no'] or '', 'email_id' : contact and contact[0]['email_id'] or '' @@ -135,7 +135,7 @@ class DocType(TransactionBase): webnotes.conn.set(self.doc, 'status', 'Submitted') def on_cancel(self): - chk = sql("select t1.name from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.docstatus=1 and (t1.status!='Order Lost' and t1.status!='Cancelled') and t2.prevdoc_docname = %s",self.doc.name) + chk = webnotes.conn.sql("select t1.name from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.docstatus=1 and (t1.status!='Order Lost' and t1.status!='Cancelled') and t2.prevdoc_docname = %s",self.doc.name) if chk: msgprint("Quotation No. "+cstr(chk[0][0])+" is submitted against this Opportunity. Thus can not be cancelled.") raise Exception @@ -143,7 +143,7 @@ class DocType(TransactionBase): webnotes.conn.set(self.doc, 'status', 'Cancelled') def declare_enquiry_lost(self,arg): - chk = sql("select t1.name from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.docstatus=1 and (t1.status!='Order Lost' and t1.status!='Cancelled') and t2.prevdoc_docname = %s",self.doc.name) + chk = webnotes.conn.sql("select t1.name from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.docstatus=1 and (t1.status!='Order Lost' and t1.status!='Cancelled') and t2.prevdoc_docname = %s",self.doc.name) if chk: msgprint("Quotation No. "+cstr(chk[0][0])+" is submitted against this Opportunity. Thus 'Opportunity Lost' can not be declared against it.") raise Exception diff --git a/selling/doctype/quotation/quotation.py b/selling/doctype/quotation/quotation.py index 8ac0d1925a..8a3bef10e9 100644 --- a/selling/doctype/quotation/quotation.py +++ b/selling/doctype/quotation/quotation.py @@ -77,7 +77,7 @@ class DocType(SellingController): if self.doc.order_type in ['Maintenance', 'Service']: for d in getlist(self.doclist, 'quotation_details'): - is_service_item = sql("select is_service_item from `tabItem` where name=%s", d.item_code) + is_service_item = webnotes.conn.sql("select is_service_item from `tabItem` where name=%s", d.item_code) is_service_item = is_service_item and is_service_item[0][0] or 'No' if is_service_item == 'No': @@ -85,7 +85,7 @@ class DocType(SellingController): raise Exception else: for d in getlist(self.doclist, 'quotation_details'): - is_sales_item = sql("select is_sales_item from `tabItem` where name=%s", d.item_code) + is_sales_item = webnotes.conn.sql("select is_sales_item from `tabItem` where name=%s", d.item_code) is_sales_item = is_sales_item and is_sales_item[0][0] or 'No' if is_sales_item == 'No': @@ -141,18 +141,18 @@ class DocType(SellingController): if prevdoc: if flag == 'submit': #on submit - sql("update `tabOpportunity` set status = 'Quotation Sent' where name = %s", prevdoc) + webnotes.conn.sql("update `tabOpportunity` set status = 'Quotation Sent' where name = %s", prevdoc) elif flag == 'cancel': #on cancel - sql("update `tabOpportunity` set status = 'Open' where name = %s", prevdoc) + webnotes.conn.sql("update `tabOpportunity` set status = 'Open' where name = %s", prevdoc) elif flag == 'order lost': #order lost - sql("update `tabOpportunity` set status = 'Opportunity Lost' where name=%s", prevdoc) + webnotes.conn.sql("update `tabOpportunity` set status = 'Opportunity Lost' where name=%s", prevdoc) elif flag == 'order confirm': #order confirm - sql("update `tabOpportunity` set status='Order Confirmed' where name=%s", prevdoc) + webnotes.conn.sql("update `tabOpportunity` set status='Order Confirmed' where name=%s", prevdoc) # declare as order lost #------------------------- def declare_order_lost(self, arg): - chk = sql("select t1.name from `tabSales Order` t1, `tabSales Order Item` t2 where t2.parent = t1.name and t1.docstatus=1 and t2.prevdoc_docname = %s",self.doc.name) + chk = webnotes.conn.sql("select t1.name from `tabSales Order` t1, `tabSales Order Item` t2 where t2.parent = t1.name and t1.docstatus=1 and t2.prevdoc_docname = %s",self.doc.name) if chk: msgprint("Sales Order No. "+cstr(chk[0][0])+" is submitted against this Quotation. Thus 'Order Lost' can not be declared against it.") raise Exception diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py index 5043a77d76..c9ef5d3bba 100644 --- a/selling/doctype/sales_order/sales_order.py +++ b/selling/doctype/sales_order/sales_order.py @@ -87,14 +87,14 @@ class DocType(SellingController): # used for production plan d.transaction_date = self.doc.transaction_date - tot_avail_qty = sql("select projected_qty from `tabBin` \ + tot_avail_qty = webnotes.conn.sql("select projected_qty from `tabBin` \ where item_code = '%s' and warehouse = '%s'" % (d.item_code,d.reserved_warehouse)) d.projected_qty = tot_avail_qty and flt(tot_avail_qty[0][0]) or 0 def validate_sales_mntc_quotation(self): for d in getlist(self.doclist, 'sales_order_details'): if d.prevdoc_docname: - res = sql("select name from `tabQuotation` where name=%s and order_type = %s", (d.prevdoc_docname, self.doc.order_type)) + res = webnotes.conn.sql("select name from `tabQuotation` where name=%s and order_type = %s", (d.prevdoc_docname, self.doc.order_type)) if not res: msgprint("""Order Type (%s) should be same in Quotation: %s \ and current Sales Order""" % (self.doc.order_type, d.prevdoc_docname)) @@ -111,7 +111,7 @@ class DocType(SellingController): def validate_proj_cust(self): if self.doc.project_name and self.doc.customer_name: - res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) + res = webnotes.conn.sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) if not res: msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name)) raise Exception @@ -167,28 +167,28 @@ class DocType(SellingController): def check_prev_docstatus(self): for d in getlist(self.doclist, 'sales_order_details'): - cancel_quo = sql("select name from `tabQuotation` where docstatus = 2 and name = '%s'" % d.prevdoc_docname) + cancel_quo = webnotes.conn.sql("select name from `tabQuotation` where docstatus = 2 and name = '%s'" % d.prevdoc_docname) if cancel_quo: msgprint("Quotation :" + cstr(cancel_quo[0][0]) + " is already cancelled !") raise Exception , "Validation Error. " def update_enquiry_status(self, prevdoc, flag): - enq = sql("select t2.prevdoc_docname from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.name=%s", prevdoc) + enq = webnotes.conn.sql("select t2.prevdoc_docname from `tabQuotation` t1, `tabQuotation Item` t2 where t2.parent = t1.name and t1.name=%s", prevdoc) if enq: - sql("update `tabOpportunity` set status = %s where name=%s",(flag,enq[0][0])) + webnotes.conn.sql("update `tabOpportunity` set status = %s where name=%s",(flag,enq[0][0])) def update_prevdoc_status(self, flag): for d in getlist(self.doclist, 'sales_order_details'): if d.prevdoc_docname: if flag=='submit': - sql("update `tabQuotation` set status = 'Order Confirmed' where name=%s",d.prevdoc_docname) + webnotes.conn.sql("update `tabQuotation` set status = 'Order Confirmed' where name=%s",d.prevdoc_docname) #update enquiry self.update_enquiry_status(d.prevdoc_docname, 'Order Confirmed') elif flag == 'cancel': - chk = sql("select t1.name from `tabSales Order` t1, `tabSales Order Item` t2 where t2.parent = t1.name and t2.prevdoc_docname=%s and t1.name!=%s and t1.docstatus=1", (d.prevdoc_docname,self.doc.name)) + chk = webnotes.conn.sql("select t1.name from `tabSales Order` t1, `tabSales Order Item` t2 where t2.parent = t1.name and t2.prevdoc_docname=%s and t1.name!=%s and t1.docstatus=1", (d.prevdoc_docname,self.doc.name)) if not chk: - sql("update `tabQuotation` set status = 'Submitted' where name=%s",d.prevdoc_docname) + webnotes.conn.sql("update `tabQuotation` set status = 'Submitted' where name=%s",d.prevdoc_docname) #update enquiry self.update_enquiry_status(d.prevdoc_docname, 'Quotation Sent') @@ -218,35 +218,35 @@ class DocType(SellingController): def check_nextdoc_docstatus(self): # Checks Delivery Note - submit_dn = sql("select t1.name from `tabDelivery Note` t1,`tabDelivery Note Item` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) + submit_dn = webnotes.conn.sql("select t1.name from `tabDelivery Note` t1,`tabDelivery Note Item` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_dn: msgprint("Delivery Note : " + cstr(submit_dn[0][0]) + " has been submitted against " + cstr(self.doc.doctype) + ". Please cancel Delivery Note : " + cstr(submit_dn[0][0]) + " first and then cancel "+ cstr(self.doc.doctype), raise_exception = 1) # Checks Sales Invoice - submit_rv = sql("select t1.name from `tabSales Invoice` t1,`tabSales Invoice Item` t2 where t1.name = t2.parent and t2.sales_order = '%s' and t1.docstatus = 1" % (self.doc.name)) + submit_rv = webnotes.conn.sql("select t1.name from `tabSales Invoice` t1,`tabSales Invoice Item` t2 where t1.name = t2.parent and t2.sales_order = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_rv: msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted against " +cstr(self.doc.doctype)+ ". Please cancel Sales Invoice : "+ cstr(submit_rv[0][0]) + " first and then cancel "+ cstr(self.doc.doctype), raise_exception = 1) #check maintenance schedule - submit_ms = sql("select t1.name from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2 where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1",self.doc.name) + submit_ms = webnotes.conn.sql("select t1.name from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2 where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1",self.doc.name) if submit_ms: msgprint("Maintenance Schedule : " + cstr(submit_ms[0][0]) + " has already been submitted against " +cstr(self.doc.doctype)+ ". Please cancel Maintenance Schedule : "+ cstr(submit_ms[0][0]) + " first and then cancel "+ cstr(self.doc.doctype), raise_exception = 1) # check maintenance visit - submit_mv = sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1",self.doc.name) + submit_mv = webnotes.conn.sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1",self.doc.name) if submit_mv: msgprint("Maintenance Visit : " + cstr(submit_mv[0][0]) + " has already been submitted against " +cstr(self.doc.doctype)+ ". Please cancel Maintenance Visit : " + cstr(submit_mv[0][0]) + " first and then cancel "+ cstr(self.doc.doctype), raise_exception = 1) # check production order - pro_order = sql("""select name from `tabProduction Order` where sales_order = %s and docstatus = 1""", self.doc.name) + pro_order = webnotes.conn.sql("""select name from `tabProduction Order` where sales_order = %s and docstatus = 1""", self.doc.name) if pro_order: msgprint("""Production Order: %s exists against this sales order. Please cancel production order first and then cancel this sales order""" % pro_order[0][0], raise_exception=1) def check_modified_date(self): - mod_db = sql("select modified from `tabSales Order` where name = '%s'" % self.doc.name) - date_diff = sql("select TIMEDIFF('%s', '%s')" % ( mod_db[0][0],cstr(self.doc.modified))) + mod_db = webnotes.conn.sql("select modified from `tabSales Order` where name = '%s'" % self.doc.name) + date_diff = webnotes.conn.sql("select TIMEDIFF('%s', '%s')" % ( mod_db[0][0],cstr(self.doc.modified))) if date_diff and date_diff[0][0]: msgprint("%s: %s has been modified after you have opened. Please Refresh" % (self.doc.doctype, self.doc.name), raise_exception=1) diff --git a/selling/doctype/sms_center/sms_center.py b/selling/doctype/sms_center/sms_center.py index 8db20b0275..6f16798d8b 100644 --- a/selling/doctype/sms_center/sms_center.py +++ b/selling/doctype/sms_center/sms_center.py @@ -28,15 +28,15 @@ class DocType: where_clause = self.doc.sales_partner and " and ifnull(is_sales_partner, 0) = 1 and sales_partner = '%s'" % self.doc.sales_partner or " and ifnull(sales_partner, '') != ''" if self.doc.send_to in ['All Contact', 'All Customer Contact', 'All Supplier Contact', 'All Sales Partner Contact']: - rec = sql("select CONCAT(ifnull(first_name,''),'',ifnull(last_name,'')), mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and docstatus != 2 %s" % where_clause) + rec = webnotes.conn.sql("select CONCAT(ifnull(first_name,''),'',ifnull(last_name,'')), mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and docstatus != 2 %s" % where_clause) elif self.doc.send_to == 'All Lead (Open)': - rec = sql("select lead_name, mobile_no from tabLead where ifnull(mobile_no,'')!='' and docstatus != 2 and status = 'Open'") + rec = webnotes.conn.sql("select lead_name, mobile_no from tabLead where ifnull(mobile_no,'')!='' and docstatus != 2 and status = 'Open'") elif self.doc.send_to == 'All Employee (Active)': where_clause = self.doc.department and " and department = '%s'" % self.doc.department or "" where_clause += self.doc.branch and " and branch = '%s'" % self.doc.branch or "" - rec = sql("select employee_name, cell_number from `tabEmployee` where status = 'Active' and docstatus < 2 and ifnull(cell_number,'')!='' %s" % where_clause) + rec = webnotes.conn.sql("select employee_name, cell_number from `tabEmployee` where status = 'Active' and docstatus < 2 and ifnull(cell_number,'')!='' %s" % where_clause) elif self.doc.send_to == 'All Sales Person': - rec = sql("select sales_person_name, mobile_no from `tabSales Person` where docstatus != 2 and ifnull(mobile_no,'')!=''") + rec = webnotes.conn.sql("select sales_person_name, mobile_no from `tabSales Person` where docstatus != 2 and ifnull(mobile_no,'')!=''") rec_list = '' for d in rec: rec_list += d[0] + ' - ' + d[1] + '\n' diff --git a/setup/doctype/authorization_control/authorization_control.py b/setup/doctype/authorization_control/authorization_control.py index 26f7705af3..533f3988e3 100644 --- a/setup/doctype/authorization_control/authorization_control.py +++ b/setup/doctype/authorization_control/authorization_control.py @@ -27,10 +27,10 @@ class DocType(TransactionBase): amt_list.append(flt(x[0])) max_amount = max(amt_list) - app_dtl = sql("select approving_user, approving_role from `tabAuthorization Rule` where transaction = %s and (value = %s or value > %s) and docstatus != 2 and based_on = %s and company = %s %s" % ('%s', '%s', '%s', '%s', '%s', condition), (doctype_name, flt(max_amount), total, based_on, company)) + app_dtl = webnotes.conn.sql("select approving_user, approving_role from `tabAuthorization Rule` where transaction = %s and (value = %s or value > %s) and docstatus != 2 and based_on = %s and company = %s %s" % ('%s', '%s', '%s', '%s', '%s', condition), (doctype_name, flt(max_amount), total, based_on, company)) if not app_dtl: - app_dtl = sql("select approving_user, approving_role from `tabAuthorization Rule` where transaction = %s and (value = %s or value > %s) and docstatus != 2 and based_on = %s and ifnull(company,'') = '' %s" % ('%s', '%s', '%s', '%s', condition), (doctype_name, flt(max_amount), total, based_on)) + app_dtl = webnotes.conn.sql("select approving_user, approving_role from `tabAuthorization Rule` where transaction = %s and (value = %s or value > %s) and docstatus != 2 and based_on = %s and ifnull(company,'') = '' %s" % ('%s', '%s', '%s', '%s', condition), (doctype_name, flt(max_amount), total, based_on)) for d in app_dtl: if(d[0]): appr_users.append(d[0]) if(d[1]): appr_roles.append(d[1]) @@ -57,18 +57,18 @@ class DocType(TransactionBase): add_cond1,add_cond2 = '','' if based_on == 'Itemwise Discount': add_cond1 += " and master_name = '"+cstr(item)+"'" - itemwise_exists = sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and company = %s and docstatus != 2 %s %s" % ('%s', '%s', '%s', '%s', cond, add_cond1), (doctype_name, total, based_on, company)) + itemwise_exists = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and company = %s and docstatus != 2 %s %s" % ('%s', '%s', '%s', '%s', cond, add_cond1), (doctype_name, total, based_on, company)) if not itemwise_exists: - itemwise_exists = sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and ifnull(company,'') = '' and docstatus != 2 %s %s" % ('%s', '%s', '%s', cond, add_cond1), (doctype_name, total, based_on)) + itemwise_exists = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and ifnull(company,'') = '' and docstatus != 2 %s %s" % ('%s', '%s', '%s', cond, add_cond1), (doctype_name, total, based_on)) if itemwise_exists: self.get_appr_user_role(itemwise_exists, doctype_name, total, based_on, cond+add_cond1, item,company) chk = 0 if chk == 1: if based_on == 'Itemwise Discount': add_cond2 += " and ifnull(master_name,'') = ''" - appr = sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and company = %s and docstatus != 2 %s %s" % ('%s', '%s', '%s', '%s', cond, add_cond2), (doctype_name, total, based_on, company)) + appr = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and company = %s and docstatus != 2 %s %s" % ('%s', '%s', '%s', '%s', cond, add_cond2), (doctype_name, total, based_on, company)) if not appr: - appr = sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and ifnull(company,'') = '' and docstatus != 2 %s %s"% ('%s', '%s', '%s', cond, add_cond2), (doctype_name, total, based_on)) + appr = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction = %s and value <= %s and based_on = %s and ifnull(company,'') = '' and docstatus != 2 %s %s"% ('%s', '%s', '%s', cond, add_cond2), (doctype_name, total, based_on)) self.get_appr_user_role(appr, doctype_name, total, based_on, cond+add_cond2, item, company) @@ -111,7 +111,7 @@ class DocType(TransactionBase): # ================ # Check for authorization set for individual user - based_on = [x[0] for x in sql("select distinct based_on from `tabAuthorization Rule` where transaction = %s and system_user = %s and (company = %s or ifnull(company,'')='') and docstatus != 2", (doctype_name, session['user'], company))] + based_on = [x[0] for x in webnotes.conn.sql("select distinct based_on from `tabAuthorization Rule` where transaction = %s and system_user = %s and (company = %s or ifnull(company,'')='') and docstatus != 2", (doctype_name, session['user'], company))] for d in based_on: self.bifurcate_based_on_type(doctype_name, total, av_dis, d, doc_obj, 1, company) @@ -123,7 +123,7 @@ class DocType(TransactionBase): # Specific Role # =============== # Check for authorization set on particular roles - based_on = [x[0] for x in sql("""select based_on + based_on = [x[0] for x in webnotes.conn.sql("""select based_on from `tabAuthorization Rule` where transaction = %s and system_role IN (%s) and based_on IN (%s) and (company = %s or ifnull(company,'')='') @@ -147,9 +147,9 @@ class DocType(TransactionBase): # payroll related check def get_value_based_rule(self,doctype_name,employee,total_claimed_amount,company): val_lst =[] - val = sql("select value from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)< %s and company = %s and docstatus!=2",(doctype_name,employee,employee,total_claimed_amount,company)) + val = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)< %s and company = %s and docstatus!=2",(doctype_name,employee,employee,total_claimed_amount,company)) if not val: - val = sql("select value from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)< %s and ifnull(company,'') = '' and docstatus!=2",(doctype_name, employee, employee, total_claimed_amount)) + val = webnotes.conn.sql("select value from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)< %s and ifnull(company,'') = '' and docstatus!=2",(doctype_name, employee, employee, total_claimed_amount)) if val: val_lst = [y[0] for y in val] @@ -157,9 +157,9 @@ class DocType(TransactionBase): val_lst.append(0) max_val = max(val_lst) - rule = sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and company = %s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)= %s and docstatus!=2",(doctype_name,company,employee,employee,flt(max_val)), as_dict=1) + rule = webnotes.conn.sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and company = %s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)= %s and docstatus!=2",(doctype_name,company,employee,employee,flt(max_val)), as_dict=1) if not rule: - rule = sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and ifnull(company,'') = '' and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)= %s and docstatus!=2",(doctype_name,employee,employee,flt(max_val)), as_dict=1) + rule = webnotes.conn.sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and ifnull(company,'') = '' and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(value,0)= %s and docstatus!=2",(doctype_name,employee,employee,flt(max_val)), as_dict=1) return rule @@ -174,9 +174,9 @@ class DocType(TransactionBase): if doctype_name == 'Expense Claim': rule = self.get_value_based_rule(doctype_name,doc_obj.doc.employee,doc_obj.doc.total_claimed_amount, doc_obj.doc.company) elif doctype_name == 'Appraisal': - rule = sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and company = %s and docstatus!=2",(doctype_name,doc_obj.doc.employee, doc_obj.doc.employee, doc_obj.doc.company),as_dict=1) + rule = webnotes.conn.sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and company = %s and docstatus!=2",(doctype_name,doc_obj.doc.employee, doc_obj.doc.employee, doc_obj.doc.company),as_dict=1) if not rule: - rule = sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(company,'') = '' and docstatus!=2",(doctype_name,doc_obj.doc.employee, doc_obj.doc.employee),as_dict=1) + rule = webnotes.conn.sql("select name, to_emp, to_designation, approving_role, approving_user from `tabAuthorization Rule` where transaction=%s and (to_emp=%s or to_designation IN (select designation from `tabEmployee` where name=%s)) and ifnull(company,'') = '' and docstatus!=2",(doctype_name,doc_obj.doc.employee, doc_obj.doc.employee),as_dict=1) if rule: for m in rule: @@ -184,7 +184,7 @@ class DocType(TransactionBase): if m['approving_user']: app_specific_user.append(m['approving_user']) elif m['approving_role']: - user_lst = [z[0] for z in sql("select distinct t1.name from `tabProfile` t1, `tabUserRole` t2 where t2.role=%s and t2.parent=t1.name and t1.name !='Administrator' and t1.name != 'Guest' and t1.docstatus !=2",m['approving_role'])] + user_lst = [z[0] for z in webnotes.conn.sql("select distinct t1.name from `tabProfile` t1, `tabUserRole` t2 where t2.role=%s and t2.parent=t1.name and t1.name !='Administrator' and t1.name != 'Guest' and t1.docstatus !=2",m['approving_role'])] for x in user_lst: if not x in app_user: app_user.append(x) diff --git a/setup/doctype/authorization_rule/authorization_rule.py b/setup/doctype/authorization_rule/authorization_rule.py index 5192ebf769..ea22b154b9 100644 --- a/setup/doctype/authorization_rule/authorization_rule.py +++ b/setup/doctype/authorization_rule/authorization_rule.py @@ -18,7 +18,7 @@ class DocType: def check_duplicate_entry(self): - exists = sql("""select name, docstatus from `tabAuthorization Rule` + exists = webnotes.conn.sql("""select name, docstatus from `tabAuthorization Rule` where transaction = %s and based_on = %s and system_user = %s and system_role = %s and approving_user = %s and approving_role = %s and to_emp =%s and to_designation=%s and name != %s""", @@ -38,12 +38,12 @@ class DocType: def validate_master_name(self): if self.doc.based_on == 'Customerwise Discount' and \ - not sql("select name from tabCustomer where name = '%s' and docstatus != 2" % \ + not webnotes.conn.sql("select name from tabCustomer where name = '%s' and docstatus != 2" % \ (self.doc.master_name)): msgprint("Please select valid Customer Name for Customerwise Discount", raise_exception=1) elif self.doc.based_on == 'Itemwise Discount' and \ - not sql("select name from tabItem where name = '%s' and docstatus != 2" % \ + not webnotes.conn.sql("select name from tabItem where name = '%s' and docstatus != 2" % \ (self.doc.master_name)): msgprint("Please select valid Item Name for Itemwise Discount", raise_exception=1) elif (self.doc.based_on == 'Grand Total' or \ @@ -64,7 +64,7 @@ class DocType: Applicable To (Role).", raise_exception=1) elif self.doc.system_user and self.doc.approving_role and \ has_common([self.doc.approving_role], [x[0] for x in \ - sql("select role from `tabUserRole` where parent = '%s'" % \ + webnotes.conn.sql("select role from `tabUserRole` where parent = '%s'" % \ (self.doc.system_user))]): msgprint("System User : %s is assigned role : %s. So rule does not make sense" % (self.doc.system_user,self.doc.approving_role), raise_exception=1) diff --git a/setup/doctype/customer_group/customer_group.py b/setup/doctype/customer_group/customer_group.py index 8b68cc50e4..1264c1b3ec 100644 --- a/setup/doctype/customer_group/customer_group.py +++ b/setup/doctype/customer_group/customer_group.py @@ -14,7 +14,7 @@ class DocType(DocTypeNestedSet): self.nsm_parent_field = 'parent_customer_group'; def validate(self): - if sql("select name from `tabCustomer Group` where name = %s and docstatus = 2", + if webnotes.conn.sql("select name from `tabCustomer Group` where name = %s and docstatus = 2", (self.doc.customer_group_name)): msgprint("""Another %s record is trashed. To untrash please go to Setup -> Recycle Bin.""" % @@ -32,7 +32,7 @@ class DocType(DocTypeNestedSet): self.doc.name, raise_exception=1) def on_trash(self): - cust = sql("select name from `tabCustomer` where ifnull(customer_group, '') = %s", + cust = webnotes.conn.sql("select name from `tabCustomer` where ifnull(customer_group, '') = %s", self.doc.name) cust = [d[0] for d in cust] if cust: @@ -41,7 +41,7 @@ class DocType(DocTypeNestedSet): To trash/delete this, remove/change customer group in customer master""" % (self.doc.name, cust or ''), raise_exception=1) - if sql("select name from `tabCustomer Group` where parent_customer_group = %s \ + if webnotes.conn.sql("select name from `tabCustomer Group` where parent_customer_group = %s \ and docstatus != 2", self.doc.name): msgprint("Child customer group exists for this customer group. \ You can not trash/cancel/delete this customer group.", raise_exception=1) diff --git a/setup/doctype/naming_series/naming_series.py b/setup/doctype/naming_series/naming_series.py index 6312801fe8..4e85b15f6d 100644 --- a/setup/doctype/naming_series/naming_series.py +++ b/setup/doctype/naming_series/naming_series.py @@ -22,7 +22,7 @@ class DocType: where fieldname='naming_series'""") )))), "prefixes": "\n".join([''] + [i[0] for i in - sql("""select name from tabSeries""")]) + webnotes.conn.sql("""select name from tabSeries""")]) } def scrub_options_list(self, ol): @@ -125,12 +125,12 @@ class DocType: def insert_series(self, series): """insert series if missing""" if not webnotes.conn.exists('Series', series): - sql("insert into tabSeries (name, current) values (%s,0)", (series)) + webnotes.conn.sql("insert into tabSeries (name, current) values (%s,0)", (series)) def update_series_start(self): if self.doc.prefix: self.insert_series(self.doc.prefix) - sql("update `tabSeries` set current = '%s' where name = '%s'" % (self.doc.current_value,self.doc.prefix)) + webnotes.conn.sql("update `tabSeries` set current = '%s' where name = '%s'" % (self.doc.current_value,self.doc.prefix)) msgprint("Series Updated Successfully") else: msgprint("Please select prefix first") diff --git a/setup/doctype/notification_control/notification_control.py b/setup/doctype/notification_control/notification_control.py index 23493624dd..0a151152d6 100644 --- a/setup/doctype/notification_control/notification_control.py +++ b/setup/doctype/notification_control/notification_control.py @@ -13,7 +13,7 @@ class DocType: def get_message(self, arg): fn = arg.lower().replace(' ', '_') + '_message' - v = sql("select value from tabSingles where field=%s and doctype=%s", (fn, 'Notification Control')) + v = webnotes.conn.sql("select value from tabSingles where field=%s and doctype=%s", (fn, 'Notification Control')) return v and v[0][0] or '' def set_message(self, arg = ''): diff --git a/setup/doctype/sales_partner/sales_partner.py b/setup/doctype/sales_partner/sales_partner.py index 8915ff1cc0..79a59db71a 100644 --- a/setup/doctype/sales_partner/sales_partner.py +++ b/setup/doctype/sales_partner/sales_partner.py @@ -23,7 +23,7 @@ class DocType: def get_contacts(self,nm): if nm: - contact_details =webnotes.conn.convert_to_lists(sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where sales_partner = '%s'"%nm)) + contact_details =webnotes.conn.convert_to_lists(webnotes.conn.sql("select name, CONCAT(IFNULL(first_name,''),' ',IFNULL(last_name,'')),contact_no,email_id from `tabContact` where sales_partner = '%s'"%nm)) return contact_details else: return '' diff --git a/stock/doctype/bin/bin.py b/stock/doctype/bin/bin.py index 954ef783a4..8c892c1324 100644 --- a/stock/doctype/bin/bin.py +++ b/stock/doctype/bin/bin.py @@ -60,7 +60,7 @@ class DocType: self.doc.save() def get_first_sle(self): - sle = sql(""" + sle = webnotes.conn.sql(""" select * from `tabStock Ledger Entry` where item_code = %s and warehouse = %s diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py index ce06ce3d0b..5242f60ea6 100644 --- a/stock/doctype/delivery_note/delivery_note.py +++ b/stock/doctype/delivery_note/delivery_note.py @@ -57,7 +57,7 @@ class DocType(SellingController): def set_actual_qty(self): for d in getlist(self.doclist, 'delivery_note_details'): if d.item_code and d.warehouse: - actual_qty = sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse)) + actual_qty = webnotes.conn.sql("select actual_qty from `tabBin` where item_code = '%s' and warehouse = '%s'" % (d.item_code, d.warehouse)) d.actual_qty = actual_qty and flt(actual_qty[0][0]) or 0 @@ -133,7 +133,7 @@ class DocType(SellingController): def validate_proj_cust(self): """check for does customer belong to same project as entered..""" if self.doc.project_name and self.doc.customer: - res = sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) + res = webnotes.conn.sql("select name from `tabProject` where name = '%s' and (customer = '%s' or ifnull(customer,'')='')"%(self.doc.project_name, self.doc.customer)) if not res: msgprint("Customer - %s does not belong to project - %s. \n\nIf you want to use project for multiple customers then please make customer details blank in project - %s."%(self.doc.customer,self.doc.project_name,self.doc.project_name)) raise Exception @@ -167,11 +167,11 @@ class DocType(SellingController): def update_current_stock(self): for d in getlist(self.doclist, 'delivery_note_details'): - bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + bin = webnotes.conn.sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 for d in getlist(self.doclist, 'packing_details'): - bin = sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) + bin = webnotes.conn.sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1) d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0 d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0 @@ -266,12 +266,12 @@ class DocType(SellingController): webnotes.msgprint("Packing Error:\n" + err_msg, raise_exception=1) def check_next_docstatus(self): - submit_rv = sql("select t1.name from `tabSales Invoice` t1,`tabSales Invoice Item` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name)) + submit_rv = webnotes.conn.sql("select t1.name from `tabSales Invoice` t1,`tabSales Invoice Item` t2 where t1.name = t2.parent and t2.delivery_note = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_rv: msgprint("Sales Invoice : " + cstr(submit_rv[0][0]) + " has already been submitted !") raise Exception , "Validation Error." - submit_in = sql("select t1.name from `tabInstallation Note` t1, `tabInstallation Note Item` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) + submit_in = webnotes.conn.sql("select t1.name from `tabInstallation Note` t1, `tabInstallation Note Item` t2 where t1.name = t2.parent and t2.prevdoc_docname = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_in: msgprint("Installation Note : "+cstr(submit_in[0][0]) +" has already been submitted !") raise Exception , "Validation Error." diff --git a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py index 5275632054..b9bbb068f1 100644 --- a/stock/doctype/landed_cost_wizard/landed_cost_wizard.py +++ b/stock/doctype/landed_cost_wizard/landed_cost_wizard.py @@ -32,7 +32,7 @@ class DocType: self.doclist = self.doc.clear_table(self.doclist,'lc_pr_details',1) self.check_mandatory() - pr = sql("select name from `tabPurchase Receipt` where docstatus = 1 and posting_date >= '%s' and posting_date <= '%s' and currency = '%s' order by name " % (self.doc.from_pr_date, self.doc.to_pr_date, self.doc.currency), as_dict = 1) + pr = webnotes.conn.sql("select name from `tabPurchase Receipt` where docstatus = 1 and posting_date >= '%s' and posting_date <= '%s' and currency = '%s' order by name " % (self.doc.from_pr_date, self.doc.to_pr_date, self.doc.currency), as_dict = 1) if len(pr)>200: msgprint("Please enter date of shorter duration as there are too many purchase receipt, hence it cannot be loaded.", raise_exception=1) @@ -50,14 +50,14 @@ class DocType: def validate_selected_pr(self): """Validate selected PR as submitted""" - invalid_pr = sql("SELECT name FROM `tabPurchase Receipt` WHERE docstatus != 1 and name in (%s)" % ("'" + "', '".join(self.selected_pr) + "'")) + invalid_pr = webnotes.conn.sql("SELECT name FROM `tabPurchase Receipt` WHERE docstatus != 1 and name in (%s)" % ("'" + "', '".join(self.selected_pr) + "'")) if invalid_pr: msgprint("Selected purchase receipts must be submitted. Following PR are not submitted: %s" % invalid_pr, raise_exception=1) def get_total_amt(self): """ Get sum of net total of all selected PR""" - return sql("SELECT SUM(net_total) FROM `tabPurchase Receipt` WHERE name in (%s)" % ("'" + "', '".join(self.selected_pr) + "'"))[0][0] + return webnotes.conn.sql("SELECT SUM(net_total) FROM `tabPurchase Receipt` WHERE name in (%s)" % ("'" + "', '".join(self.selected_pr) + "'"))[0][0] def add_charges_in_pr(self): @@ -73,7 +73,7 @@ class DocType: self.prwise_cost[pr] = self.prwise_cost.get(pr, 0) + amt cumulative_grand_total += amt - pr_oc_row = sql("select name from `tabPurchase Taxes and Charges` where parent = %s and category = 'Valuation' and add_deduct_tax = 'Add' and charge_type = 'Actual' and account_head = %s",(pr, lc.account_head)) + pr_oc_row = webnotes.conn.sql("select name from `tabPurchase Taxes and Charges` where parent = %s and category = 'Valuation' and add_deduct_tax = 'Add' and charge_type = 'Actual' and account_head = %s",(pr, lc.account_head)) if not pr_oc_row: # add if not exists ch = addchild(pr_obj.doc, 'purchase_tax_details', 'Purchase Taxes and Charges') ch.category = 'Valuation' @@ -88,7 +88,7 @@ class DocType: ch.idx = 500 # add at the end ch.save(1) else: # overwrite if exists - sql("update `tabPurchase Taxes and Charges` set rate = %s, tax_amount = %s where name = %s and parent = %s ", (amt, amt, pr_oc_row[0][0], pr)) + webnotes.conn.sql("update `tabPurchase Taxes and Charges` set rate = %s, tax_amount = %s where name = %s and parent = %s ", (amt, amt, pr_oc_row[0][0], pr)) def reset_other_charges(self, pr_obj): @@ -200,9 +200,9 @@ class DocType: d.save() if d.serial_no: self.update_serial_no(d.serial_no, d.valuation_rate) - sql("update `tabStock Ledger Entry` set incoming_rate = '%s' where voucher_detail_no = '%s'"%(flt(d.valuation_rate), d.name)) + webnotes.conn.sql("update `tabStock Ledger Entry` set incoming_rate = '%s' where voucher_detail_no = '%s'"%(flt(d.valuation_rate), d.name)) - res = sql("""select item_code, warehouse, posting_date, posting_time + res = webnotes.conn.sql("""select item_code, warehouse, posting_date, posting_time from `tabStock Ledger Entry` where voucher_detail_no = %s LIMIT 1""", d.name, as_dict=1) diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py index 084f30cd59..1d48975b37 100644 --- a/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/stock/doctype/purchase_receipt/purchase_receipt.py @@ -216,7 +216,7 @@ class DocType(BuyingController): def validate_inspection(self): for d in getlist(self.doclist, 'purchase_receipt_details'): #Enter inspection date for all items that require inspection - ins_reqd = sql("select inspection_required from `tabItem` where name = %s", + ins_reqd = webnotes.conn.sql("select inspection_required from `tabItem` where name = %s", (d.item_code,), as_dict = 1) ins_reqd = ins_reqd and ins_reqd[0]['inspection_required'] or 'No' if ins_reqd == 'Yes' and not d.qa_no: @@ -269,7 +269,7 @@ class DocType(BuyingController): sr.save() def check_next_docstatus(self): - submit_rv = sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_receipt = '%s' and t1.docstatus = 1" % (self.doc.name)) + submit_rv = webnotes.conn.sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_receipt = '%s' and t1.docstatus = 1" % (self.doc.name)) if submit_rv: msgprint("Purchase Invoice : " + cstr(self.submit_rv[0][0]) + " has already been submitted !") raise Exception , "Validation Error." @@ -282,7 +282,7 @@ class DocType(BuyingController): # 1.Check if Purchase Invoice has been submitted against current Purchase Order # pc_obj.check_docstatus(check = 'Next', doctype = 'Purchase Invoice', docname = self.doc.name, detail_doctype = 'Purchase Invoice Item') - submitted = sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_receipt = '%s' and t1.docstatus = 1" % self.doc.name) + submitted = webnotes.conn.sql("select t1.name from `tabPurchase Invoice` t1,`tabPurchase Invoice Item` t2 where t1.name = t2.parent and t2.purchase_receipt = '%s' and t1.docstatus = 1" % self.doc.name) if submitted: msgprint("Purchase Invoice : " + cstr(submitted[0][0]) + " has already been submitted !") raise Exception @@ -313,7 +313,7 @@ class DocType(BuyingController): def get_current_stock(self): for d in getlist(self.doclist, 'pr_raw_material_details'): if self.doc.supplier_warehouse: - bin = sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.rm_item_code, self.doc.supplier_warehouse), as_dict = 1) + bin = webnotes.conn.sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.rm_item_code, self.doc.supplier_warehouse), as_dict = 1) d.current_stock = bin and flt(bin[0]['actual_qty']) or 0 diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py index b5e1edf09c..1fdd609a62 100644 --- a/stock/doctype/stock_entry/stock_entry.py +++ b/stock/doctype/stock_entry/stock_entry.py @@ -387,7 +387,7 @@ class DocType(StockController): def get_item_details(self, arg): arg = json.loads(arg) - item = sql("""select stock_uom, description, item_name from `tabItem` + item = webnotes.conn.sql("""select stock_uom, description, item_name from `tabItem` where name = %s and (ifnull(end_of_life,'')='' or end_of_life ='0000-00-00' or end_of_life > now())""", (arg.get('item_code')), as_dict = 1) if not item: @@ -411,7 +411,7 @@ class DocType(StockController): def get_uom_details(self, arg = ''): arg, ret = eval(arg), {} - uom = sql("""select conversion_factor from `tabUOM Conversion Detail` + uom = webnotes.conn.sql("""select conversion_factor from `tabUOM Conversion Detail` where parent = %s and uom = %s""", (arg['item_code'], arg['uom']), as_dict = 1) if not uom: msgprint("There is no Conversion Factor for UOM '%s' in Item '%s'" % (arg['uom'], @@ -522,7 +522,7 @@ class DocType(StockController): if self.doc.use_multi_level_bom: # get all raw materials with sub assembly childs - fl_bom_sa_child_item = sql("""select + fl_bom_sa_child_item = webnotes.conn.sql("""select fb.item_code, ifnull(sum(fb.qty_consumed_per_unit),0)*%s as qty, fb.description, @@ -542,7 +542,7 @@ class DocType(StockController): _make_items_dict(fl_bom_sa_child_item) else: # get only BOM items - fl_bom_sa_items = sql("""select + fl_bom_sa_items = webnotes.conn.sql("""select `tabItem`.item_code, ifnull(sum(`tabBOM Item`.qty_consumed_per_unit), 0) *%s as qty, `tabItem`.description, @@ -600,7 +600,7 @@ class DocType(StockController): def get_issued_qty(self): issued_item_qty = {} - result = sql("""select t1.item_code, sum(t1.qty) + result = webnotes.conn.sql("""select t1.item_code, sum(t1.qty) from `tabStock Entry Detail` t1, `tabStock Entry` t2 where t1.parent = t2.name and t2.production_order = %s and t2.docstatus = 1 and t2.purpose = 'Material Transfer' @@ -666,7 +666,7 @@ class DocType(StockController): def get_cust_addr(self): from utilities.transaction_base import get_default_address, get_address_display - res = sql("select customer_name from `tabCustomer` where name = '%s'"%self.doc.customer) + res = webnotes.conn.sql("select customer_name from `tabCustomer` where name = '%s'"%self.doc.customer) address_display = None customer_address = get_default_address("customer", self.doc.customer) if customer_address: @@ -687,7 +687,7 @@ class DocType(StockController): def get_supp_addr(self): from utilities.transaction_base import get_default_address, get_address_display - res = sql("""select supplier_name from `tabSupplier` + res = webnotes.conn.sql("""select supplier_name from `tabSupplier` where name=%s""", self.doc.supplier) address_display = None supplier_address = get_default_address("customer", self.doc.customer) diff --git a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py index 2ec9debf7f..1f1bafabc8 100644 --- a/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py +++ b/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py @@ -33,7 +33,7 @@ class DocType: msgprint("Please Enter Conversion Factor.") raise Exception - stock_uom = sql("select stock_uom from `tabItem` where name = '%s'" % self.doc.item_code) + stock_uom = webnotes.conn.sql("select stock_uom from `tabItem` where name = '%s'" % self.doc.item_code) stock_uom = stock_uom and stock_uom[0][0] if cstr(self.doc.new_stock_uom) == cstr(stock_uom): msgprint("Item Master is already updated with New Stock UOM " + cstr(self.doc.new_stock_uom)) @@ -49,9 +49,9 @@ class DocType: def update_bin(self): # update bin if flt(self.doc.conversion_factor) != flt(1): - sql("update `tabBin` set stock_uom = '%s' , indented_qty = ifnull(indented_qty,0) * %s, ordered_qty = ifnull(ordered_qty,0) * %s, reserved_qty = ifnull(reserved_qty,0) * %s, planned_qty = ifnull(planned_qty,0) * %s, projected_qty = actual_qty + ordered_qty + indented_qty + planned_qty - reserved_qty where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.item_code) ) + webnotes.conn.sql("update `tabBin` set stock_uom = '%s' , indented_qty = ifnull(indented_qty,0) * %s, ordered_qty = ifnull(ordered_qty,0) * %s, reserved_qty = ifnull(reserved_qty,0) * %s, planned_qty = ifnull(planned_qty,0) * %s, projected_qty = actual_qty + ordered_qty + indented_qty + planned_qty - reserved_qty where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.item_code) ) else: - sql("update `tabBin` set stock_uom = '%s' where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.item_code) ) + webnotes.conn.sql("update `tabBin` set stock_uom = '%s' where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.item_code) ) # acknowledge user msgprint(" All Bins Updated Successfully.") @@ -61,16 +61,16 @@ class DocType: from stock.stock_ledger import update_entries_after if flt(self.doc.conversion_factor) != flt(1): - sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code)) + webnotes.conn.sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code)) else: - sql("update `tabStock Ledger Entry` set stock_uom = '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.item_code)) + webnotes.conn.sql("update `tabStock Ledger Entry` set stock_uom = '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.item_code)) # acknowledge user msgprint("Stock Ledger Entries Updated Successfully.") # update item valuation if flt(self.doc.conversion_factor) != flt(1): - wh = sql("select name from `tabWarehouse`") + wh = webnotes.conn.sql("select name from `tabWarehouse`") for w in wh: update_entries_after({"item_code": self.doc.item_code, "warehouse": w[0]}) diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py index b23f043a3d..54d0b15836 100644 --- a/stock/doctype/warehouse/warehouse.py +++ b/stock/doctype/warehouse/warehouse.py @@ -21,7 +21,7 @@ class DocType: def get_bin(self, item_code, warehouse=None): warehouse = warehouse or self.doc.name - bin = sql("select name from tabBin where item_code = %s and \ + bin = webnotes.conn.sql("select name from tabBin where item_code = %s and \ warehouse = %s", (item_code, warehouse)) bin = bin and bin[0][0] or '' if not bin: @@ -163,22 +163,22 @@ class DocType: def on_trash(self): # delete bin - bins = sql("select * from `tabBin` where warehouse = %s", self.doc.name, as_dict=1) + bins = webnotes.conn.sql("select * from `tabBin` where warehouse = %s", self.doc.name, as_dict=1) for d in bins: if d['actual_qty'] or d['reserved_qty'] or d['ordered_qty'] or \ d['indented_qty'] or d['projected_qty'] or d['planned_qty']: msgprint("""Warehouse: %s can not be deleted as qty exists for item: %s""" % (self.doc.name, d['item_code']), raise_exception=1) else: - sql("delete from `tabBin` where name = %s", d['name']) + webnotes.conn.sql("delete from `tabBin` where name = %s", d['name']) # delete cancelled sle - if sql("""select name from `tabStock Ledger Entry` + if webnotes.conn.sql("""select name from `tabStock Ledger Entry` where warehouse = %s and ifnull('is_cancelled', '') = 'No'""", self.doc.name): msgprint("""Warehosue can not be deleted as stock ledger entry exists for this warehouse.""", raise_exception=1) else: - sql("delete from `tabStock Ledger Entry` where warehouse = %s", self.doc.name) + webnotes.conn.sql("delete from `tabStock Ledger Entry` where warehouse = %s", self.doc.name) def on_rename(self, newdn, olddn, merge=False): if merge: diff --git a/support/doctype/customer_issue/customer_issue.py b/support/doctype/customer_issue/customer_issue.py index 3773cdf360..c099bf699e 100644 --- a/support/doctype/customer_issue/customer_issue.py +++ b/support/doctype/customer_issue/customer_issue.py @@ -27,7 +27,7 @@ class DocType(TransactionBase): self.doc.resolved_by = webnotes.session.user def on_cancel(self): - lst = sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t2.prevdoc_docname = '%s' and t1.docstatus!=2"%(self.doc.name)) + lst = webnotes.conn.sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t2.prevdoc_docname = '%s' and t1.docstatus!=2"%(self.doc.name)) if lst: lst1 = ','.join([x[0] for x in lst]) msgprint("Maintenance Visit No. "+lst1+" already created against this customer issue. So can not be Cancelled") diff --git a/support/doctype/maintenance_schedule/maintenance_schedule.py b/support/doctype/maintenance_schedule/maintenance_schedule.py index 4bb121767c..1682da5afa 100644 --- a/support/doctype/maintenance_schedule/maintenance_schedule.py +++ b/support/doctype/maintenance_schedule/maintenance_schedule.py @@ -19,7 +19,7 @@ class DocType(TransactionBase): self.doclist = doclist def get_item_details(self, item_code): - item = sql("select item_name, description from `tabItem` where name = '%s'" %(item_code), as_dict=1) + item = webnotes.conn.sql("select item_name, description from `tabItem` where name = '%s'" %(item_code), as_dict=1) ret = { 'item_name': item and item[0]['item_name'] or '', 'description' : item and item[0]['description'] or '' @@ -29,7 +29,7 @@ class DocType(TransactionBase): def generate_schedule(self): self.doclist = self.doc.clear_table(self.doclist, 'maintenance_schedule_detail') count = 0 - sql("delete from `tabMaintenance Schedule Detail` where parent='%s'" %(self.doc.name)) + webnotes.conn.sql("delete from `tabMaintenance Schedule Detail` where parent='%s'" %(self.doc.name)) for d in getlist(self.doclist, 'item_maintenance_detail'): self.validate_maintenance_detail() s_list =[] @@ -66,7 +66,7 @@ class DocType(TransactionBase): email_map[d.incharge_name] = webnotes.bean("Sales Person", d.incharge_name).run_method("get_email_id") - scheduled_date =sql("select scheduled_date from `tabMaintenance Schedule Detail` \ + scheduled_date =webnotes.conn.sql("select scheduled_date from `tabMaintenance Schedule Detail` \ where incharge_name='%s' and item_code='%s' and parent='%s' " %(d.incharge_name, \ d.item_code, self.doc.name), as_dict=1) @@ -171,7 +171,7 @@ class DocType(TransactionBase): def validate_sales_order(self): for d in getlist(self.doclist, 'item_maintenance_detail'): if d.prevdoc_docname: - chk = sql("select t1.name from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2 where t2.parent=t1.name and t2.prevdoc_docname=%s and t1.docstatus=1", d.prevdoc_docname) + chk = webnotes.conn.sql("select t1.name from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2 where t2.parent=t1.name and t2.prevdoc_docname=%s and t1.docstatus=1", d.prevdoc_docname) if chk: msgprint("Maintenance Schedule against "+d.prevdoc_docname+" already exist") raise Exception @@ -185,7 +185,7 @@ class DocType(TransactionBase): cur_s_no = cur_serial_no.split(',') for x in cur_s_no: - chk = sql("select name, status from `tabSerial No` where docstatus!=2 and name=%s", (x)) + chk = webnotes.conn.sql("select name, status from `tabSerial No` where docstatus!=2 and name=%s", (x)) chk1 = chk and chk[0][0] or '' status = chk and chk[0][1] or '' @@ -208,7 +208,7 @@ class DocType(TransactionBase): cur_s_no = cur_serial_no.split(',') for x in cur_s_no: - dt = sql("select delivery_date from `tabSerial No` where name = %s", x) + dt = webnotes.conn.sql("select delivery_date from `tabSerial No` where name = %s", x) dt = dt and dt[0][0] or '' if dt: @@ -224,7 +224,7 @@ class DocType(TransactionBase): cur_s_no = cur_serial_no.split(',') for x in cur_s_no: - sql("update `tabSerial No` set amc_expiry_date = '%s', maintenance_status = 'Under AMC' where name = '%s'"% (amc_end_date,x)) + webnotes.conn.sql("update `tabSerial No` set amc_expiry_date = '%s', maintenance_status = 'Under AMC' where name = '%s'"% (amc_end_date,x)) def on_update(self): webnotes.conn.set(self.doc, 'status', 'Draft') @@ -232,7 +232,7 @@ class DocType(TransactionBase): def validate_serial_no_warranty(self): for d in getlist(self.doclist, 'item_maintenance_detail'): if cstr(d.serial_no).strip(): - dt = sql("""select warranty_expiry_date, amc_expiry_date + dt = webnotes.conn.sql("""select warranty_expiry_date, amc_expiry_date from `tabSerial No` where name = %s""", d.serial_no, as_dict=1) if dt[0]['warranty_expiry_date'] and dt[0]['warranty_expiry_date'] >= d.start_date: webnotes.msgprint("""Serial No: %s is already under warranty upto %s. diff --git a/support/doctype/maintenance_visit/maintenance_visit.py b/support/doctype/maintenance_visit/maintenance_visit.py index dbb2880ac9..60cc3712a6 100644 --- a/support/doctype/maintenance_visit/maintenance_visit.py +++ b/support/doctype/maintenance_visit/maintenance_visit.py @@ -18,7 +18,7 @@ class DocType(TransactionBase): self.doclist = doclist def get_item_details(self, item_code): - item = sql("select item_name,description from `tabItem` where name = '%s'" %(item_code), as_dict=1) + item = webnotes.conn.sql("select item_name,description from `tabItem` where name = '%s'" %(item_code), as_dict=1) ret = { 'item_name' : item and item[0]['item_name'] or '', 'description' : item and item[0]['description'] or '' @@ -27,7 +27,7 @@ class DocType(TransactionBase): def validate_serial_no(self): for d in getlist(self.doclist, 'maintenance_visit_details'): - if d.serial_no and not sql("select name from `tabSerial No` where name = '%s' and docstatus != 2" % d.serial_no): + if d.serial_no and not webnotes.conn.sql("select name from `tabSerial No` where name = '%s' and docstatus != 2" % d.serial_no): msgprint("Serial No: "+ d.serial_no + " not exists in the system") raise Exception @@ -51,7 +51,7 @@ class DocType(TransactionBase): elif self.doc.completion_status == 'Partially Completed': status = 'Work In Progress' else: - nm = sql("select t1.name, t1.mntc_date, t2.service_person, t2.work_done from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t1.completion_status = 'Partially Completed' and t2.prevdoc_docname = %s and t1.name!=%s and t1.docstatus = 1 order by t1.name desc limit 1", (d.prevdoc_docname, self.doc.name)) + nm = webnotes.conn.sql("select t1.name, t1.mntc_date, t2.service_person, t2.work_done from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t1.completion_status = 'Partially Completed' and t2.prevdoc_docname = %s and t1.name!=%s and t1.docstatus = 1 order by t1.name desc limit 1", (d.prevdoc_docname, self.doc.name)) if nm: status = 'Work In Progress' @@ -64,7 +64,7 @@ class DocType(TransactionBase): service_person = '' work_done = '' - sql("update `tabCustomer Issue` set resolution_date=%s, resolved_by=%s, resolution_details=%s, status=%s where name =%s",(mntc_date,service_person,work_done,status,d.prevdoc_docname)) + webnotes.conn.sql("update `tabCustomer Issue` set resolution_date=%s, resolved_by=%s, resolution_details=%s, status=%s where name =%s",(mntc_date,service_person,work_done,status,d.prevdoc_docname)) def check_if_last_visit(self): @@ -76,7 +76,7 @@ class DocType(TransactionBase): check_for_doctype = d.prevdoc_doctype if check_for_docname: - check = sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t1.name!=%s and t2.prevdoc_docname=%s and t1.docstatus = 1 and (t1.mntc_date > %s or (t1.mntc_date = %s and t1.mntc_time > %s))", (self.doc.name, check_for_docname, self.doc.mntc_date, self.doc.mntc_date, self.doc.mntc_time)) + check = webnotes.conn.sql("select t1.name from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2 where t2.parent = t1.name and t1.name!=%s and t2.prevdoc_docname=%s and t1.docstatus = 1 and (t1.mntc_date > %s or (t1.mntc_date = %s and t1.mntc_time > %s))", (self.doc.name, check_for_docname, self.doc.mntc_date, self.doc.mntc_date, self.doc.mntc_time)) if check: check_lst = [x[0] for x in check] diff --git a/utilities/doctype/contact/contact.py b/utilities/doctype/contact/contact.py index 84c8a59de8..58437f1a62 100644 --- a/utilities/doctype/contact/contact.py +++ b/utilities/doctype/contact/contact.py @@ -35,25 +35,24 @@ class DocType(TransactionBase): self.validate_primary_contact() def validate_primary_contact(self): - sql = webnotes.conn.sql if self.doc.is_primary_contact == 1: if self.doc.customer: - sql("update tabContact set is_primary_contact=0 where customer = '%s'" % (self.doc.customer)) + webnotes.conn.sql("update tabContact set is_primary_contact=0 where customer = '%s'" % (self.doc.customer)) elif self.doc.supplier: - sql("update tabContact set is_primary_contact=0 where supplier = '%s'" % (self.doc.supplier)) + webnotes.conn.sql("update tabContact set is_primary_contact=0 where supplier = '%s'" % (self.doc.supplier)) elif self.doc.sales_partner: - sql("update tabContact set is_primary_contact=0 where sales_partner = '%s'" % (self.doc.sales_partner)) + webnotes.conn.sql("update tabContact set is_primary_contact=0 where sales_partner = '%s'" % (self.doc.sales_partner)) else: if self.doc.customer: - if not sql("select name from tabContact where is_primary_contact=1 and customer = '%s'" % (self.doc.customer)): + if not webnotes.conn.sql("select name from tabContact where is_primary_contact=1 and customer = '%s'" % (self.doc.customer)): self.doc.is_primary_contact = 1 elif self.doc.supplier: - if not sql("select name from tabContact where is_primary_contact=1 and supplier = '%s'" % (self.doc.supplier)): + if not webnotes.conn.sql("select name from tabContact where is_primary_contact=1 and supplier = '%s'" % (self.doc.supplier)): self.doc.is_primary_contact = 1 elif self.doc.sales_partner: - if not sql("select name from tabContact where is_primary_contact=1 and sales_partner = '%s'" % (self.doc.sales_partner)): + if not webnotes.conn.sql("select name from tabContact where is_primary_contact=1 and sales_partner = '%s'" % (self.doc.sales_partner)): self.doc.is_primary_contact = 1 def on_trash(self): webnotes.conn.sql("""update `tabSupport Ticket` set contact='' where contact=%s""", - self.doc.name) \ No newline at end of file + self.doc.name) diff --git a/utilities/doctype/sms_control/sms_control.py b/utilities/doctype/sms_control/sms_control.py index d72db529dd..f183920afc 100644 --- a/utilities/doctype/sms_control/sms_control.py +++ b/utilities/doctype/sms_control/sms_control.py @@ -48,7 +48,7 @@ class DocType: def get_contact_number(self, arg): "returns mobile number of the contact" args = load_json(arg) - number = sql("""select mobile_no, phone from tabContact where name=%s and %s=%s""" % + number = webnotes.conn.sql("""select mobile_no, phone from tabContact where name=%s and %s=%s""" % ('%s', args['key'], '%s'), (args['contact_name'], args['value'])) return number and (number[0][0] or number[0][1]) or ''