Browse Source

[get_query] to server side

develop
Saurabh 12 years ago
parent
commit
38683718e1
  1. 5
      .gitignore
  2. 8
      accounts/doctype/budget_detail/budget_detail.txt
  3. 4
      accounts/doctype/cost_center/cost_center.js
  4. 10
      accounts/doctype/cost_center/cost_center.py
  5. 4
      accounts/doctype/cost_center/cost_center.txt
  6. 2
      accounts/doctype/cost_center/test_cost_center.py
  7. 2
      accounts/doctype/gl_entry/gl_entry.py
  8. 2
      accounts/doctype/pos_setting/pos_setting.js
  9. 1
      accounts/doctype/purchase_invoice/purchase_invoice.js
  10. 7
      accounts/doctype/purchase_invoice/purchase_invoice.py
  11. 245
      accounts/doctype/purchase_invoice/purchase_invoice.txt
  12. 16
      accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt
  13. 1
      accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js
  14. 1
      accounts/doctype/sales_invoice/sales_invoice.js
  15. 3
      accounts/doctype/sales_invoice/sales_invoice.py
  16. 71
      accounts/doctype/sales_invoice/sales_invoice.txt
  17. 26
      accounts/doctype/sales_invoice_item/sales_invoice_item.txt
  18. 2
      accounts/page/accounts_browser/accounts_browser.js
  19. 6
      accounts/page/accounts_browser/accounts_browser.py
  20. 2
      accounts/report/budget_variance_report/budget_variance_report.py
  21. 18
      buying/doctype/purchase_common/purchase_common.js
  22. 2
      buying/doctype/purchase_order/purchase_order.py
  23. 216
      buying/doctype/purchase_order/purchase_order.txt
  24. 36
      buying/doctype/purchase_order_item/purchase_order_item.txt
  25. 193
      buying/doctype/supplier_quotation/supplier_quotation.txt
  26. 12
      buying/doctype/supplier_quotation_item/supplier_quotation_item.txt
  27. 16
      controllers/accounts_controller.py
  28. 335
      home/page/latest_updates/latest_updates.js
  29. 58
      home/page/latest_updates/latest_updates.py
  30. 5
      patches/july_2013/p02_copy_shipping_address.py
  31. 6
      patches/july_2013/p03_cost_center_company.py
  32. 6
      patches/march_2013/p08_create_aii_accounts.py
  33. 2
      patches/patch_list.py
  34. 14
      public/js/controllers/stock_controller.js
  35. 1
      public/js/queries.js
  36. 6
      public/js/startup.js
  37. 2
      public/js/toolbar.js
  38. 1
      public/js/transaction.js
  39. 36
      public/js/utils.js
  40. 51
      selling/doctype/quotation/quotation.txt
  41. 8
      selling/doctype/quotation_item/quotation_item.txt
  42. 65
      selling/doctype/sales_order/sales_order.txt
  43. 6
      selling/doctype/sales_order/test_sales_order.py
  44. 10
      selling/doctype/sales_order_item/sales_order_item.txt
  45. 8
      setup/doctype/company/company.py
  46. 18
      setup/doctype/email_settings/email_settings.txt
  47. 34
      setup/page/setup/setup.js
  48. 5
      setup/page/setup/setup.py
  49. 5
      stock/doctype/delivery_note/delivery_note.js
  50. 91
      stock/doctype/delivery_note/delivery_note.txt
  51. 19
      stock/doctype/delivery_note/test_delivery_note.py
  52. 8
      stock/doctype/delivery_note_item/delivery_note_item.txt
  53. 60
      stock/doctype/material_request/material_request.txt
  54. 3
      stock/doctype/material_request/test_material_request.py
  55. 30
      stock/doctype/material_request_item/material_request_item.txt
  56. 2
      stock/doctype/purchase_receipt/purchase_receipt.py
  57. 182
      stock/doctype/purchase_receipt/purchase_receipt.txt
  58. 6
      stock/doctype/purchase_receipt/test_purchase_receipt.py
  59. 16
      stock/doctype/purchase_receipt_item/purchase_receipt_item.txt
  60. 4
      stock/doctype/stock_entry/stock_entry.js
  61. 21
      stock/report/batch_wise_balance_history/batch_wise_balance_history.js
  62. 11
      stock/report/batch_wise_balance_history/batch_wise_balance_history.py
  63. 14
      stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js
  64. 38
      stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py
  65. 2
      utilities/transaction_base.py

5
.gitignore

@ -1,10 +1,7 @@
*.pyc
*.py~
*.comp.js
.DS_Store
patch.log
lib
conf.py
version.num
locale
latest_updates.json
.wnf-lang-status

8
accounts/doctype/budget_detail/budget_detail.txt

@ -1,8 +1,8 @@
[
{
"creation": "2013-02-22 01:27:37",
"creation": "2013-03-07 11:55:04",
"docstatus": 0,
"modified": "2013-03-07 07:03:19",
"modified": "2013-07-09 14:44:37",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -44,7 +44,7 @@
"label": "Budget Allocated",
"oldfieldname": "budget_allocated",
"oldfieldtype": "Currency",
"options": "Company:company_name:default_currency",
"options": "Company:company:default_currency",
"reqd": 1
},
{
@ -54,7 +54,7 @@
"label": "Actual",
"oldfieldname": "actual",
"oldfieldtype": "Currency",
"options": "Company:company_name:default_currency",
"options": "Company:company:default_currency",
"read_only": 1
},
{

4
accounts/doctype/cost_center/cost_center.js

@ -17,7 +17,7 @@
cur_frm.cscript.refresh = function(doc, cdt, cdn) {
var intro_txt = '';
cur_frm.toggle_display('cost_center_name', doc.__islocal);
cur_frm.toggle_enable(['group_or_ledger', 'company_name'], doc.__islocal);
cur_frm.toggle_enable(['group_or_ledger', 'company'], doc.__islocal);
if(!doc.__islocal && doc.group_or_ledger=='Group') {
intro_txt += '<p><b>Note:</b> This Cost Center is a <i>Group</i>, \
@ -61,7 +61,7 @@ cur_frm.fields_dict['parent_cost_center'].get_query = function(doc){
//parent cost center
cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){
if(!doc.company_name){
if(!doc.company){
alert('Please enter company name first');
}
}

10
accounts/doctype/cost_center/cost_center.py

@ -28,16 +28,16 @@ class DocType(DocTypeNestedSet):
def autoname(self):
company_abbr = webnotes.conn.sql("select abbr from tabCompany where name=%s",
self.doc.company_name)[0][0]
self.doc.company)[0][0]
self.doc.name = self.doc.cost_center_name.strip() + ' - ' + company_abbr
def validate_mandatory(self):
if not self.doc.group_or_ledger:
msgprint("Please select Group or Ledger value", raise_exception=1)
if self.doc.cost_center_name != self.doc.company_name and not self.doc.parent_cost_center:
if self.doc.cost_center_name != self.doc.company and not self.doc.parent_cost_center:
msgprint("Please enter parent cost center", raise_exception=1)
elif self.doc.cost_center_name == self.doc.company_name and self.doc.parent_cost_center:
elif self.doc.cost_center_name == self.doc.company and self.doc.parent_cost_center:
msgprint(_("Root cannot have a parent cost center"), raise_exception=1)
def convert_group_to_ledger(self):
@ -81,14 +81,14 @@ class DocType(DocTypeNestedSet):
"""
Cost Center name must be unique
"""
if (self.doc.fields.get("__islocal") or not self.doc.name) and webnotes.conn.sql("select name from `tabCost Center` where cost_center_name = %s and company_name=%s", (self.doc.cost_center_name, self.doc.company_name)):
if (self.doc.fields.get("__islocal") or not self.doc.name) and webnotes.conn.sql("select name from `tabCost Center` where cost_center_name = %s and company=%s", (self.doc.cost_center_name, self.doc.company)):
msgprint("Cost Center Name already exists, please rename", raise_exception=1)
self.validate_mandatory()
self.validate_budget_details()
def on_rename(self, new, old, merge=False):
company_abbr = webnotes.conn.get_value("Company", self.doc.company_name, "abbr")
company_abbr = webnotes.conn.get_value("Company", self.doc.company, "abbr")
parts = new.split(" - ")
if parts[-1].lower() != company_abbr.lower():

4
accounts/doctype/cost_center/cost_center.txt

@ -2,7 +2,7 @@
{
"creation": "2013-01-23 19:57:17",
"docstatus": 0,
"modified": "2013-07-05 14:33:05",
"modified": "2013-07-09 14:43:41",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -81,7 +81,7 @@
},
{
"doctype": "DocField",
"fieldname": "company_name",
"fieldname": "company",
"fieldtype": "Link",
"label": "Company",
"oldfieldname": "company_name",

2
accounts/doctype/cost_center/test_cost_center.py

@ -3,7 +3,7 @@ test_records = [
"doctype": "Cost Center",
"cost_center_name": "_Test Cost Center",
"parent_cost_center": "_Test Company - _TC",
"company_name": "_Test Company",
"company": "_Test Company",
"group_or_ledger": "Ledger"
}],
]

2
accounts/doctype/gl_entry/gl_entry.py

@ -120,7 +120,7 @@ class DocType:
def _get_cost_center_company():
if not self.cost_center_company.get(self.doc.cost_center):
self.cost_center_company[self.doc.cost_center] = webnotes.conn.get_value("Cost Center",
self.doc.cost_center, "company_name")
self.doc.cost_center, "company")
return self.cost_center_company[self.doc.cost_center]

2
accounts/doctype/pos_setting/pos_setting.js

@ -99,4 +99,4 @@ cur_frm.fields_dict["expense_account"].get_query = function(doc) {
cur_frm.fields_dict.user.get_query = function(doc,cdt,cdn) {
return{ query:"controllers.queries.profile_query"}
}
}

1
accounts/doctype/purchase_invoice/purchase_invoice.js

@ -261,6 +261,7 @@ cur_frm.fields_dict["entries"].grid.get_field("cost_center").get_query = functio
'company_name': doc.company,
'group_or_ledger': 'Ledger'
}
}
}

7
accounts/doctype/purchase_invoice/purchase_invoice.py

