From b120520aa871ba349cbbc091421a907532c53d83 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 18 Feb 2015 11:54:08 +0530 Subject: [PATCH 1/2] fixed patches --- .../production_plan_sales_order.json | 13 ++++++++++--- erpnext/patches.txt | 6 ++++-- erpnext/patches/v5_0/rename_customer_issue.py | 2 +- erpnext/patches/v5_0/rename_table_fieldnames.py | 1 - erpnext/patches/v5_0/rename_total_fields.py | 5 +++-- ...med_fields_in_custom_script_and_print_formats.py | 2 +- 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json index 2b6c39314d..39634feb80 100644 --- a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json +++ b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json @@ -1,6 +1,6 @@ { "autoname": "PP/.SO/.#####", - "creation": "2013-02-22 01:27:49.000000", + "creation": "2013-02-22 01:27:49", "docstatus": 0, "doctype": "DocType", "fields": [ @@ -28,6 +28,12 @@ "read_only": 1, "width": "120px" }, + { + "fieldname": "col_break1", + "fieldtype": "Column Break", + "permlevel": 0, + "precision": "" + }, { "fieldname": "customer", "fieldtype": "Link", @@ -53,9 +59,10 @@ ], "idx": 1, "istable": 1, - "modified": "2013-12-20 19:23:25.000000", + "modified": "2015-02-17 14:29:14.479541", "modified_by": "Administrator", "module": "Manufacturing", "name": "Production Plan Sales Order", - "owner": "Administrator" + "owner": "Administrator", + "permissions": [] } \ No newline at end of file diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 147525e2cb..5fcf8bfe8b 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -97,6 +97,8 @@ execute:frappe.db.sql("update `tabItem` i set apply_warehouse_wise_reorder_level execute:frappe.rename_doc("DocType", "Support Ticket", "Issue", force=True) erpnext.patches.v5_0.set_default_company_in_bom erpnext.patches.v5_0.capacity_planning +execute:frappe.reload_doc('crm', 'doctype', 'lead') +execute:frappe.reload_doc('crm', 'doctype', 'opportunity') erpnext.patches.v5_0.rename_table_fieldnames execute:frappe.db.sql("update `tabJournal Entry` set voucher_type='Journal Entry' where ifnull(voucher_type, '')=''") erpnext.patches.v4_2.party_model @@ -108,6 +110,6 @@ erpnext.patches.v5_0.remove_shopping_cart_app erpnext.patches.v5_0.update_companywise_payment_account erpnext.patches.v5_0.remove_birthday_events erpnext.patches.v5_0.update_item_name_in_bom -execute:frappe.reload_doc('crm', 'doctype', 'lead') -execute:frappe.reload_doc('crm', 'doctype', 'opportunity') erpnext.patches.v5_0.rename_customer_issue +erpnext.patches.v5_0.rename_total_fields +erpnext.patches.v5_0.replace_renamed_fields_in_custom_script_and_print_formats diff --git a/erpnext/patches/v5_0/rename_customer_issue.py b/erpnext/patches/v5_0/rename_customer_issue.py index c3c38a7d8b..68bab3f906 100644 --- a/erpnext/patches/v5_0/rename_customer_issue.py +++ b/erpnext/patches/v5_0/rename_customer_issue.py @@ -2,4 +2,4 @@ import frappe def execute(): if frappe.db.table_exists("tabCustomer Issue"): - frappe.rename_doc("DocType", "Customer Issue", "Warrany Claim") + frappe.rename_doc("DocType", "Customer Issue", "Warranty Claim") diff --git a/erpnext/patches/v5_0/rename_table_fieldnames.py b/erpnext/patches/v5_0/rename_table_fieldnames.py index eed4c1ce7b..5514a00314 100644 --- a/erpnext/patches/v5_0/rename_table_fieldnames.py +++ b/erpnext/patches/v5_0/rename_table_fieldnames.py @@ -105,7 +105,6 @@ rename_map = { ["experience_in_company_details", "internal_work_history"] ], "Event": [ - ["event_individuals", "users"], ["event_roles", "roles"] ], "Expense Claim": [ diff --git a/erpnext/patches/v5_0/rename_total_fields.py b/erpnext/patches/v5_0/rename_total_fields.py index 946ad21089..d9465fa207 100644 --- a/erpnext/patches/v5_0/rename_total_fields.py +++ b/erpnext/patches/v5_0/rename_total_fields.py @@ -8,7 +8,7 @@ from frappe.modules import scrub, get_doctype_module selling_doctypes = ("Quotation", "Sales Order", "Delivery Note", "Sales Invoice") -selling_doctypes = ("Supplier Quotation", "Purchase Order", "Purchase Receipt", "Purchase Invoice") +buying_doctypes = ("Supplier Quotation", "Purchase Order", "Purchase Receipt", "Purchase Invoice") selling_renamed_fields = ( ("net_total", "base_net_total"), @@ -47,4 +47,5 @@ def execute(): rename_field(dt, f[0], f[1]) # Added new field "total_taxes_and_charges" in buying cycle, updating value - frappe.db.sql("update `tab{0}` set total_taxes_and_charges=round(base_total_taxes_and_charges/conversion_rate), 2") + frappe.db.sql("""update `tab{0}` + set total_taxes_and_charges = round(base_total_taxes_and_charges/conversion_rate, 2)""".format(dt)) diff --git a/erpnext/patches/v5_0/replace_renamed_fields_in_custom_script_and_print_formats.py b/erpnext/patches/v5_0/replace_renamed_fields_in_custom_script_and_print_formats.py index 46bb221ac6..f8775c12f3 100644 --- a/erpnext/patches/v5_0/replace_renamed_fields_in_custom_script_and_print_formats.py +++ b/erpnext/patches/v5_0/replace_renamed_fields_in_custom_script_and_print_formats.py @@ -43,7 +43,7 @@ def get_all_renamed_fields(): ) for fields in rename_map.values(): - renamed_fields += fields + renamed_fields += tuple(fields) return renamed_fields From fe81da2dd1345b3de834b50c7d6d5081c6dbe68b Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 18 Feb 2015 12:23:18 +0530 Subject: [PATCH 2/2] listview indicator fix --- .../purchase_invoice/purchase_invoice_list.js | 4 ++-- .../doctype/sales_invoice/sales_invoice_list.js | 6 +++--- .../doctype/purchase_order/purchase_order_list.js | 6 +++--- erpnext/controllers/accounts_controller.py | 4 ++-- erpnext/controllers/taxes_and_totals.py | 4 +++- erpnext/patches/v5_0/manufacturing_activity_type.py | 12 +++++------- .../selling/doctype/sales_order/sales_order_list.js | 8 ++++---- .../material_request/material_request_list.js | 5 ++--- 8 files changed, 24 insertions(+), 25 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js index 1c43b7e38b..5b47c4d8f4 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js @@ -6,13 +6,13 @@ frappe.listview_settings['Purchase Invoice'] = { add_fields: ["supplier", "supplier_name", "base_grand_total", "outstanding_amount", "due_date", "company", "currency"], get_indicator: function(doc) { - if(doc.outstanding_amount > 0 && doc.docstatus==1) { + if(flt(doc.outstanding_amount) > 0 && doc.docstatus==1) { if(frappe.datetime.get_diff(doc.due_date) < 0) { return [__("Overdue"), "red", "outstanding_amount,>,0|due_date,<,Today"]; } else { return [__("Unpaid"), "orange", "outstanding_amount,>,0|due,>=,Today"]; } - } else if(doc.outstanding_amount==0 && doc.docstatus==1) { + } else if(flt(doc.outstanding_amount)==0 && doc.docstatus==1) { return [__("Paid"), "green", "outstanding_amount,=,0"]; } } diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js index 01dcc0e372..1bcc194996 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice_list.js @@ -6,11 +6,11 @@ frappe.listview_settings['Sales Invoice'] = { add_fields: ["customer", "customer_name", "base_grand_total", "outstanding_amount", "due_date", "company", "currency"], get_indicator: function(doc) { - if(doc.outstanding_amount==0) { + if(flt(doc.outstanding_amount)==0) { return [__("Paid"), "green", "outstanding_amount,=,0"] - } else if (doc.outstanding_amount > 0 && doc.due_date > frappe.datetime.get_today()) { + } else if (flt(doc.outstanding_amount) > 0 && doc.due_date > frappe.datetime.get_today()) { return [__("Unpaid"), "orange", "outstanding_amount,>,0|due_date,>,Today"] - } else if (doc.outstanding_amount > 0 && doc.due_date <= frappe.datetime.get_today()) { + } else if (flt(doc.outstanding_amount) > 0 && doc.due_date <= frappe.datetime.get_today()) { return [__("Overdue"), "red", "outstanding_amount,>,0|due_date,<=,Today"] } }, diff --git a/erpnext/buying/doctype/purchase_order/purchase_order_list.js b/erpnext/buying/doctype/purchase_order/purchase_order_list.js index b094a65f60..1b27b79922 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order_list.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order_list.js @@ -4,11 +4,11 @@ frappe.listview_settings['Purchase Order'] = { get_indicator: function(doc) { if(doc.status==="Stopped") { return [__("Stopped"), "red", "status,=,Stopped"]; - } else if(doc.per_received < 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_received) < 100 && doc.status!=="Stopped") { return [__("Not Received"), "orange", "per_received,<,100|status,!=,Stopped"]; - } else if(doc.per_received == 100 && doc.per_billed < 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_received) == 100 && flt(doc.per_billed) < 100 && doc.status!=="Stopped") { return [__("To Bill"), "orange", "per_received,=,100|per_billed,<,100|status,!=,Stopped"]; - } else if(doc.per_received == 100 && doc.per_billed == 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_received) == 100 && flt(doc.per_billed) == 100 && doc.status!=="Stopped") { return [__("Completed"), "green", "per_received,=,100|per_billed,=,100|status,!=,Stopped"]; } } diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index def1585f7a..744a0eb689 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -52,8 +52,8 @@ class AccountsController(TransactionBase): break def calculate_taxes_and_totals(self): - from erpnext.controllers.taxes_and_totals import taxes_and_totals - taxes_and_totals(self).calculate() + from erpnext.controllers.taxes_and_totals import calculate_taxes_and_totals + calculate_taxes_and_totals(self) if self.doctype in ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice"]: self.calculate_commission() diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 6e8d7f1402..341b3ca879 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -8,10 +8,12 @@ from frappe.utils import cint, flt, rounded from erpnext.setup.utils import get_company_currency from erpnext.controllers.accounts_controller import validate_conversion_rate -class taxes_and_totals(object): +class calculate_taxes_and_totals(object): def __init__(self, doc): self.doc = doc + self.calculate() + def calculate(self): self.discount_amount_applied = False self._calculate() diff --git a/erpnext/patches/v5_0/manufacturing_activity_type.py b/erpnext/patches/v5_0/manufacturing_activity_type.py index d4e78733ba..12bf29646e 100644 --- a/erpnext/patches/v5_0/manufacturing_activity_type.py +++ b/erpnext/patches/v5_0/manufacturing_activity_type.py @@ -4,10 +4,8 @@ import frappe def execute(): - if not frappe.db.exists('Activity Type','Manufacturing') { - doc = frappe.new_doc('Activity Type') - doc.update({ - 'activity_type' : 'Manufacturing' - }) - doc.save() - } \ No newline at end of file + if not frappe.db.exists('Activity Type','Manufacturing'): + frappe.get_doc({ + "doctype": "Activity Type", + "activity_type": "Manufacturing" + }).insert() diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js index eef91620b4..17681a366f 100644 --- a/erpnext/selling/doctype/sales_order/sales_order_list.js +++ b/erpnext/selling/doctype/sales_order/sales_order_list.js @@ -4,13 +4,13 @@ frappe.listview_settings['Sales Order'] = { get_indicator: function(doc) { if(doc.status==="Stopped") { return [__("Stopped"), "red", "status,=,Stopped"]; - } else if(doc.per_delivered < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) { + } else if(flt(doc.per_delivered) < 100 && frappe.datetime.get_diff(doc.delivery_date) < 0) { return [__("Overdue"), "red", "per_delivered,<,100|delivery_date,<,Today|status,!=,Stopped"]; - } else if(doc.per_delivered < 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_delivered) < 100 && doc.status!=="Stopped") { return [__("Not Delivered"), "orange", "per_delivered,<,100|status,!=,Stopped"]; - } else if(doc.per_delivered == 100 && doc.per_billed < 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_delivered) == 100 && flt(doc.per_billed) < 100 && doc.status!=="Stopped") { return [__("To Bill"), "orange", "per_delivered,=,100|per_billed,<,100|status,!=,Stopped"]; - } else if(doc.per_delivered == 100 && doc.per_billed == 100 && doc.status!=="Stopped") { + } else if(flt(doc.per_delivered) == 100 && flt(doc.per_billed) == 100 && doc.status!=="Stopped") { return [__("Completed"), "green", "per_delivered,=,100|per_billed,=,100|status,!=,Stopped"]; } } diff --git a/erpnext/stock/doctype/material_request/material_request_list.js b/erpnext/stock/doctype/material_request/material_request_list.js index 1b9bca3eca..293d96026a 100644 --- a/erpnext/stock/doctype/material_request/material_request_list.js +++ b/erpnext/stock/doctype/material_request/material_request_list.js @@ -1,12 +1,11 @@ frappe.listview_settings['Material Request'] = { add_fields: ["material_request_type", "status", "per_ordered"], get_indicator: function(doc) { - console.log() if(doc.status=="Stopped") { return [__("Stopped"), "red", "status,=,Stopped"]; - } else if(doc.docstatus==1 && doc.per_ordered < 100) { + } else if(doc.docstatus==1 && flt(doc.per_ordered) < 100) { return [__("Pending"), "orange", "per_ordered,<,100"]; - } else if(doc.docstatus==1 && doc.per_ordered == 100) { + } else if(doc.docstatus==1 && flt(doc.per_ordered) == 100) { return [__("Ordered"), "green", "per_ordered,=,100"]; } }