Merge pull request #194 from anandpdoshi/master
Posting comments to other users now working
diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
index c2b478e..d0d31be 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.js
@@ -18,8 +18,8 @@
if(!doc.voucher_date) set_multiple(dt,dn,{voucher_date:get_today()});
if(!doc.due_date) set_multiple(dt,dn,{due_date:get_today()});
if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
- if(!doc.currency && sys_defaults.currency) set_multiple(cdt,cdn,{currency:sys_defaults.currency});
- if(!doc.price_list_currency) set_multiple(cdt, cdn, {price_list_currency: doc.currency, plc_conversion_rate: 1});
+ if(!doc.currency && sys_defaults.currency) set_multiple(dt,dn,{currency:sys_defaults.currency});
+ if(!doc.price_list_currency) set_multiple(dt, dn, {price_list_currency: doc.currency, plc_conversion_rate: 1});
//for previously created sales invoice, set required field related to pos
if(doc.is_pos ==1) cur_frm.cscript.is_pos(doc, dt, dn);
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index a429b68..53304b0 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -53,7 +53,7 @@
call_back = function(doc, cdt, cdn){
cur_frm.cscript.calc_amount(doc, 2);
}
- str_arg = {'item_code':d.item_code, 'uom':d.uom, 'stock_qty':flt(d.stock_qty), 'qty': flt(d.qty)}
+ str_arg = {'item_code':d.item_code, 'uom':d.uom, 'stock_qty':flt(d.stock_qty), 'qty': flt(d.qty), 'conversion_rate':doc.conversion_rate}
// Updates Conversion Factor, Qty and Purchase Rate
get_server_fields('get_uom_details',JSON.stringify(str_arg), fname, doc,cdt,cdn,1, call_back);
// don't make mistake of calling update_stock_qty() the get_uom_details returns stock_qty as per conversion factor properly
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index 84bfffb..5bade92 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -165,8 +165,8 @@
'qty' : flt(arg['stock_qty']) / flt(uom[0]['conversion_factor']),
'purchase_ref_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])) or 0,
'purchase_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])) or 0,
- 'import_ref_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])/flt(self.doc.conversion_rate)) or 0,
- 'import_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])/flt(self.doc.conversion_rate)) or 0
+ 'import_ref_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])/flt(arg['conversion_rate'])) or 0,
+ 'import_rate' : (lpr and flt(lpr[0]['last_purchase_rate']) * flt(uom[0]['conversion_factor'])/flt(arg['conversion_rate'])) or 0
}
return ret
diff --git a/erpnext/patches/pending_patches.py b/erpnext/patches/pending_patches.py
new file mode 100644
index 0000000..970af74
--- /dev/null
+++ b/erpnext/patches/pending_patches.py
@@ -0,0 +1,58 @@
+def execute():
+ import webnotes
+ from webnotes.model.code import get_obj
+ from webnotes.modules.module_manager import reload_doc
+ sql = webnotes.conn.sql
+
+ reload_doc('hr', 'doctype', 'appraisal')
+ reload_doc('hr', 'doctype', 'appraisal_detail')
+
+ sql("update `tabDocField` set `hidden` = 0 where fieldname = 'group_or_ledger' and parent = 'Cost Center'")
+ sql("update tabDocPerm set amend = 0 where parent = 'Salary Structure'")
+ sql("update tabDocPerm set cancel = 1 where parent = 'Company' and role = 'System Manager'")
+
+ if sql("select count(name) from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+ sql("delete from `tabDocField` where label = 'View Ledger Entry' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+ if sql("select count(name) from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button'")[0][0] > 1:
+ sql("delete from `tabDocField` where label = 'Get Balance' and parent = 'Journal Voucher' and fieldtype = 'Button' limit 1")
+
+ reload_doc('accounts', 'doctype', 'internal_reconciliation')
+ reload_doc('accounts', 'doctype', 'ir_payment_detail')
+ reload_doc('accounts', 'Module Def', 'Accounts')
+
+
+
+ if sql("select count(name) from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button'")[0][0] > 1:
+ sql("delete from `tabDocField` where label = 'Get Specification Details' and parent = 'QA Inspection Report' and fieldtype = 'Button' limit 1")
+
+ reload_doc('stock', 'DocType Mapper', 'Purchase Order-Purchase Receipt')
+
+ reload_doc('accounts', 'doctype', 'cost_center')
+ reload_doc('stock', 'Module Def', 'Stock')
+ sql("delete from `tabModule Def Item` where display_name = 'Serial No' and parent = 'Support'")
+ sql("update `tabDocType` set subject = 'Item Code: %(item_code)s, Warehouse: %(warehouse)s' where name = 'Serial No'")
+
+ # Patch for adding packing related columns (packed by, checked by, shipping mark etc)
+ reload_doc('stock','doctype','delivery_note')
+ sql("update `tabDocField` set allow_on_submit = 1 where fieldname = 'page_break'")
+ sql("update `tabDocField` set allow_on_submit = 1 where fieldname in ('indent_details', 'po_details', 'purchase_receipt_details', 'entries', 'sales_order_details', 'delivery_note_details', 'quotation_details') and fieldtype = 'Table'")
+
+ from webnotes.session_cache import clear_cache
+ clear_cache(webnotes.session['user'])
+
+ # FEATURES SETUP
+ #----------------
+ reload_doc('setup', 'doctype','features_setup')
+ flds = ['page_break', 'projects', 'packing_details', 'discounts', 'brands', 'item_batch_nos', 'after_sales_installations', 'item_searial_nos', 'item_group_in_details', 'exports', 'imports', 'item_advanced', 'sales_extras', 'more_info', 'quality', 'manufacturing', 'pos', 'item_serial_nos']
+ st = "'"+"', '".join(flds)+"'"
+ sql("delete from `tabSingles` where field in (%s) and doctype = 'Features Setup'" % st)
+ sql("delete from `tabDocField` where fieldname in (%s) and parent = 'Features Setup'" % st)
+ sql("delete from `tabDefaultValue` where defkey in (%s) and parent = 'Control Panel'" % st)
+
+ if not sql("select * from `tabDefaultValue` where defkey like 'fs_%' and parent = 'Control Panel'"):
+ rs = sql("select fieldname from tabDocField where parent='Features Setup' and fieldname is not null")
+ fs = get_obj('Features Setup', 'Features Setup')
+ for d in rs:
+ fs.doc.fields[d[0]] = 1
+ fs.doc.save()
+ fs.validate()
diff --git a/erpnext/setup/doctype/manage_account/manage_account.py b/erpnext/setup/doctype/manage_account/manage_account.py
index 5dd2d06..5b1292a 100644
--- a/erpnext/setup/doctype/manage_account/manage_account.py
+++ b/erpnext/setup/doctype/manage_account/manage_account.py
@@ -42,16 +42,16 @@
def_list = [['fiscal_year',self.doc.current_fiscal_year],
['company',self.doc.default_company],
['currency',self.doc.default_currency],
- ['price_list_name',self.doc.default_price_list],
- ['price_list_currency', self.doc.default_price_list_currency],
- ['item_group',self.doc.default_item_group],
- ['customer_group',self.doc.default_customer_group],
- ['cust_master_name',self.doc.cust_master_name],
- ['supplier_type',self.doc.default_supplier_type],
+ ['price_list_name',self.doc.default_price_list or ''],
+ ['price_list_currency', self.doc.default_price_list_currency or ''],
+ ['item_group',self.doc.default_item_group or ''],
+ ['customer_group',self.doc.default_customer_group or ''],
+ ['cust_master_name',self.doc.cust_master_name or ''],
+ ['supplier_type',self.doc.default_supplier_type or ''],
['supp_master_name',self.doc.supp_master_name],
- ['territory',self.doc.default_territory],
- ['stock_uom',self.doc.default_stock_uom],
- ['fraction_currency',self.doc.default_currency_fraction],
+ ['territory',self.doc.default_territory or ''],
+ ['stock_uom',self.doc.default_stock_uom or ''],
+ ['fraction_currency',self.doc.default_currency_fraction or ''],
['valuation_method',self.doc.default_valuation_method]]
for d in def_list:
diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index 881a176..5d4ba8b 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -307,7 +307,6 @@
# item re-order
# -------------
def reorder_item(self,doc_type,doc_name):
- msgprint(get_value('Manage Account', None, 'auto_indent'))
if get_value('Manage Account', None, 'auto_indent'):
#check if re-order is required
indent_detail_fields = sql("select re_order_level,item_name,description,brand,item_group,lead_time_days,min_order_qty,email_notify from tabItem where item_code = %s",(self.doc.item_code),as_dict=1)
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 8f9fa6d..e86c2fe 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -15,14 +15,14 @@
if(!doc.transaction_date) set_multiple(dt,dn,{transaction_date:get_today()});
if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
if(doc.__islocal && doc.customer) cur_frm.cscript.pull_item_details_onload(doc,dt,dn);
- if(!doc.price_list_currency) set_multiple(cdt, cdn, {price_list_currency: doc.currency, plc_conversion_rate: 1});
-
+ if(!doc.price_list_currency) {
+ set_multiple(dt, dn, {price_list_currency: doc.currency, plc_conversion_rate:1});
+}
if(!doc.posting_time) doc.posting_time = wn.datetime.get_cur_time()
if(doc.__islocal){
hide_field(['customer_address','contact_person','customer_name','address_display','contact_display','contact_mobile','contact_email','territory','customer_group']);
}
-
}
cur_frm.cscript.onload_post_render = function(doc, dt, dn) {
@@ -34,7 +34,6 @@
// REFRESH
// ================================================================================================
cur_frm.cscript.refresh = function(doc, cdt, cdn) {
-
cur_frm.clear_custom_buttons();
if(doc.per_billed < 100 && doc.docstatus==1) cur_frm.add_custom_button('Make Invoice', cur_frm.cscript['Make Sales Invoice']);