@ -75,6 +75,7 @@ class DocType(BuyingController):
self.validate_write_off_account()
self.update_raw_material_cost()
self.update_valuation_rate("entries")
self.validate_multiple_billing("Purchase Receipt", "pr_detail", "import_amount")
def get_credit_to(self):
acc_head = sql("""select name, credit_days from `tabAccount`
@ -206,17 +207,17 @@ class DocType(BuyingController):
},
"Purchase Order Item": {
"ref_dn_field": "po_detail",
"compare_fields": [["export_rate", "="], ["project_name", "="], ["item_code", "="],
"compare_fields": [["import_rate", "="], ["project_name", "="], ["item_code", "="],
["uom", "="]],
"is_child_table": True
},
"Purchase Receipt": {
"ref_dn_field": "purchase_receipt",
"compare_fields": [["customer", "="], ["company", "="], ["currency", "="]],
"compare_fields": [["supplier", "="], ["company", "="], ["currency", "="]],
},
"Purchase Receipt Item": {
"ref_dn_field": "pr_detail",
"compare_fields": [["export_rate", "="], ["project_name", "="], ["item_code", "="],
"compare_fields": [["import_rate", "="], ["project_name", "="], ["item_code", "="],
["uom", "="]],
"is_child_table": True
}

245
accounts/doctype/purchase_invoice/purchase_invoice.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:39",
"docstatus": 0,
"modified": "2013-07-08 18:03:17",
"modified": "2013-07-09 12:51:06",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -172,7 +172,7 @@
"fieldname": "bill_no",
"fieldtype": "Data",
"in_filter": 1,
"label": "Bill No",
"label": "Supplier Invoice No",
"oldfieldname": "bill_no",
"oldfieldtype": "Data",
"print_hide": 1,
@ -185,7 +185,7 @@
"fieldname": "bill_date",
"fieldtype": "Date",
"in_filter": 1,
"label": "Bill Date",
"label": "Supplier Invoice Date",
"oldfieldname": "bill_date",
"oldfieldtype": "Date",
"print_hide": 1,
@ -195,37 +195,34 @@
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart",
"read_only": 0
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "entries",
"fieldtype": "Table",
"label": "Entries",
"oldfieldname": "entries",
"oldfieldtype": "Table",
"options": "Purchase Invoice Item",
"read_only": 0
"fieldname": "amended_from",
"fieldtype": "Link",
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Link",
"options": "Purchase Invoice",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "recalculate",
"fieldtype": "Button",
"label": "Recalculate",
"oldfieldtype": "Button",
"read_only": 0
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"read_only": 0,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "currency_price_list",
"fieldtype": "Section Break",
"label": "Currency & Price List",
"label": "Currency and Price List",
"options": "icon-tag",
"read_only": 0
},
@ -288,105 +285,95 @@
"read_only": 0
},
{
"description": "Add / Edit Taxes and Charges",
"doctype": "DocField",
"fieldname": "taxes",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Taxes",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-money",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "purchase_other_charges",
"fieldtype": "Link",
"label": "Purchase Taxes and Charges",
"oldfieldname": "purchase_other_charges",
"oldfieldtype": "Link",
"options": "Purchase Taxes and Charges Master",
"print_hide": 1,
"options": "icon-shopping-cart",
"read_only": 0
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "get_tax_detail",
"fieldtype": "Button",
"label": "Get Tax Detail",
"oldfieldtype": "Button",
"options": "get_purchase_tax_details",
"print_hide": 1,
"fieldname": "entries",
"fieldtype": "Table",
"label": "Entries",
"oldfieldname": "entries",
"oldfieldtype": "Table",
"options": "Purchase Invoice Item",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "purchase_tax_details",
"fieldtype": "Table",
"label": "Purchase Taxes and Charges",
"oldfieldname": "purchase_tax_details",
"oldfieldtype": "Table",
"options": "Purchase Taxes and Charges",
"read_only": 0
"fieldname": "section_break_26",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "calculate_tax",
"fieldtype": "Button",
"label": "Calculate Tax",
"oldfieldtype": "Button",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total",
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 0
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "tax_calculation",
"fieldtype": "HTML",
"label": "Tax Calculation",
"oldfieldtype": "HTML",
"print_hide": 1,
"read_only": 0
"fieldname": "column_break_28",
"fieldtype": "Column Break"
},
{
"description": "Will be calculated automatically when you enter the details",
"doctype": "DocField",
"fieldname": "total_tax",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Total Tax",
"oldfieldname": "total_tax",
"label": "Net Total (Company Currency)",
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1
},
{
"depends_on": "supplier",
"description": "Add / Edit Taxes and Charges",
"doctype": "DocField",
"fieldname": "contact_section",
"fieldname": "taxes",
"fieldtype": "Section Break",
"label": "Contact Info",
"options": "icon-bullhorn",
"label": "Taxes",
"oldfieldtype": "Section Break",
"options": "icon-money",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "supplier_address",
"fieldname": "purchase_other_charges",
"fieldtype": "Link",
"label": "Supplier Address",
"options": "Address",
"label": "Purchase Taxes and Charges",
"oldfieldname": "purchase_other_charges",
"oldfieldtype": "Link",
"options": "Purchase Taxes and Charges Master",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "col_break23",
"fieldtype": "Column Break",
"read_only": 0,
"width": "50%"
"fieldname": "purchase_tax_details",
"fieldtype": "Table",
"label": "Purchase Taxes and Charges",
"oldfieldname": "purchase_tax_details",
"oldfieldtype": "Table",
"options": "Purchase Taxes and Charges",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "contact_person",
"fieldtype": "Link",
"label": "Contact Person",
"options": "Contact",
"fieldname": "tax_calculation",
"fieldtype": "HTML",
"label": "Tax Calculation",
"oldfieldtype": "HTML",
"print_hide": 1,
"read_only": 0
},
@ -399,22 +386,11 @@
"options": "icon-money",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total (Import)",
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "other_charges_added_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Added (Import)",
"label": "Taxes and Charges Added",
"oldfieldname": "other_charges_added_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -425,7 +401,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted (Import)",
"label": "Taxes and Charges Deducted",
"oldfieldname": "other_charges_deducted_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -437,7 +413,7 @@
"fieldname": "grand_total_import",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Grand Total (Import)",
"label": "Grand Total",
"oldfieldname": "grand_total_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -448,7 +424,7 @@
"doctype": "DocField",
"fieldname": "in_words_import",
"fieldtype": "Data",
"label": "In Words (Import)",
"label": "In Words",
"oldfieldname": "in_words_import",
"oldfieldtype": "Data",
"print_hide": 1,
@ -504,12 +480,11 @@
"width": "50%"
},
{
"description": "Will be calculated automatically when you enter the details",
"doctype": "DocField",
"fieldname": "net_total",
"fieldname": "total_tax",
"fieldtype": "Currency",
"label": "Net Total",
"oldfieldname": "net_total",
"label": "Total Tax (Company Currency)",
"oldfieldname": "total_tax",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
@ -519,7 +494,7 @@
"doctype": "DocField",
"fieldname": "other_charges_added",
"fieldtype": "Currency",
"label": "Taxes and Charges Added",
"label": "Taxes and Charges Added (Company Currency)",
"oldfieldname": "other_charges_added",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -530,7 +505,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted",
"label": "Taxes and Charges Deducted (Company Currency)",
"oldfieldname": "other_charges_deducted",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -541,7 +516,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -553,7 +528,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,
@ -657,6 +632,39 @@
"fieldtype": "Text Editor",
"label": "Terms and Conditions1"
},
{
"depends_on": "supplier",
"doctype": "DocField",
"fieldname": "contact_section",
"fieldtype": "Section Break",
"label": "Contact Info",
"options": "icon-bullhorn",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "supplier_address",
"fieldtype": "Link",
"label": "Supplier Address",
"options": "Address",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "col_break23",
"fieldtype": "Column Break",
"read_only": 0,
"width": "50%"
},
{
"doctype": "DocField",
"fieldname": "contact_person",
"fieldtype": "Link",
"label": "Contact Person",
"options": "Contact",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "more_info",
@ -694,18 +702,6 @@
"read_only": 0,
"search_index": 0
},
{
"doctype": "DocField",
"fieldname": "amended_from",
"fieldtype": "Link",
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Link",
"options": "Purchase Invoice",
"print_hide": 1,
"read_only": 1
},
{
"allow_on_submit": 1,
"doctype": "DocField",
@ -749,19 +745,6 @@
"fieldtype": "Column Break",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"read_only": 0,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "fiscal_year",

16
accounts/doctype/purchase_invoice_item/purchase_invoice_item.txt

@ -1,8 +1,8 @@
[
{
"creation": "2013-04-19 11:00:07",
"creation": "2013-05-22 12:43:10",
"docstatus": 0,
"modified": "2013-05-22 12:01:56",
"modified": "2013-07-09 12:21:47",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -86,7 +86,7 @@
"doctype": "DocField",
"fieldname": "import_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate ",
"label": "Price List Rate",
"options": "currency",
"print_hide": 1,
"read_only": 0
@ -126,7 +126,7 @@
"doctype": "DocField",
"fieldname": "purchase_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate*",
"label": "Price List Rate (Company Currency)",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 0
@ -135,7 +135,7 @@
"doctype": "DocField",
"fieldname": "rate",
"fieldtype": "Currency",
"label": "Rate*",
"label": "Rate (Company Currency)",
"oldfieldname": "rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -147,7 +147,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -223,7 +223,7 @@
"fieldname": "purchase_order",
"fieldtype": "Link",
"in_filter": 1,
"label": "Pur Order",
"label": "Purchase Order",
"no_copy": 1,
"oldfieldname": "purchase_order",
"oldfieldtype": "Link",
@ -251,7 +251,7 @@
"fieldname": "purchase_receipt",
"fieldtype": "Link",
"in_filter": 1,
"label": "Pur Receipt",
"label": "Purchase Receipt",
"no_copy": 1,
"oldfieldname": "purchase_receipt",
"oldfieldtype": "Link",

1
accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js

@ -149,7 +149,6 @@ cur_frm.fields_dict['purchase_tax_details'].grid.get_field("cost_center").get_qu
}
}
cur_frm.cscript.account_head = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.account_head){

1
accounts/doctype/sales_invoice/sales_invoice.js

@ -287,6 +287,7 @@ cur_frm.fields_dict.write_off_account.get_query = function(doc) {
// Write off cost center
//-----------------------
cur_frm.fields_dict.write_off_cost_center.get_query = function(doc) {
return{
filters:{
'group_or_ledger': 'Ledger',

3
accounts/doctype/sales_invoice/sales_invoice.py

@ -93,6 +93,7 @@ class DocType(SellingController):
self.validate_c_form()
self.validate_time_logs_are_submitted()
self.validate_recurring_invoice()
self.validate_multiple_billing("Delivered Note", "dn_detail", "export_amount")
def on_submit(self):
if cint(self.doc.update_stock) == 1:
@ -149,7 +150,7 @@ class DocType(SellingController):
self.make_cancel_gl_entries()
def update_status_updater_args(self):
if cint(self.doc.is_pos) and cint(self.doc.update_stock):
if cint(self.doc.update_stock):
self.status_updater.append({
'source_dt':'Sales Invoice Item',
'target_dt':'Sales Order Item',

71
accounts/doctype/sales_invoice/sales_invoice.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-24 19:29:05",
"docstatus": 0,
"modified": "2013-07-08 17:05:43",
"modified": "2013-07-09 12:48:05",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -223,7 +223,7 @@
"doctype": "DocField",
"fieldname": "currency_section",
"fieldtype": "Section Break",
"label": "Price List and Currency",
"label": "Currency and Price List",
"options": "icon-tag",
"read_only": 0
},
@ -350,20 +350,30 @@
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "section_break_30",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_export",
"fieldtype": "Currency",
"label": "Net Total (Export)",
"label": "Net Total",
"options": "currency",
"print_hide": 0,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_32",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"label": "Net Total (Company Currency)",
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -371,15 +381,6 @@
"read_only": 1,
"reqd": 1
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -449,36 +450,27 @@
"doctype": "DocField",
"fieldname": "other_charges_total_export",
"fieldtype": "Currency",
"label": "Total Taxes and Charges (Export)",
"label": "Total Taxes and Charges",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_45",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "other_charges_total",
"fieldtype": "Currency",
"label": "Total Taxes and Charges",
"label": "Total Taxes and Charges (Company Currency)",
"oldfieldname": "other_charges_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_45",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "calculate_charges",
"fieldtype": "Button",
"label": "Calculate Taxes and Charges",
"oldfieldtype": "Button",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "totals",
@ -494,7 +486,7 @@
"fieldname": "grand_total_export",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Grand Total (Export)",
"label": "Grand Total",
"oldfieldname": "grand_total_export",
"oldfieldtype": "Currency",
"options": "currency",
@ -506,7 +498,7 @@
"doctype": "DocField",
"fieldname": "rounded_total_export",
"fieldtype": "Currency",
"label": "Rounded Total (Export)",
"label": "Rounded Total",
"oldfieldname": "rounded_total_export",
"oldfieldtype": "Currency",
"options": "currency",
@ -517,7 +509,7 @@
"doctype": "DocField",
"fieldname": "in_words_export",
"fieldtype": "Data",
"label": "In Words (Export)",
"label": "In Words",
"oldfieldname": "in_words_export",
"oldfieldtype": "Data",
"print_hide": 0,
@ -558,7 +550,7 @@
"fieldname": "grand_total",
"fieldtype": "Currency",
"in_filter": 1,
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -571,7 +563,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -583,7 +575,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,
@ -645,6 +637,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "payments_section",
"fieldtype": "Section Break",
@ -653,6 +646,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "column_break3",
"fieldtype": "Column Break",
@ -660,6 +654,7 @@
"width": "50%"
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "paid_amount",
"fieldtype": "Currency",
@ -671,6 +666,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "cash_bank_account",
"fieldtype": "Link",
@ -682,6 +678,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "column_break4",
"fieldtype": "Column Break",
@ -689,6 +686,7 @@
"width": "50%"
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "write_off_outstanding_amount_automatically",
"fieldtype": "Check",
@ -697,6 +695,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "write_off_amount",
"fieldtype": "Currency",
@ -706,6 +705,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "write_off_account",
"fieldtype": "Link",
@ -715,6 +715,7 @@
"read_only": 0
},
{
"depends_on": "is_pos",
"doctype": "DocField",
"fieldname": "write_off_cost_center",
"fieldtype": "Link",

26
accounts/doctype/sales_invoice_item/sales_invoice_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-06-04 11:02:19",
"docstatus": 0,
"modified": "2013-06-26 14:34:00",
"modified": "2013-07-09 12:46:12",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -85,7 +85,7 @@
"doctype": "DocField",
"fieldname": "qty",
"fieldtype": "Float",
"label": "Qty",
"label": "Quantity",
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"read_only": 0,
@ -146,7 +146,7 @@
"doctype": "DocField",
"fieldname": "base_ref_rate",
"fieldtype": "Currency",
"label": "Price List Rate*",
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -158,7 +158,7 @@
"fieldname": "basic_rate",
"fieldtype": "Currency",
"in_filter": 0,
"label": "Basic Rate*",
"label": "Basic Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -171,7 +171,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -320,7 +320,7 @@
"fieldtype": "Data",
"hidden": 1,
"in_filter": 1,
"label": "SO Detail ",
"label": "Sales Order Item",
"no_copy": 1,
"oldfieldname": "so_detail",
"oldfieldtype": "Data",
@ -348,7 +348,7 @@
"fieldtype": "Data",
"hidden": 1,
"in_filter": 1,
"label": "DN Detail",
"label": "Delivery Note Item",
"no_copy": 1,
"oldfieldname": "dn_detail",
"oldfieldtype": "Data",
@ -375,18 +375,6 @@
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "clear_pending",
"fieldtype": "Check",
"hidden": 1,
"label": "Clear Pending",
"no_copy": 1,
"oldfieldname": "clear_pending",
"oldfieldtype": "Check",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "buying_amount",

2
accounts/page/accounts_browser/accounts_browser.js

@ -310,7 +310,7 @@ erpnext.AccountsChart = Class.extend({
var node = me.selected_node();
v.parent_cost_center = node.data('label');
v.company_name = me.company;
v.company = me.company;
wn.call({
args: v,

6
accounts/page/accounts_browser/accounts_browser.py

@ -28,16 +28,14 @@ def get_children():
args = webnotes.form_dict
ctype, company = args['ctype'], args['comp']
company_field = ctype=='Account' and 'company' or 'company_name'
# root
if args['parent'] in ("Accounts", "Cost Centers"):
acc = webnotes.conn.sql(""" select
name as value, if(group_or_ledger='Group', 1, 0) as expandable
from `tab%s`
where ifnull(parent_%s,'') = ''
and %s = %s and docstatus<2
order by name""" % (ctype, ctype.lower().replace(' ','_'), company_field, '%s'),
and `company` = %s and docstatus<2
order by name""" % (ctype, ctype.lower().replace(' ','_'), '%s'),
company, as_dict=1)
else:
# other

2
accounts/report/budget_variance_report/budget_variance_report.py

@ -79,7 +79,7 @@ def get_costcenter_target_details(filters):
cc.parent_cost_center, bd.account, bd.budget_allocated
from `tabCost Center` cc, `tabBudget Detail` bd
where bd.parent=cc.name and bd.fiscal_year=%s and
cc.company_name=%s and ifnull(cc.distribution_id, '')!=''
cc.company=%s and ifnull(cc.distribution_id, '')!=''
order by cc.name""" % ('%s', '%s'),
(filters.get("fiscal_year"), filters.get("company")), as_dict=1)

18
buying/doctype/purchase_common/purchase_common.js

@ -107,7 +107,8 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
plc_conversion_rate: me.frm.doc.plc_conversion_rate,
is_subcontracted: me.frm.doc.is_subcontracted,
company: me.frm.doc.company,
currency: me.frm.doc.currency
currency: me.frm.doc.currency,
transaction_date: me.frm.doc.transaction_date
}
},
callback: function(r) {
@ -220,6 +221,21 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
}
},
purchase_other_charges: function() {
var me = this;
if(this.frm.doc.purchase_other_charges) {
this.frm.call({
doc: this.frm.doc,
method: "get_purchase_tax_details",
callback: function(r) {
if(!r.exc) {
me.calculate_taxes_and_totals();
}
}
});
}
},
calculate_taxes_and_totals: function() {
this._super();
this.calculate_total_advance("Purchase Invoice", "advance_allocation_details");

2
buying/doctype/purchase_order/purchase_order.py

@ -64,7 +64,7 @@ class DocType(BuyingController):
},
"Supplier Quotation Item": {
"ref_dn_field": "supplier_quotation_item",
"compare_fields": [["export_rate", "="], ["project_name", "="], ["item_code", "="],
"compare_fields": [["import_rate", "="], ["project_name", "="], ["item_code", "="],
["uom", "="]],
"is_child_table": True
}

216
buying/doctype/purchase_order/purchase_order.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:39",
"docstatus": 0,
"modified": "2013-07-08 17:49:29",
"modified": "2013-07-09 12:50:00",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -139,55 +139,37 @@
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
"fieldname": "amended_from",
"fieldtype": "Data",
"hidden": 0,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"read_only": 1,
"report_hide": 0
},
{
"allow_on_submit": 1,
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "po_details",
"fieldtype": "Table",
"label": "Purchase Order Items",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"no_copy": 0,
"oldfieldname": "po_details",
"oldfieldtype": "Table",
"options": "Purchase Order Item"
},
{
"doctype": "DocField",
"fieldname": "sb_last_purchase",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "get_last_purchase_rate",
"fieldtype": "Button",
"label": "Get Last Purchase Rate",
"oldfieldtype": "Button",
"print_hide": 0
},
{
"doctype": "DocField",
"fieldname": "column_break2",
"fieldtype": "Column Break",
"print_width": "50%",
"width": "50%"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button"
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "price_list_and_currency",
"fieldtype": "Section Break",
"label": "Currency & Price List",
"label": "Currency and Price List",
"options": "icon-tag"
},
{
@ -253,6 +235,68 @@
"label": "Price List Exchange Rate",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "po_details",
"fieldtype": "Table",
"label": "Purchase Order Items",
"no_copy": 0,
"oldfieldname": "po_details",
"oldfieldtype": "Table",
"options": "Purchase Order Item"
},
{
"doctype": "DocField",
"fieldname": "sb_last_purchase",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total",
"no_copy": 0,
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "get_last_purchase_rate",
"fieldtype": "Button",
"label": "Get Last Purchase Rate",
"oldfieldtype": "Button",
"print_hide": 0
},
{
"doctype": "DocField",
"fieldname": "column_break_26",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total (Company Currency)",
"no_copy": 1,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -274,15 +318,6 @@
"options": "Purchase Taxes and Charges Master",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "get_tax_detail",
"fieldtype": "Button",
"label": "Get Tax Detail",
"oldfieldtype": "Button",
"options": "get_purchase_tax_details",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "purchase_tax_details",
@ -293,14 +328,6 @@
"oldfieldtype": "Table",
"options": "Purchase Taxes and Charges"
},
{
"doctype": "DocField",
"fieldname": "calculate_tax",
"fieldtype": "Button",
"label": "Calculate Tax",
"oldfieldtype": "Button",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "tax_calculation",
@ -318,23 +345,11 @@
"oldfieldtype": "Section Break",
"options": "icon-money"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total (Import)",
"no_copy": 0,
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "other_charges_added_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Added (Import)",
"label": "Taxes and Charges Added",
"no_copy": 0,
"oldfieldname": "other_charges_added_import",
"oldfieldtype": "Currency",
@ -347,7 +362,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted (Import)",
"label": "Taxes and Charges Deducted",
"no_copy": 0,
"oldfieldname": "other_charges_deducted_import",
"oldfieldtype": "Currency",
@ -361,7 +376,7 @@
"fieldname": "grand_total_import",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Grand Total (Import)",
"label": "Grand Total",
"no_copy": 0,
"oldfieldname": "grand_total_import",
"oldfieldtype": "Currency",
@ -374,7 +389,7 @@
"doctype": "DocField",
"fieldname": "in_words_import",
"fieldtype": "Data",
"label": "In Words(Import)",
"label": "In Words",
"oldfieldname": "in_words_import",
"oldfieldtype": "Data",
"print_hide": 1,
@ -387,24 +402,11 @@
"oldfieldtype": "Column Break",
"print_hide": 0
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"no_copy": 1,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "other_charges_added",
"fieldtype": "Currency",
"label": "Taxes and Charges Added",
"label": "Taxes and Charges Added (Company Currency)",
"no_copy": 0,
"oldfieldname": "other_charges_added",
"oldfieldtype": "Currency",
@ -416,7 +418,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted",
"label": "Taxes and Charges Deducted (Company Currency)",
"no_copy": 0,
"oldfieldname": "other_charges_deducted",
"oldfieldtype": "Currency",
@ -428,7 +430,7 @@
"doctype": "DocField",
"fieldname": "total_tax",
"fieldtype": "Currency",
"label": "Total Tax*",
"label": "Total Tax (Company Currency)",
"no_copy": 1,
"oldfieldname": "total_tax",
"oldfieldtype": "Currency",
@ -440,7 +442,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"no_copy": 1,
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
@ -452,7 +454,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -464,7 +466,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,
@ -581,34 +583,6 @@
"options": "link:Letter Head",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "amended_from",
"fieldtype": "Data",
"hidden": 0,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"read_only": 1,
"report_hide": 0
},
{
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"no_copy": 0,
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "fiscal_year",

36
buying/doctype/purchase_order_item/purchase_order_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-24 19:29:06",
"docstatus": 0,
"modified": "2013-07-08 13:51:42",
"modified": "2013-07-09 11:45:00",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -25,6 +25,20 @@
"doctype": "DocType",
"name": "Purchase Order Item"
},
{
"doctype": "DocField",
"fieldname": "item_code",
"fieldtype": "Link",
"in_filter": 1,
"label": "Item Code",
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"print_hide": 0,
"read_only": 0,
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "schedule_date",
@ -40,20 +54,6 @@
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "item_code",
"fieldtype": "Link",
"in_filter": 1,
"label": "Item Code",
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"print_hide": 0,
"read_only": 0,
"reqd": 1,
"search_index": 1
},
{
"description": "If Supplier Part Number exists for given Item, it gets stored here",
"doctype": "DocField",
@ -160,7 +160,7 @@
"doctype": "DocField",
"fieldname": "purchase_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate*",
"label": "Price List Rate (Company Currency)",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 0
@ -170,7 +170,7 @@
"doctype": "DocField",
"fieldname": "purchase_rate",
"fieldtype": "Currency",
"label": "Rate*",
"label": "Rate (Company Currency)",
"oldfieldname": "purchase_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -185,7 +185,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",

193
buying/doctype/supplier_quotation/supplier_quotation.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:45",
"docstatus": 0,
"modified": "2013-07-08 15:14:48",
"modified": "2013-07-09 12:49:31",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -139,40 +139,37 @@
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
"fieldname": "amended_from",
"fieldtype": "Data",
"hidden": 1,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"read_only": 1,
"report_hide": 0
},
{
"allow_on_submit": 1,
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "quotation_items",
"fieldtype": "Table",
"label": "Quotation Items",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"no_copy": 0,
"oldfieldname": "po_details",
"oldfieldtype": "Table",
"options": "Supplier Quotation Item"
},
{
"doctype": "DocField",
"fieldname": "section_break0",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button"
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "currency_price_list",
"fieldtype": "Section Break",
"label": "Currency & Price List",
"label": "Currency and Price List",
"options": "icon-tag"
},
{
@ -235,6 +232,60 @@
"label": "Price List Exchange Rate",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "quotation_items",
"fieldtype": "Table",
"label": "Quotation Items",
"no_copy": 0,
"oldfieldname": "po_details",
"oldfieldtype": "Table",
"options": "Supplier Quotation Item"
},
{
"doctype": "DocField",
"fieldname": "section_break_22",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total",
"no_copy": 0,
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_24",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total (Company Currency)",
"no_copy": 1,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -255,15 +306,6 @@
"options": "Purchase Taxes and Charges Master",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "get_tax_detail",
"fieldtype": "Button",
"label": "Get Tax Detail",
"oldfieldtype": "Button",
"options": "get_purchase_tax_details",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "purchase_tax_details",
@ -274,14 +316,6 @@
"oldfieldtype": "Table",
"options": "Purchase Taxes and Charges"
},
{
"doctype": "DocField",
"fieldname": "calculate_tax",
"fieldtype": "Button",
"label": "Calculate Tax",
"oldfieldtype": "Button",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "tax_calculation",
@ -299,23 +333,11 @@
"oldfieldtype": "Section Break",
"options": "icon-money"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total (Import)",
"no_copy": 0,
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "other_charges_added_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Added (Import)",
"label": "Taxes and Charges Added",
"no_copy": 0,
"oldfieldname": "other_charges_added_import",
"oldfieldtype": "Currency",
@ -328,7 +350,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted (Import)",
"label": "Taxes and Charges Deducted",
"no_copy": 0,
"oldfieldname": "other_charges_deducted_import",
"oldfieldtype": "Currency",
@ -342,7 +364,7 @@
"fieldname": "grand_total_import",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Grand Total (Import)",
"label": "Grand Total",
"no_copy": 0,
"oldfieldname": "grand_total_import",
"oldfieldtype": "Currency",
@ -355,7 +377,7 @@
"doctype": "DocField",
"fieldname": "in_words_import",
"fieldtype": "Data",
"label": "In Words(Import)",
"label": "In Words",
"oldfieldname": "in_words_import",
"oldfieldtype": "Data",
"print_hide": 1,
@ -368,24 +390,11 @@
"oldfieldtype": "Column Break",
"print_hide": 0
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"no_copy": 1,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "other_charges_added",
"fieldtype": "Currency",
"label": "Taxes and Charges Added",
"label": "Taxes and Charges Added (Company Currency)",
"no_copy": 0,
"oldfieldname": "other_charges_added",
"oldfieldtype": "Currency",
@ -397,7 +406,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted",
"label": "Taxes and Charges Deducted (Company Currency)",
"no_copy": 0,
"oldfieldname": "other_charges_deducted",
"oldfieldtype": "Currency",
@ -409,7 +418,7 @@
"doctype": "DocField",
"fieldname": "total_tax",
"fieldtype": "Currency",
"label": "Total Tax*",
"label": "Total Tax (Company Currency)",
"no_copy": 1,
"oldfieldname": "total_tax",
"oldfieldtype": "Currency",
@ -421,7 +430,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"no_copy": 1,
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
@ -433,7 +442,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -445,7 +454,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,
@ -553,39 +562,11 @@
"options": "\nYes\nNo",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "amended_from",
"fieldtype": "Data",
"hidden": 1,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"read_only": 1,
"report_hide": 0
},
{
"doctype": "DocField",
"fieldname": "column_break_57",
"fieldtype": "Column Break"
},
{
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"no_copy": 0,
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"reqd": 1,
"search_index": 1
},
{
"doctype": "DocField",
"fieldname": "fiscal_year",

12
buying/doctype/supplier_quotation_item/supplier_quotation_item.txt

@ -1,8 +1,8 @@
[
{
"creation": "2013-03-07 11:42:56",
"creation": "2013-05-22 12:43:10",
"docstatus": 0,
"modified": "2013-05-22 12:02:28",
"modified": "2013-07-09 12:15:15",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -106,7 +106,7 @@
"doctype": "DocField",
"fieldname": "import_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate ",
"label": "Price List Rate",
"options": "currency",
"print_hide": 1,
"read_only": 0
@ -145,7 +145,7 @@
"doctype": "DocField",
"fieldname": "purchase_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate*",
"label": "Price List Rate (Company Currency)",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 0
@ -155,7 +155,7 @@
"doctype": "DocField",
"fieldname": "purchase_rate",
"fieldtype": "Currency",
"label": "Rate*",
"label": "Rate (Company Currency)",
"oldfieldname": "purchase_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -170,7 +170,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",

16
controllers/accounts_controller.py

@ -354,6 +354,22 @@ class AccountsController(TransactionBase):
"advance_amount": flt(d.amount),
"allocate_amount": 0
})
def validate_multiple_billing(self, ref_dt, item_ref_dn, based_on):
for item in self.doclist.get({"parentfield": "entries"}):
if item.fields.get(item_ref_dn):
already_billed = webnotes.conn.sql("""select sum(%s) from `tab%s`
where %s=%s and docstatus=1""" % (based_on, self.tname, item_ref_dn, '%s'),
item.fields[item_ref_dn])[0][0]
if already_billed:
max_allowed_amt = webnotes.conn.get_value(ref_dt + " Item",
item.fields[item_ref_dn], based_on)
if flt(already_billed) + flt(item.fields[based_on]) > max_allowed_amt:
webnotes.msgprint(_("Row ")+ item.idx + ": " + item.item_code +
_(" will be over-billed against mentioned ") + ref_dt +
_(". Max allowed " + based_on + ": " + max_allowed_amt),
raise_exception=1)
def get_company_default(self, fieldname):
from accounts.utils import get_company_default

335
home/page/latest_updates/latest_updates.js

@ -1,292 +1,3 @@
erpnext.updates = [
["17th May", ["Patch: Set Conversion Factor for purchase invoice item in all old records. And repost JV to book Stock Received But Not Billed account, if Auto Inventory Integration enabed."
]],
["2nd May", ["Buying: Warehouse must belong to same company as transaction",
"Price List: Added Currency Field. One price list can have only one currency",
"Item: Naming can now be by series or item code",
"Naming Series: Set number of digits in series (optionally)",
"Login: Disable Signup link in the login page"]],
["30th April", ["Price List: Valid for all countries or only valid for specific countries"]],
["18th April", ["Cost Center: Set a default Cost Center for a Company"]],
["12th April", ["Employee: List of Leave Approvers who can approve the Employee's Leave Applications"]],
["10th April", ["Redesigned File Uploads and added File Manager in Setup"]],
["3rd April", ["Update Manager: Open source users can update their ERPNext instance from Setup > Update Manager"]],
["27th March", ["Rename multiple items together. Go to Setup > Rename Tool"]],
["26th March", ["Added project to Stock Ledger and Balance",
"Added Default Cash Account in Company."]],
["19th March", ["Sales and Purchase Return Tool deprecated. Use Stock Entry instead."]],
["12th March", ["Updates to website module. Added more options in Style Settings and Website Settings."]],
["5th March", ["Refactored Upload Attendance Tool"]],
["4th March", ["Lead organization added in Quotation classic/spartan/modern print format"]],
["1st March", [
"Time Log, Time Log Batch: Created feature to batch Time Logs so that they can be tracked for billing.",
"Sub-contracting code refactored for PO",
]],
["28th February", [
"Datatype validation in Voucher Import Tool",
"Fixes for conversion factor in old invoices",
"Fixed asynchronus issue in purchase cycle"
]],
["27th February", [
"Time Log: Created Time Log System, with Calendar View."
]],
["26th February", [
"Gross Profit: The report has been rewritten and now it is under Accounts module"
]],
["25th February", [
"Employee Leave Balance: New Report",
"Scripted Reports: Ability to create reports via Script",
]],
["21st February, 2013", [
"Item: Warehouse-wise Re-order Level and Quantity",
"Buying: Purchase Request renamed to Material Request",
"Website: Dynamic (mobile friendly) layouts using Bootstrap Responsive layouts"
]],
["20th February, 2013", [
"Disable Rounded Total: If disable in 'Global Defaults', Rounding related fields \
in sales cycle transactions and in corresponding print formats will not be visible"
]],
["15th February, 2013", [
"Calendar: Added new FullCalendar, and Calendar Views",
"Leave Application: Added email notifications on Leave Application",
]],
["13th February, 2013", [
"Employee: If Employee is linked to a Profile, copy Full Name, Date of Birth, \
Image and Gender to Profile",
"Leave Application: Select Leave Approver by their Full Name",
"Fixes in C-Form",
]],
["12th February, 2013", ["Fixes in Payment Reconciliation "]],
["6th February, 2013", [
"Bookmarks: Add bookmarks via toolbar by clicking on the <i class='icon-star'></i> sign.",
"Fixes in Voucher Import Tool",
]],
["5th February, 2013", [
"Block Negative Account Balance: If enabled, system will not allow to post entry \
if balance goes into negative",
"Leave Block List: Block users from taking leave on certain days.",
"Added project column in 'To Be Delivered/Billed' report ",
]],
["4th February, 2013", [
"Make gl entry only if amount is there",
"Fixes in Stock Ledger Report"
]],
["2nd February, 2013", [
"Warehouse: Added table Warehouse User to restrict Warehouse Entry per user.",
"Fixes in Gl Entry for Purchase Invoice",
]],
["1st February, 2013", [
"Removed sales order pending items report",
"Fixes in Salary Register Report, Sales Invoice and Budget Control",
]],
["31st January, 2013", [
"New Report: Purchase order items pending to be received",
"GL Mapper deprecated",
]],
["28st January, 2013", [
"List Views are now configurable: To set list views, check 'In List View' in Setup > Customize Form View in the fields table.",
"Fixes in Financial Statements and Features Setup",
]],
["25th January, 2013", [
"Fixes for currency in all Modern/Classic/Spartan print formats",
"Stock Ageing Report: Added show zero values option"
]],
["24th January, 2013", [
"Sales Analytics based on Sales Order/Delivery Note/Sales Invoice",
"Integrated Languages in Profile and via browser settings. To set your language, click on your name in the toolbar then 'My Settings...'",
"Fixes in Recurring Invoice",
"Fixes for Territory link to Sales Browser ",
"Check item/item group with same name while creating item group/item",
]],
["22nd January, 2013", [
"Valuation Rate mandatory for opening Stock Reconciliation",
"Show analytics value based on valuation method defined in item master",
]],
["21st January, 2013", [
"Number Formatting: Added Number Format to Global Defaults & Currency",
]],
["20th January, 2013", [
"In payment matching tool only show outstanding invoices"
]],
["18th January, 2013", [
"Buying: Added Price List to purchase cycle",
"C-Form now submittable",
]],
["16th January, 2013", [
"Incoming rate for sales return as per delivery note outgoing rate",
"Job Applicant: Track Job Applicants and extract them from a mailbox like 'jobs@example.com'. See <a href='#Form/Jobs Email Settings'>Jobs Email Settings</a>.",
"Extract leads: Extract Leads from a mailbox like 'sales@example.com'. See <a href='#Form/Sales Email Settings'>Sales Email Settings</a>.",
]],
["14th January, 2013", [
"Stock Reconciliation: Ability to update Valuation Rate",
"Time Field: Added Datetime and new Time Picker",
"Task, Support Ticket, Customer Issue: Added script to update resolution times"
]],
["10th January 2013", [
"Modules: New module pages with open item count and multi-lingual.",
"Permissions: Added new 'Report' permission. Only users with report permissions will be allowed.",
]],
["7th January 2013", [
"Language (backend): Integrated language libraries."]],
["4th January 2013", [
"Support Analytics: Simple Tool to Plot Number Tickets and time to Closing",
"Workflow: Added Workflow Help",
]],
["2nd January 2013", [
"Permission Manager: New Design with better help and better advanced permission selection.",
"User Properties: Better way to set User Properties (defaults).",
]],
["1st January 2013", [
"Trial Balance: Added an option to see the report <b>without period closing entry</b>\
You will find this checkbox at the bottom of the report.",
"General Ledger: Now, on filter of any account group, you will have an option to see \
the report <b>grouped by ledgers</b> under that group and with opening \
and closing balance for each of them."
]],
["28th December 2012", [
"Workflow: Added System for Multi-level approval before Submission. \
<br>See video at <a href='https://www.youtube.com/watch?v=zuGv59_wJKw' \
target='_blank'>https://www.youtube.com/watch?v=zuGv59_wJKw</a>.",
"Stock Level Report: New report to see available and estimated qty of stock",
]],
["27th December 2012", [
"Website: Added auto-generated Contact Us and About Us Pages",
"Website: Added option to create slideshows and add them to Pages, Products and Product Groups",
]],
["25th December 2012", [
"Stock Balance Report: Inflow, outflow and balance of stock within a defined period",
"Stock Reports: Added Brand filter on some of the reports"
]],
["21st December 2012", [
"Manufacturing: For Material Transfer against Production Order, \
fetch quantity pending to be transferred for each item.",
"Desktop: New Icons and now sortable by dragging."
]],
["20th December 2012", [
"Website: Create Product Search Page, Product Group Page on the website.",
"Manufacturing: \
<a href=\"https://github.com/webnotes/erpnext/wiki/Changes-in-Manufacturing-Module\" \
target=\"_blank\">Refactored code, improved usability.</a>"
]],
["14th December 2012", [
"Website Module: Major Refactor - removed framework code from website."
]],
["12th December 2012", [
"Attachments: Attachments can be set as URLs or File Uploads. This will help if people want to share documents from Google Docs, Dropbox and other such services (esp for the Product listings on websites).",
"Global Defaults: Session Expiry can now be set in Global Defaults.",
]],
["6th December 2012", [
"Rename: Cost Center, Item Group, Customer Group, Supplier Type, Territory, Sales Person can now be renamed.",
"Newsletter: Send newsletter to a list of email addresses.",
]],
["5th December 2012", [
"Leave Application: Now can set approver.",
"New Roles Added: Leave Approver and Expense Approver.",
"Production Order: Now linked with Sales Order.",
"Production Planning Tool: The field 'Allow SA items as raw material' has been renamed to 'Use multi-level BOM', 'Include in plan' column from SO table has been deleted",
"Batch Numbers: Batch nos are now filtered with Item and available qty at time of selection in transactions.",
"BOM: 'Update Costing' button has been deleted, once submitted cost are fixed.",
"[For indian customer only] Deprecated TDS related documents and fields. Old TDS amount added into tax table in Purchase Invoice and entries table in case of JV",
]],
["4th December 2012", [
"POS / Mode of Payment: Select default bank / cash account in Mode of Payment and it will be automatically selected in POS Invoice.",
"Email: Add contact name as 'Dear so-and-so' in Email.",
"Report Builder: Remember last column setup for users",
"Report Builder: Autoset column width (remember)",
]],
["3rd December 2012", [
"Linked With: Added new Linked with in all Forms.",
"Rename Tool: Documents that can be renamed will have a 'Rename' option in the sidebar (wherever applicable).",
"Chart of Accounts: Ability to rename / delete from Chart of Accounts.",
"Delivery and Billing status now updated in sales order, if POS made against that sales order"
]],
["30th November 2012", [
"Auto Notifications: System will prompt user with pre-set message for auto-notification.",
"Employee: Users with role Employee will only be able to see their Employee Records.",
"Leave Application: Users with role Employee can now apply for leaves. HR User will be able to set Approval or Rejection.",
]],
["29th November 2012", [
"EMail: Form Emails are now via Communication (with Rich Text Etc.).",
]],
["28th November 2012", [
"Profile: Profile Settings (My Settings...) is now the Profile Form.",
"Financial Analytics: Show Net Profit/Loss",
]],
["27th November 2012", [
"Communication: Made common communication thread and added it in Lead, Contact.",
]],
["26th November 2012", [
"Email: Added User Signature",
"Support Ticket: Added link to Lead / Contact. If incoming ticket is not from an existing Lead / Contact, create a new Lead",
]],
["24ht November 2012", [
"Support Ticket: Support Ticket Response is now Communication",
]],
["23rd November 2012", [
"General Ledger: Auto-suggest Accounts for filtering",
"Calendar: User Interface Fixes, small text for events",
"Email Settings: Setup outgoing email without a login id \
(applicable for a local email server)",
"Delivered Items To Be Billed: New report in 'Accounts'",
]],
["22nd November 2012", [
"Support Ticket: Compose a reply using Markdown",
"Supplier Link Field: Search by Supplier Name instead of ID",
"Supplier Link Field: Show only ID in auto-suggest \
if ID created using Supplier Name (as defined in Global Defaults)",
]],
["21st November 2012", [
"Tree Report: Added missing expand / collapse buttons.",
"List View: Do not show restricted records, as defined in Permission Manager.",
"Customer Link Field: Search by Customer Name instead of ID",
"Customer Link Field: Show only ID in auto-suggest \
if ID created using Customer Name (as defined in Global Defaults)",
"Letter Head: Fixed bug causing cursor position to reset in Content",
]],
["20th November 2012", [
"Auto-suggest: Show main label in bold",
"Data Import Tool: Fixed #Name error faced by MS Excel users in import template",
]],
["19th November 2012", [
"Sales Order: Bugfix - Shipping Address should be a Link field.",
"Link Fields: Search Profile, Employee and Lead using Full Names instead of ID.",
"Knowledge Base: Always open links, embedded in an answer, in a new tab."
]],
["16th November 2012", [
"Appraisal: Cleaned up form and logic. Removed complex and unnecessary approval logic, \
the appraiser can select the template and role and make an appraisal. \
Normal user can see self created Appraisals. HR Manager can see all Appraisals.",
"Project: Bugfix in Gantt Chart (caused due to jquery conflict)",
"Serial No: Ability to rename.",
"Rename Tool: Added Serial No to rename tool.",
]],
["15th November 2012", [
"Customer Issue: Moved all allocations to 'Assigned' so that there is avoid duplication fo features.",
"Letter Head: Show preview, make upload button more visible.",
"Price List: Removed import, now import from Data Import Tool.",
"Data Import Tool: More help in template.",
]],
["14th November 2012", [
"Employee: If User ID is set, Employee Name will be updated in defaults and will appear automatically in all relevant forms.",
"Backups: Link to download both database and files.",
]],
["13th November 2012", [
"Customize Form View: Validate correct 'Options' for Link and Table fields.",
"Report Builder (new): Added formatters for Date, Currency, Links etc.",
"Trial Balance (new): Feature to export Ledgers or Groups selectively. Indent Groups with spaces.",
"General Ledger (new): Will show entries with 'Is Opening' as Opening.",
"General Ledger (new): Show against account entries if filtered by account.",
]],
["12th November 2012", [
"Document Lists: Automatically Refresh lists when opened (again).",
"Messages: Popups will not be shown (annoying).",
"Email Digest: New option to get ten latest Open Support Tickets.",
"Journal Voucher: 'Against JV' will now be filtered by the Account selected.",
"Query Report: Allow user to rename and save reports.",
"Employee Leave Balance Report: Bugfix"
]]
];
wn.pages['latest-updates'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
@ -295,16 +6,40 @@ wn.pages['latest-updates'].onload = function(wrapper) {
});
var parent = $(wrapper).find(".layout-main");
parent.html('<div class="progress progress-striped active">\
<div class="progress-bar" style="width: 100%;"></div></div>')
$("<p class='help'>Report issues by sending a mail to <a href='mailto:support@erpnext.com'>support@erpnext.com</a> or \
via <a href='https://github.com/webnotes/erpnext/issues'>GitHub Issues</a></p><hr>").appendTo(parent);
$.each(erpnext.updates, function(i, day) {
$("<h4>" + day[0] + "</h4>").appendTo(parent);
$.each(day[1], function(j, item) {
$("<p>").html(item).appendTo(parent);
});
$("<hr>").appendTo(parent);
});
wn.call({
method:"home.page.latest_updates.latest_updates.get",
callback: function(r) {
parent.empty();
$("<p class='help'>Report issues at\
<a href='https://github.com/webnotes/erpnext/issues'>GitHub Issues</a></p>\
<hr><h3>Commit Log</h3>")
.appendTo(parent);
var $tbody = $('<table class="table table-bordered"><tbody></tbody></table>')
.appendTo(parent).find("tbody");
$.each(r.message, function(i, log) {
if(log.message.indexOf("[")!==-1) {
log.message = log.message.replace(/(\[[^\]]*\])/g,
function(match, p1, offset, string) {
match = match.toLowerCase();
var color_class = "";
$.each(["bug", "fix"], function(i, v) {
if(!color_class && match.indexOf(v)!==-1)
color_class = "label-danger";
});
return '<span class="label ' + color_class +'">' + p1.slice(1,-1) + '</span> '
});
log.repo = log.repo==="lib" ? "wnframework" : "erpnext";
$(repl('<tr>\
<td><b><a href="https://github.com/webnotes/%(repo)s/commit/%(commit)s" \
target="_blank">%(message)s</b>\
<br><span class="text-muted">By %(author)s on %(date)s</span></td></tr>', log)).appendTo($tbody);
}
})
}
})
};

58
home/page/latest_updates/latest_updates.py

@ -0,0 +1,58 @@
from __future__ import unicode_literals
import webnotes, os, subprocess, tempfile, json, datetime
@webnotes.whitelist()
def get():
with open("../app/home/page/latest_updates/latest_updates.json", "r") as lufile:
return json.loads(lufile.read())
def make():
def add_to_logs(out, repo):
out.seek(0)
last_commit = None
for l in out.readlines():
if last_commit is not None:
if l.startswith("Date:"):
last_commit["date"] = l[8:-1]
last_commit["datetime"] = datetime.datetime.strptime(last_commit["date"][:-6], "%a %b %d %H:%M:%S %Y")
if l.startswith("Author:"):
last_commit["author"] = l[8:-1]
if l.startswith(" "):
last_commit["message"] = l[4:-1]
if l.startswith("commit"):
last_commit = {
"repo": repo,
"commit": l.split(" ")[1][:-1]
}
logs.append(last_commit)
os.chdir("lib")
logs = []
out_lib = tempfile.TemporaryFile()
subprocess.call("git --no-pager log -n 200", shell=True, stdout=out_lib)
add_to_logs(out_lib, "lib")
os.chdir("../app")
out_app = tempfile.TemporaryFile()
subprocess.call("git --no-pager log -n 200", shell=True, stdout=out_app)
add_to_logs(out_app, "app")
logs.sort(key=lambda a: a["datetime"], reverse=True)
for a in logs:
del a["datetime"]
for i in xrange(len(logs)):
if i and logs[i]["message"]==logs[i-1]["message"]:
logs[i]["delete"] = True
if logs[i]["message"].startswith("Merge branch") or "[" not in logs[i]["message"]:
logs[i]["delete"] = True
logs = filter(lambda a: a if not a.get("delete") else None, logs)
os.chdir("..")
with open("app/home/page/latest_updates/latest_updates.json", "w") as lufile:
lufile.write(json.dumps(logs, indent=1, sort_keys=True))
if __name__=="__main__":
make()

5
patches/july_2013/p02_copy_shipping_address.py

@ -0,0 +1,5 @@
def execute():
import webnotes
webnotes.reload_doc("stock", "doctype", "delivery_note")
webnotes.conn.sql("""update `tabDelivery Note` set shipping_address_name = customer_address,
shipping_address = address_display""")

6
patches/july_2013/p03_cost_center_company.py

@ -0,0 +1,6 @@
import webnotes
def execute():
webnotes.reload_doc("accounts", "doctype", "cost_center")
webnotes.conn.sql("""update `tabCost Center` set company=company_name""")
webnotes.conn.sql_ddl("""alter table `tabCost Center` drop column company_name""")

6
patches/march_2013/p08_create_aii_accounts.py

@ -79,9 +79,9 @@ def add_accounts(accounts_to_add, check_fn=None):
def add_aii_cost_center():
for company, abbr in webnotes.conn.sql("""select name, abbr from `tabCompany`"""):
if not webnotes.conn.sql("""select name from `tabCost Center` where cost_center_name =
'Auto Inventory Accounting' and company_name = %s""", company):
'Auto Inventory Accounting' and company = %s""", company):
parent_cost_center = webnotes.conn.get_value("Cost Center",
{"parent_cost_center['']": '', "company_name": company})
{"parent_cost_center['']": '', "company": company})
if not parent_cost_center:
webnotes.errprint("Company " + company + "does not have a root cost center")
@ -92,7 +92,7 @@ def add_aii_cost_center():
"cost_center_name": "Auto Inventory Accounting",
"parent_cost_center": parent_cost_center,
"group_or_ledger": "Ledger",
"company_name": company
"company": company
})
cc.insert()

2
patches/patch_list.py

@ -248,4 +248,6 @@ patch_list = [
"patches.july_2013.p01_remove_doctype_mappers",
"execute:webnotes.delete_doc('Report', 'Delivered Items To Be Billed')",
"execute:webnotes.delete_doc('Report', 'Received Items To Be Billed')",
"patches.july_2013.p02_copy_shipping_address",
"patches.july_2013.p03_cost_center_company",
]

14
public/js/controllers/stock_controller.js

@ -19,7 +19,7 @@ wn.provide("erpnext.stock");
erpnext.stock.StockController = wn.ui.form.Controller.extend({
show_stock_ledger: function() {
var me = this;
this.frm.add_custom_button("Show Stock Ledger", function() {
this.frm.add_custom_button("Stock Ledger", function() {
wn.route_options = {
voucher_no: me.frm.doc.name,
from_date: cur_frm.doc.posting_date,
@ -27,5 +27,17 @@ erpnext.stock.StockController = wn.ui.form.Controller.extend({
};
wn.set_route('stock-ledger');
}, "icon-bar-chart");
},
show_general_ledger: function() {
if(doc.docstatus==1) {
cur_frm.add_custom_button('Accounting Ledger', function() {
wn.route_options = {
"voucher_no": doc.name,
"from_date": doc.posting_date,
"to_date": doc.posting_date,
};
wn.set_route("general-ledger");
});
}
}
});

1
public/js/queries.js

@ -15,6 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// searches for enabled profiles
wn.provide("erpnext.utils");
erpnext.utils.profile_query = function() {
return "select name, concat_ws(' ', first_name, middle_name, last_name) \
from `tabProfile` where ifnull(enabled, 0)=1 and docstatus < 2 and \

6
public/js/startup.js

@ -71,12 +71,6 @@ erpnext.startup.start = function() {
}
}
erpnext.hide_naming_series = function() {
if(cur_frm.fields_dict.naming_series) {
cur_frm.toggle_display("naming_series", cur_frm.doc.__islocal?true:false);
}
}
erpnext.setup_mousetrap = function() {
$(document).keydown("meta+g ctrl+g", function(e) {
wn.ui.toolbar.search.show();

2
public/js/toolbar.js

@ -31,6 +31,8 @@ erpnext.toolbar.setup = function() {
'+wn._('Live Chat')+'</a></li>')
erpnext.toolbar.set_new_comments();
$("#toolbar-tools").append('<li><a href="#latest-updates">Latest Updates</li>');
}
erpnext.toolbar.set_new_comments = function(new_comments) {

1
public/js/transaction.js

@ -45,6 +45,7 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
refresh: function() {
this.frm.clear_custom_buttons();
erpnext.hide_naming_series();
erpnext.hide_company();
this.show_item_wise_taxes();
this.frm.fields_dict.currency ? this.currency() : this.set_dynamic_labels();
},

36
public/js/utils.js

@ -13,13 +13,31 @@
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
wn.provide("erpnext.utils");
wn.provide("erpnext");
erpnext.get_currency = function(company) {
if(!company && cur_frm)
company = cur_frm.doc.company;
if(company)
return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
else
return wn.boot.sysdefaults.currency;
}
$.extend(erpnext, {
get_currency: function(company) {
if(!company && cur_frm)
company = cur_frm.doc.company;
if(company)
return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
else
return wn.boot.sysdefaults.currency;
},
hide_naming_series: function() {
if(cur_frm.fields_dict.naming_series) {
cur_frm.toggle_display("naming_series", cur_frm.doc.__islocal?true:false);
}
},
hide_company: function() {
if(cur_frm.fields_dict.company) {
var companies = Object.keys(locals[":Company"]);
if(companies.length === 1) {
if(!cur_frm.doc.company) cur_frm.set_value("company", companies[0]);
cur_frm.toggle_display("company", false);
}
}
}
});

51
selling/doctype/quotation/quotation.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-24 19:29:08",
"docstatus": 0,
"modified": "2013-07-08 15:51:41",
"modified": "2013-07-09 12:48:56",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -236,7 +236,7 @@
"doctype": "DocField",
"fieldname": "section_break0",
"fieldtype": "Section Break",
"label": "Price List and Currency",
"label": "Currency and Price List",
"options": "icon-tag",
"read_only": 0
},
@ -348,15 +348,20 @@
"doctype": "DocField",
"fieldname": "net_total_export",
"fieldtype": "Currency",
"label": "Net Total (Export)",
"label": "Net Total",
"options": "currency",
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_28",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"label": "Net Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
@ -366,15 +371,6 @@
"reqd": 0,
"width": "100px"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -445,36 +441,27 @@
"doctype": "DocField",
"fieldname": "other_charges_total_export",
"fieldtype": "Currency",
"label": "Taxes and Charges Total (Export)",
"label": "Taxes and Charges Total",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_42",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "other_charges_total",
"fieldtype": "Currency",
"label": "Taxes and Charges Total",
"label": "Taxes and Charges Total (Company Currency)",
"oldfieldname": "other_charges_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_42",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "calculate_charges",
"fieldtype": "Button",
"label": "Calculate Taxes and Charges",
"oldfieldtype": "Button",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "totals",
@ -539,7 +526,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total*",
"label": "Grand Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
@ -553,7 +540,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
@ -567,7 +554,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"no_copy": 0,
"oldfieldname": "in_words",
"oldfieldtype": "Data",

8
selling/doctype/quotation_item/quotation_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-03-07 11:42:57",
"docstatus": 0,
"modified": "2013-05-22 12:10:32",
"modified": "2013-07-09 12:24:21",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -174,7 +174,7 @@
"doctype": "DocField",
"fieldname": "base_ref_rate",
"fieldtype": "Currency",
"label": "Price List Rate*",
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -189,7 +189,7 @@
"fieldname": "basic_rate",
"fieldtype": "Currency",
"in_filter": 0,
"label": "Basic Rate*",
"label": "Basic Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -206,7 +206,7 @@
"fieldname": "amount",
"fieldtype": "Currency",
"in_filter": 0,
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",

65
selling/doctype/sales_order/sales_order.txt

@ -2,7 +2,7 @@
{
"creation": "2013-06-18 12:39:59",
"docstatus": 0,
"modified": "2013-07-08 15:54:25",
"modified": "2013-07-09 12:47:46",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -210,7 +210,7 @@
"fieldname": "po_no",
"fieldtype": "Data",
"hidden": 0,
"label": "P.O. No",
"label": "Customer's Purchase Order No",
"oldfieldname": "po_no",
"oldfieldtype": "Data",
"print_hide": 0,
@ -223,7 +223,7 @@
"fieldname": "po_date",
"fieldtype": "Date",
"hidden": 0,
"label": "P.O. Date",
"label": "Customer's Purchase Order Date",
"oldfieldname": "po_date",
"oldfieldtype": "Date",
"print_hide": 0,
@ -255,7 +255,7 @@
"doctype": "DocField",
"fieldname": "sec_break45",
"fieldtype": "Section Break",
"label": "Price List and Currency",
"label": "Currency and Price List",
"options": "icon-tag"
},
{
@ -364,19 +364,29 @@
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "section_break_31",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_export",
"fieldtype": "Currency",
"label": "Net Total (Export)",
"label": "Net Total",
"options": "currency",
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_33",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"label": "Net Total (Company Currency)",
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -385,15 +395,6 @@
"reqd": 0,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button",
"print_hide": 1,
"search_index": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -458,16 +459,21 @@
"doctype": "DocField",
"fieldname": "other_charges_total_export",
"fieldtype": "Currency",
"label": "Taxes and Charges Total (Export)",
"label": "Taxes and Charges Total",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_46",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "other_charges_total",
"fieldtype": "Currency",
"label": "Taxes and Charges Total",
"label": "Taxes and Charges Total (Company Currency)",
"oldfieldname": "other_charges_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -475,19 +481,6 @@
"read_only": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "column_break_46",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "calculate_charges",
"fieldtype": "Button",
"label": "Calculate Taxes and Charges",
"oldfieldtype": "Button",
"print_hide": 0
},
{
"doctype": "DocField",
"fieldname": "totals",
@ -501,7 +494,7 @@
"doctype": "DocField",
"fieldname": "grand_total_export",
"fieldtype": "Currency",
"label": "Grand Total (Export)",
"label": "Grand Total",
"oldfieldname": "grand_total_export",
"oldfieldtype": "Currency",
"options": "currency",
@ -514,7 +507,7 @@
"doctype": "DocField",
"fieldname": "rounded_total_export",
"fieldtype": "Currency",
"label": "Rounded Total (Export)",
"label": "Rounded Total",
"oldfieldname": "rounded_total_export",
"oldfieldtype": "Currency",
"options": "currency",
@ -526,7 +519,7 @@
"doctype": "DocField",
"fieldname": "in_words_export",
"fieldtype": "Data",
"label": "In Words (Export)",
"label": "In Words",
"oldfieldname": "in_words_export",
"oldfieldtype": "Data",
"print_hide": 0,
@ -545,7 +538,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total*",
"label": "Grand Total (Company Currency)",
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -558,7 +551,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -571,7 +564,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,

6
selling/doctype/sales_order/test_sales_order.py

@ -158,7 +158,7 @@ class TestSalesOrder(unittest.TestCase):
self.check_reserved_qty(so.doclist[1].item_code, so.doclist[1].reserved_warehouse, 10.0)
def test_reserved_qty_for_so_with_packing_list(self):
from stock.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
# change item in test so record
test_record = test_records[0][:]
@ -185,7 +185,7 @@ class TestSalesOrder(unittest.TestCase):
so.doclist[1].reserved_warehouse, 0.0)
def test_reserved_qty_for_partial_delivery_with_packing_list(self):
from stock.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
# change item in test so record
@ -235,7 +235,7 @@ class TestSalesOrder(unittest.TestCase):
so.doclist[1].reserved_warehouse, 20.0)
def test_reserved_qty_for_over_delivery_with_packing_list(self):
from stock.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
from selling.doctype.sales_bom.test_sales_bom import test_records as sbom_test_records
# change item in test so record
test_record = webnotes.copy_doclist(test_records[0])

10
selling/doctype/sales_order_item/sales_order_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-03-07 11:42:58",
"docstatus": 0,
"modified": "2013-05-22 12:10:03",
"modified": "2013-07-09 12:28:31",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -163,7 +163,7 @@
"doctype": "DocField",
"fieldname": "base_ref_rate",
"fieldtype": "Currency",
"label": "Price List Rate*",
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -177,7 +177,7 @@
"doctype": "DocField",
"fieldname": "basic_rate",
"fieldtype": "Currency",
"label": "Basic Rate*",
"label": "Basic Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -192,7 +192,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"no_copy": 0,
"oldfieldname": "amount",
"oldfieldtype": "Currency",
@ -337,7 +337,7 @@
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "Quotation No.",
"label": "Quotation",
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Link",

8
setup/doctype/company/company.py

@ -215,13 +215,13 @@ class DocType:
cc_list = [
{
'cost_center_name': self.doc.name,
'company_name':self.doc.name,
'company':self.doc.name,
'group_or_ledger':'Group',
'parent_cost_center':''
},
{
'cost_center_name':'Main',
'company_name':self.doc.name,
'company':self.doc.name,
'group_or_ledger':'Ledger',
'parent_cost_center':self.doc.name + ' - ' + self.doc.abbr
},
@ -266,9 +266,9 @@ class DocType:
webnotes.conn.sql("delete from `tabAccount` where company = %s order by lft desc, rgt desc", self.doc.name)
#delete cost center child table - budget detail
webnotes.conn.sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company_name = %s", self.doc.name)
webnotes.conn.sql("delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc where bd.parent = cc.name and cc.company = %s", self.doc.name)
#delete cost center
webnotes.conn.sql("delete from `tabCost Center` WHERE company_name = %s order by lft desc, rgt desc", self.doc.name)
webnotes.conn.sql("delete from `tabCost Center` WHERE company = %s order by lft desc, rgt desc", self.doc.name)
webnotes.defaults.clear_default("company", value=self.doc.name)

18
setup/doctype/email_settings/email_settings.txt

@ -2,7 +2,7 @@
{
"creation": "2013-03-25 17:53:21",
"docstatus": 0,
"modified": "2013-07-05 14:36:16",
"modified": "2013-07-09 10:41:38",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -81,6 +81,13 @@
"fieldtype": "Data",
"label": "Login Id"
},
{
"description": "Check this if you want to send emails as this id only (in case of restriction by your email provider).",
"doctype": "DocField",
"fieldname": "always_use_login_id_as_sender",
"fieldtype": "Check",
"label": "Always use Login Id as sender"
},
{
"doctype": "DocField",
"fieldname": "mail_password",
@ -101,19 +108,12 @@
"fieldtype": "Check",
"label": "Send Print in Body and Attachment"
},
{
"description": "Set the POP3 email settings to pull emails directly from a mailbox and create Support Tickets",
"doctype": "DocField",
"fieldname": "support_ticket_mail_settings",
"fieldtype": "Section Break",
"label": "Support Ticket Mail Settings"
},
{
"description": "To automatically create Support Tickets from your incoming mail, set your POP3 settings here. You must ideally create a separate email id for the erp system so that all emails will be synced into the system from that mail id. If you are not sure, please contact your EMail Provider.",
"doctype": "DocField",
"fieldname": "section_break0",
"fieldtype": "Section Break",
"label": "Incoming Mail Setting"
"label": "Incoming / Support Mail Setting"
},
{
"description": "Check this to pull emails from your mailbox",

34
setup/page/setup/setup.js

@ -67,10 +67,15 @@ wn.pages['Setup'].onload = function(wrapper) {
+item.title+'</a></b></div>').appendTo(row);
} else {
var col = $('<div class="col col-lg-5">\
<span class="badge">'+ item.count +'</span>'+
' <b>' + (item.title || item.doctype) + '</b>'
+'</div>')
var col = $(repl('<div class="col col-lg-5">\
<span class="badge">%(count)s</span>\
<b><i class="%(icon)s"></i>\
<a class="data-link">%(title)s</a></b>\
</div>', {
count: item.count,
title: wn._(item.title || item.doctype),
icon: wn.boot.doctype_icons[item.doctype]
}))
.appendTo(row);
col.find(".badge")
@ -91,12 +96,19 @@ wn.pages['Setup'].onload = function(wrapper) {
$('<div class="col col-lg-1"></div>').appendTo(row);
if(item.doctype) {
col.find(".badge")
var badge = col.find(".badge, .data-link")
.attr("data-doctype", item.doctype)
.css({"cursor": "pointer"})
.click(function() {
if(item.single) {
badge.click(function() {
wn.set_route("Form", $(this).attr("data-doctype"))
})
} else {
badge.click(function() {
wn.set_route(item.tree || "List", $(this).attr("data-doctype"))
})
}
}
// tree
@ -108,11 +120,13 @@ wn.pages['Setup'].onload = function(wrapper) {
<a class="import-link"><i class="icon-upload"></i> Import</a>')
.appendTo($links)
$links.find(".view-link")
var mylink = $links.find(".view-link")
.attr("data-doctype", item.doctype)
.click(function() {
wn.set_route(item.tree, item.doctype);
})
mylink.click(function() {
wn.set_route(item.tree, item.doctype);
})
} else if(item.single) {
$('<a class="view-link"><i class="icon-edit"></i> Edit</a>')
.appendTo($links)

5
setup/page/setup/setup.py

@ -93,6 +93,8 @@ items = [
{ "doctype": "Purchase Taxes and Charges Master" },
{ "doctype": "Shipping Rule" },
{ "doctype": "Currency Exchange" },
{ "title": "Accounts Settings",
"route": "Form/Accounts Settings", "type": "Link", "icon": "icon-cog" },
{
"type": "Section",
"title": "Opening Accounts and Stock",
@ -146,7 +148,8 @@ items = [
"query": "select count(*) from tabSingles where doctype='Email Settings' and field='outgoing_mail_server'"
},
{
"doctype": "Support Email Settings",
"title": "Support Email Settings",
"doctype": "Email Settings",
"single": 1,
"query": "select count(*) from tabSingles where doctype='Email Settings' and field='support_host'"
},

5
stock/doctype/delivery_note/delivery_note.js

@ -34,7 +34,9 @@ erpnext.stock.DeliveryNoteController = erpnext.selling.SellingController.extend(
if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
cur_frm.add_custom_button('Make Installation Note', this.make_installation_note);
if (doc.docstatus==1) cur_frm.add_custom_button('Send SMS', cur_frm.cscript.send_sms);
if (doc.docstatus==1) {
cur_frm.add_custom_button('Send SMS', cur_frm.cscript.send_sms);
}
if(doc.docstatus==0 && !doc.__islocal) {
cur_frm.add_custom_button('Make Packing Slip', cur_frm.cscript['Make Packing Slip']);
@ -248,6 +250,7 @@ if (sys_defaults.auto_inventory_accounting) {
cur_frm.fields_dict.delivery_note_details.grid.get_field("cost_center").get_query = function(doc) {
return {
filters: {
'company_name': doc.company,
'group_or_ledger': "Ledger"

91
stock/doctype/delivery_note/delivery_note.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-24 19:29:09",
"docstatus": 0,
"modified": "2013-07-08 17:46:45",
"modified": "2013-07-09 12:48:27",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -212,34 +212,12 @@
"search_index": 1,
"width": "100px"
},
{
"doctype": "DocField",
"fieldname": "challan_no",
"fieldtype": "Data",
"hidden": 1,
"label": "Challan No",
"oldfieldname": "challan_no",
"oldfieldtype": "Data",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "challan_date",
"fieldtype": "Date",
"hidden": 1,
"label": "Challan Date",
"oldfieldname": "challan_date",
"oldfieldtype": "Date",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "po_no",
"fieldtype": "Data",
"hidden": 1,
"label": "P.O. No",
"label": "Customer's Purchase Order No",
"no_copy": 0,
"oldfieldname": "po_no",
"oldfieldtype": "Data",
@ -254,7 +232,7 @@
"fieldname": "po_date",
"fieldtype": "Data",
"hidden": 1,
"label": "P.O. Date",
"label": "Customer's Purchase Order Date",
"no_copy": 0,
"oldfieldname": "po_date",
"oldfieldtype": "Data",
@ -267,7 +245,7 @@
"doctype": "DocField",
"fieldname": "sec_break25",
"fieldtype": "Section Break",
"label": "Price List and Currency",
"label": "Currency and Price List",
"options": "icon-tag",
"read_only": 0
},
@ -390,19 +368,29 @@
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "section_break_31",
"fieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_export",
"fieldtype": "Currency",
"label": "Net Total (Export)",
"label": "Net Total",
"options": "currency",
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_33",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total*",
"label": "Net Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
@ -413,14 +401,6 @@
"reqd": 0,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button",
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "taxes",
@ -490,16 +470,21 @@
"doctype": "DocField",
"fieldname": "other_charges_total_export",
"fieldtype": "Currency",
"label": "Taxes and Charges Total (Export)",
"label": "Taxes and Charges Total",
"options": "company",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_47",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "other_charges_total",
"fieldtype": "Currency",
"label": "Taxes and Charges Total",
"label": "Taxes and Charges Total (Company Currency)",
"oldfieldname": "other_charges_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -508,20 +493,6 @@
"read_only": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "column_break_47",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "calculate_charges",
"fieldtype": "Button",
"label": "Calculate Charges",
"oldfieldtype": "Button",
"print_hide": 1,
"read_only": 0
},
{
"doctype": "DocField",
"fieldname": "totals",
@ -536,7 +507,7 @@
"doctype": "DocField",
"fieldname": "grand_total_export",
"fieldtype": "Currency",
"label": "Grand Total (Export)",
"label": "Grand Total",
"no_copy": 0,
"oldfieldname": "grand_total_export",
"oldfieldtype": "Currency",
@ -551,7 +522,7 @@
"doctype": "DocField",
"fieldname": "rounded_total_export",
"fieldtype": "Currency",
"label": "Rounded Total (Export)",
"label": "Rounded Total",
"no_copy": 0,
"oldfieldname": "rounded_total_export",
"oldfieldtype": "Currency",
@ -566,7 +537,7 @@
"doctype": "DocField",
"fieldname": "in_words_export",
"fieldtype": "Data",
"label": "In Words (Export)",
"label": "In Words",
"no_copy": 0,
"oldfieldname": "in_words_export",
"oldfieldtype": "Data",
@ -586,7 +557,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
@ -601,7 +572,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"no_copy": 0,
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
@ -616,7 +587,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"no_copy": 0,
"oldfieldname": "in_words",
"oldfieldtype": "Data",
@ -690,7 +661,7 @@
"doctype": "DocField",
"fieldname": "lr_no",
"fieldtype": "Data",
"label": "LR No",
"label": "Vehicle No",
"no_copy": 0,
"oldfieldname": "lr_no",
"oldfieldtype": "Data",
@ -706,7 +677,7 @@
"doctype": "DocField",
"fieldname": "lr_date",
"fieldtype": "Date",
"label": "LR Date",
"label": "Vehicle Dispatch Date",
"no_copy": 0,
"oldfieldname": "lr_date",
"oldfieldtype": "Date",

19
stock/doctype/delivery_note/test_delivery_note.py

@ -28,6 +28,25 @@ class TestDeliveryNote(unittest.TestCase):
pr.run_method("calculate_taxes_and_totals")
pr.insert()
pr.submit()
def test_over_billing_against_dn(self):
from stock.doctype.delivery_note.delivery_note import make_sales_invoice
dn = webnotes.bean(copy=test_records[0]).insert()
self.assertRaises(webnotes.ValidationError, make_sales_invoice,
dn.doc.name)
dn = webnotes.bean("Delivery Note", dn.doc.name)
dn.submit()
si = make_sales_invoice(dn.doc.name)
self.assertEquals(len(si), len(dn.doclist))
# modify export_amount
si[1].export_rate = 200
self.assertRaises(webnotes.ValidationError, webnotes.bean(si).submit)
def test_delivery_note_no_gl_entry(self):
webnotes.conn.sql("""delete from `tabBin`""")

8
stock/doctype/delivery_note_item/delivery_note_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-04-22 13:15:44",
"docstatus": 0,
"modified": "2013-07-08 17:46:21",
"modified": "2013-07-09 12:42:09",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -169,7 +169,7 @@
"doctype": "DocField",
"fieldname": "base_ref_rate",
"fieldtype": "Currency",
"label": "Price List Rate*",
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -183,7 +183,7 @@
"doctype": "DocField",
"fieldname": "basic_rate",
"fieldtype": "Currency",
"label": "Rate*",
"label": "Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -197,7 +197,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",

60
stock/doctype/material_request/material_request.txt

@ -2,7 +2,7 @@
{
"creation": "2013-03-07 14:48:38",
"docstatus": 0,
"modified": "2013-07-08 16:18:00",
"modified": "2013-07-09 11:39:32",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -79,6 +79,35 @@
"print_hide": 1,
"reqd": 1
},
{
"doctype": "DocField",
"fieldname": "amended_from",
"fieldtype": "Data",
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"print_width": "150px",
"read_only": 1,
"width": "150px"
},
{
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"print_width": "150px",
"reqd": 1,
"search_index": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "items",
@ -130,22 +159,6 @@
"search_index": 1,
"width": "100px"
},
{
"description": "Select the relevant company name if you have multiple companies",
"doctype": "DocField",
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"print_hide": 1,
"print_width": "150px",
"reqd": 1,
"search_index": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "fiscal_year",
@ -224,19 +237,6 @@
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "amended_from",
"fieldtype": "Data",
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"print_hide": 1,
"print_width": "150px",
"read_only": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "remark",

3
stock/doctype/material_request/test_material_request.py

@ -124,6 +124,9 @@ class TestMaterialRequest(unittest.TestCase):
po_doclist[0].supplier = "_Test Supplier"
po_doclist[1].qty = 27.0
po_doclist[2].qty = 1.5
po_doclist[1].schedule_date = "2013-07-09"
po_doclist[2].schedule_date = "2013-07-09"
# check for stopped status of Material Request
po = webnotes.bean(copy=po_doclist)

30
stock/doctype/material_request_item/material_request_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-02-22 01:28:02",
"docstatus": 0,
"modified": "2013-03-07 07:03:25",
"modified": "2013-07-09 11:37:12",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -25,20 +25,6 @@
"doctype": "DocType",
"name": "Material Request Item"
},
{
"allow_on_submit": 0,
"doctype": "DocField",
"fieldname": "schedule_date",
"fieldtype": "Date",
"label": "Required Date",
"no_copy": 1,
"oldfieldname": "schedule_date",
"oldfieldtype": "Date",
"print_hide": 0,
"print_width": "100px",
"reqd": 1,
"width": "100px"
},
{
"doctype": "DocField",
"fieldname": "item_code",
@ -53,6 +39,20 @@
"search_index": 1,
"width": "100px"
},
{
"allow_on_submit": 0,
"doctype": "DocField",
"fieldname": "schedule_date",
"fieldtype": "Date",
"label": "Required Date",
"no_copy": 1,
"oldfieldname": "schedule_date",
"oldfieldtype": "Date",
"print_hide": 0,
"print_width": "100px",
"reqd": 1,
"width": "100px"
},
{
"doctype": "DocField",
"fieldname": "description",

2
stock/doctype/purchase_receipt/purchase_receipt.py

@ -103,7 +103,7 @@ class DocType(BuyingController):
},
"Purchase Order Item": {
"ref_dn_field": "prevdoc_detail_docname",
"compare_fields": [["export_rate", "="], ["project_name", "="], ["warehouse", "="],
"compare_fields": [["import_rate", "="], ["project_name", "="], ["warehouse", "="],
["uom", "="], ["item_code", "="]],
"is_child_table": True
}

182
stock/doctype/purchase_receipt/purchase_receipt.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:39",
"docstatus": 0,
"modified": "2013-07-08 17:46:13",
"modified": "2013-07-09 12:50:25",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -172,7 +172,7 @@
"fieldname": "challan_no",
"fieldtype": "Data",
"hidden": 1,
"label": "Challan No",
"label": "Supplier Shipment No",
"no_copy": 1,
"oldfieldname": "challan_no",
"oldfieldtype": "Data",
@ -186,7 +186,7 @@
"fieldname": "challan_date",
"fieldtype": "Date",
"hidden": 1,
"label": "Challan Date",
"label": "Supplier Shipment Date",
"no_copy": 1,
"oldfieldname": "challan_date",
"oldfieldtype": "Date",
@ -195,58 +195,11 @@
"reqd": 0,
"width": "100px"
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "purchase_receipt_details",
"fieldtype": "Table",
"label": "Purchase Receipt Items",
"oldfieldname": "purchase_receipt_details",
"oldfieldtype": "Table",
"options": "Purchase Receipt Item",
"print_hide": 0,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "section_break0",
"fieldtype": "Section Break",
"oldfieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "get_current_stock",
"fieldtype": "Button",
"label": "Get Current Stock",
"oldfieldtype": "Button",
"options": "get_current_stock",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_18",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "recalculate_values",
"fieldtype": "Button",
"label": "Re-Calculate Values",
"oldfieldtype": "Button"
},
{
"doctype": "DocField",
"fieldname": "currency_price_list",
"fieldtype": "Section Break",
"label": "Currency & Price List",
"label": "Currency and Price List",
"options": "icon-tag"
},
{
@ -308,6 +261,71 @@
"label": "Price List Exchange Rate",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "items",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart"
},
{
"allow_on_submit": 1,
"doctype": "DocField",
"fieldname": "purchase_receipt_details",
"fieldtype": "Table",
"label": "Purchase Receipt Items",
"oldfieldname": "purchase_receipt_details",
"oldfieldtype": "Table",
"options": "Purchase Receipt Item",
"print_hide": 0,
"reqd": 0
},
{
"doctype": "DocField",
"fieldname": "section_break0",
"fieldtype": "Section Break",
"oldfieldtype": "Section Break"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total",
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "get_current_stock",
"fieldtype": "Button",
"label": "Get Current Stock",
"oldfieldtype": "Button",
"options": "get_current_stock",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "column_break_27",
"fieldtype": "Column Break"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total (Company Currency)",
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"print_width": "150px",
"read_only": 1,
"reqd": 1,
"width": "150px"
},
{
"description": "Add / Edit Taxes and Charges",
"doctype": "DocField",
@ -328,15 +346,6 @@
"options": "Purchase Taxes and Charges Master",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "get_tax_detail",
"fieldtype": "Button",
"label": "Get Tax Detail",
"oldfieldtype": "Button",
"options": "get_purchase_tax_details",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "purchase_tax_details",
@ -346,14 +355,6 @@
"oldfieldtype": "Table",
"options": "Purchase Taxes and Charges"
},
{
"doctype": "DocField",
"fieldname": "calculate_tax",
"fieldtype": "Button",
"label": "Calculate Tax",
"oldfieldtype": "Button",
"print_hide": 1
},
{
"doctype": "DocField",
"fieldname": "tax_calculation",
@ -371,22 +372,11 @@
"oldfieldtype": "Section Break",
"options": "icon-money"
},
{
"doctype": "DocField",
"fieldname": "net_total_import",
"fieldtype": "Currency",
"label": "Net Total (Import)",
"oldfieldname": "net_total_import",
"oldfieldtype": "Currency",
"options": "currency",
"print_hide": 1,
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "other_charges_added_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Added (Import)",
"label": "Taxes and Charges Added",
"oldfieldname": "other_charges_added_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -397,7 +387,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted_import",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted (Import)",
"label": "Taxes and Charges Deducted",
"oldfieldname": "other_charges_deducted_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -408,7 +398,7 @@
"doctype": "DocField",
"fieldname": "grand_total_import",
"fieldtype": "Currency",
"label": "Grand Total (Import)",
"label": "Grand Total",
"oldfieldname": "grand_total_import",
"oldfieldtype": "Currency",
"options": "currency",
@ -419,7 +409,7 @@
"doctype": "DocField",
"fieldname": "in_words_import",
"fieldtype": "Data",
"label": "In Words (Import)",
"label": "In Words",
"oldfieldname": "in_words_import",
"oldfieldtype": "Data",
"print_hide": 1,
@ -432,25 +422,11 @@
"print_width": "50%",
"width": "50%"
},
{
"doctype": "DocField",
"fieldname": "net_total",
"fieldtype": "Currency",
"label": "Net Total",
"oldfieldname": "net_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"print_hide": 1,
"print_width": "150px",
"read_only": 1,
"reqd": 1,
"width": "150px"
},
{
"doctype": "DocField",
"fieldname": "other_charges_added",
"fieldtype": "Currency",
"label": "Taxes and Charges Added",
"label": "Taxes and Charges Added (Company Currency)",
"oldfieldname": "other_charges_added",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -461,7 +437,7 @@
"doctype": "DocField",
"fieldname": "other_charges_deducted",
"fieldtype": "Currency",
"label": "Taxes and Charges Deducted",
"label": "Taxes and Charges Deducted (Company Currency)",
"oldfieldname": "other_charges_deducted",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -472,7 +448,7 @@
"doctype": "DocField",
"fieldname": "total_tax",
"fieldtype": "Currency",
"label": "Total Tax",
"label": "Total Tax (Company Currency)",
"oldfieldname": "total_tax",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -483,7 +459,7 @@
"doctype": "DocField",
"fieldname": "grand_total",
"fieldtype": "Currency",
"label": "Grand Total",
"label": "Grand Total (Company Currency)",
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -494,7 +470,7 @@
"doctype": "DocField",
"fieldname": "rounded_total",
"fieldtype": "Currency",
"label": "Rounded Total",
"label": "Rounded Total (Company Currency)",
"oldfieldname": "rounded_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -506,7 +482,7 @@
"doctype": "DocField",
"fieldname": "in_words",
"fieldtype": "Data",
"label": "In Words",
"label": "In Words (Company Currency)",
"oldfieldname": "in_words",
"oldfieldtype": "Data",
"print_hide": 1,

6
stock/doctype/purchase_receipt/test_purchase_receipt.py

@ -22,7 +22,7 @@ import webnotes.defaults
from webnotes.utils import cint
class TestPurchaseReceipt(unittest.TestCase):
def test_make_purchase_invocie(self):
def test_make_purchase_invoice(self):
from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
pr = webnotes.bean(copy=test_records[0]).insert()
@ -37,6 +37,10 @@ class TestPurchaseReceipt(unittest.TestCase):
self.assertEquals(pi[0]["doctype"], "Purchase Invoice")
self.assertEquals(len(pi), len(pr.doclist))
# modify import_rate
pi[1].import_rate = 200
self.assertRaises(webnotes.ValidationError, webnotes.bean(pi).submit)
def test_purchase_receipt_no_gl_entry(self):
pr = webnotes.bean(copy=test_records[0])
pr.run_method("calculate_taxes_and_totals")

16
stock/doctype/purchase_receipt_item/purchase_receipt_item.txt

@ -2,7 +2,7 @@
{
"creation": "2013-05-24 19:29:10",
"docstatus": 0,
"modified": "2013-07-08 17:46:17",
"modified": "2013-07-09 12:20:50",
"modified_by": "Administrator",
"owner": "Administrator"
},
@ -124,7 +124,7 @@
"doctype": "DocField",
"fieldname": "import_ref_rate",
"fieldtype": "Currency",
"label": "Ref Rate ",
"label": "Price List Rate",
"options": "currency",
"print_hide": 1,
"read_only": 0
@ -165,7 +165,7 @@
"doctype": "DocField",
"fieldname": "purchase_ref_rate",
"fieldtype": "Currency",
"label": "Price List Rate*",
"label": "Price List Rate (Company Currency)",
"options": "Company:company:default_currency",
"print_hide": 1,
"read_only": 0
@ -175,7 +175,7 @@
"doctype": "DocField",
"fieldname": "purchase_rate",
"fieldtype": "Currency",
"label": "Rate*",
"label": "Rate (Company Currency)",
"oldfieldname": "purchase_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -190,7 +190,7 @@
"doctype": "DocField",
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount*",
"label": "Amount (Company Currency)",
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@ -314,7 +314,7 @@
"doctype": "DocField",
"fieldname": "qa_no",
"fieldtype": "Link",
"label": "QA No",
"label": "Quality Inspection",
"no_copy": 1,
"oldfieldname": "qa_no",
"oldfieldtype": "Link",
@ -378,7 +378,7 @@
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "PO No",
"label": "Purchase Order",
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Link",
@ -396,7 +396,7 @@
"fieldtype": "Date",
"hidden": 1,
"in_filter": 1,
"label": "PO Date",
"label": "Purchase Order Date",
"no_copy": 1,
"oldfieldname": "prevdoc_date",
"oldfieldtype": "Date",

4
stock/doctype/stock_entry/stock_entry.js

@ -107,6 +107,8 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
this.toggle_enable_bom();
if (this.frm.doc.docstatus==1) {
this.show_stock_ledger();
if(wn.boot.auto_inventory_accounting)
this.show_general_ledger();
}
if(this.frm.doc.docstatus === 1 &&
@ -387,4 +389,4 @@ cur_frm.fields_dict.customer.get_query = function(doc,cdt,cdn) {
return{ query:"controllers.queries.customer_query" } }
cur_frm.fields_dict.supplier.get_query = function(doc,cdt,cdn) {
return{ query:"controllers.queries.supplier_query" } }
return{ query:"controllers.queries.supplier_query" } }

21
stock/report/batch_wise_balance_history/batch_wise_balance_history.js

@ -1,26 +1,5 @@
wn.query_reports["Batch-Wise Balance History"] = {
"filters": [
{
"fieldname":"item_code",
"label": "Item",
"fieldtype": "Link",
"options": "Item",
"width": "80"
},
{
"fieldname":"warehouse",
"label": "Warehouse",
"fieldtype": "Link",
"options": "Warehouse",
"width": "80"
},
{
"fieldname":"batch_no",
"label": "Batch",
"fieldtype": "Link",
"options": "Batch",
"width": "80"
},
{
"fieldname":"from_date",
"label": "From Date",

11
stock/report/batch_wise_balance_history/batch_wise_balance_history.py

@ -49,15 +49,6 @@ def get_columns(filters):
def get_conditions(filters):
conditions = ""
if filters.get("item_code"):
conditions += " and item_code='%s'" % filters["item_code"]
if filters.get("warehouse"):
conditions += " and warehouse='%s'" % filters["warehouse"]
if filters.get("batch_no"):
conditions += " and batch_no='%s'" % filters["batch_no"]
if not filters.get("from_date"):
webnotes.msgprint("Please enter From Date", raise_exception=1)
@ -100,8 +91,6 @@ def get_item_warehouse_batch_map(filters):
return iwb_map
def get_item_details(filters):
if filters.get("item_code"):
conditions = " and name = '%s'" % filters["item_code"]
item_map = {}
for d in webnotes.conn.sql("select name, item_name, description from tabItem", as_dict=1):
item_map.setdefault(d.name, d)

14
stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.js

@ -1,19 +1,5 @@
wn.query_reports["Warehouse-Wise Stock Balance"] = {
"filters": [
{
"fieldname":"item_code",
"label": "Item",
"fieldtype": "Link",
"options": "Item",
"width": "80"
},
{
"fieldname":"warehouse",
"label": "Warehouse",
"fieldtype": "Link",
"options": "Warehouse",
"width": "80"
},
{
"fieldname":"from_date",
"label": "From Date",

38
stock/report/warehouse_wise_stock_balance/warehouse_wise_stock_balance.py

@ -26,34 +26,29 @@ def execute(filters=None):
iwb_map = get_item_warehouse_map(filters)
data = []
for item in sorted(iwb_map):
for wh in sorted(iwb_map[item]):
qty_dict = iwb_map[item][wh]
data.append([item, item_map[item]["item_name"],
item_map[item]["description"], wh,
qty_dict.opening_qty, qty_dict.in_qty,
qty_dict.out_qty, qty_dict.bal_qty
])
for company in sorted(iwb_map):
for item in sorted(iwb_map[company]):
for wh in sorted(iwb_map[company][item]):
qty_dict = iwb_map[company][item][wh]
data.append([item, item_map[item]["item_name"],
item_map[item]["description"], wh,
qty_dict.opening_qty, qty_dict.in_qty,
qty_dict.out_qty, qty_dict.bal_qty, company
])
return columns, data
def get_columns(filters):
"""return columns based on filters"""
columns = ["Item:Link/Item:100"] + ["Item Name::150"] + ["Description::150"] + \
["Warehouse:Link/Warehouse:100"] + ["Opening Qty::90"] + \
["In Qty::80"] + ["Out Qty::80"] + ["Balance Qty::90"]
columns = ["Item:Link/Item:100", "Item Name::150", "Description::150", \
"Warehouse:Link/Warehouse:100", "Opening Qty::90", \
"In Qty::80", "Out Qty::80", "Balance Qty::90", "Company:Link/Company:100"]
return columns
def get_conditions(filters):
conditions = ""
if filters.get("item_code"):
conditions += " and item_code='%s'" % filters["item_code"]
if filters.get("warehouse"):
conditions += " and warehouse='%s'" % filters["warehouse"]
if not filters.get("from_date"):
webnotes.msgprint("Please enter From Date", raise_exception=1)
@ -68,7 +63,7 @@ def get_conditions(filters):
def get_stock_ledger_entries(filters):
conditions = get_conditions(filters)
return webnotes.conn.sql("""select item_code, warehouse,
posting_date, actual_qty
posting_date, actual_qty, company
from `tabStock Ledger Entry`
where ifnull(is_cancelled, 'No') = 'No' %s order by item_code, warehouse""" %
conditions, as_dict=1)
@ -78,10 +73,11 @@ def get_item_warehouse_map(filters):
iwb_map = {}
for d in sle:
iwb_map.setdefault(d.item_code, {}).setdefault(d.warehouse, webnotes._dict({\
iwb_map.setdefault(d.company, {}).setdefault(d.item_code, {}).\
setdefault(d.warehouse, webnotes._dict({\
"opening_qty": 0.0, "in_qty": 0.0, "out_qty": 0.0, "bal_qty": 0.0
}))
qty_dict = iwb_map[d.item_code][d.warehouse]
qty_dict = iwb_map[d.company][d.item_code][d.warehouse]
if d.posting_date < filters["from_date"]:
qty_dict.opening_qty += flt(d.actual_qty)
elif d.posting_date >= filters["from_date"] and d.posting_date <= filters["to_date"]:
@ -95,8 +91,6 @@ def get_item_warehouse_map(filters):
return iwb_map
def get_item_details(filters):
if filters.get("item_code"):
conditions = " and name = '%s'" % filters["item_code"]
item_map = {}
for d in webnotes.conn.sql("select name, item_name, description from tabItem", as_dict=1):
item_map.setdefault(d.name, d)

2
utilities/transaction_base.py

@ -303,7 +303,7 @@ class TransactionBase(StatusUpdater):
for key, val in ref.items():
ref_doc = {}
for d in self.doclist.get({"doctype": source_dt}):
if d.fields[val["ref_dn_field"]]:
if d.fields.get(val["ref_dn_field"]):
ref_doc.setdefault(key, d.fields[val["ref_dn_field"]])
if val.get("is_child_table"):

Loading…
Cancel
Save