diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.py b/erpnext/accounts/report/balance_sheet/balance_sheet.py index f664a9edfa..65d429c68f 100644 --- a/erpnext/accounts/report/balance_sheet/balance_sheet.py +++ b/erpnext/accounts/report/balance_sheet/balance_sheet.py @@ -29,7 +29,7 @@ def execute(filters=None): def get_provisional_profit_loss(asset, liability, equity, period_list): if asset and (liability or equity): provisional_profit_loss = { - "account_name": _("'Provisional Profit / Loss (Credit)'"), + "account_name": "'" + _("Provisional Profit / Loss (Credit)") + "'", "account": None, "warn_if_negative": True } diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py index e769373bdc..c7637789c0 100644 --- a/erpnext/accounts/report/financial_statements.py +++ b/erpnext/accounts/report/financial_statements.py @@ -146,7 +146,7 @@ def prepare_data(accounts, balance_must_be, period_list): def add_total_row(out, balance_must_be, period_list): row = { - "account_name": _("'Total ({0})'").format(balance_must_be), + "account_name": "'" + _("Total ({0})").format(balance_must_be) + "'", "account": None } for period in period_list: diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py index de476f7828..8e34cdbdba 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.py +++ b/erpnext/accounts/report/general_ledger/general_ledger.py @@ -108,30 +108,30 @@ def get_data_with_opening_closing(filters, account_details, gl_entries): # Opening for filtered account if filters.get("account"): - data += [get_balance_row("Opening", opening), {}] + data += [get_balance_row(_("Opening"), opening), {}] for acc, acc_dict in gle_map.items(): if acc_dict.entries: # Opening for individual ledger, if grouped by account if filters.get("group_by_account"): - data.append(get_balance_row("Opening", acc_dict.opening)) + data.append(get_balance_row(_("Opening"), acc_dict.opening)) data += acc_dict.entries # Totals and closing for individual ledger, if grouped by account if filters.get("group_by_account"): - data += [{"account": "'Totals'", "debit": acc_dict.total_debit, + data += [{"account": "'" + _("Totals") + "'", "debit": acc_dict.total_debit, "credit": acc_dict.total_credit}, - get_balance_row("Closing (Opening + Totals)", + get_balance_row(_("Closing (Opening + Totals)"), (acc_dict.opening + acc_dict.total_debit - acc_dict.total_credit)), {}] # Total debit and credit between from and to date if total_debit or total_credit: - data.append({"account": "'Totals'", "debit": total_debit, "credit": total_credit}) + data.append({"account": "'" + _("Totals") + "'", "debit": total_debit, "credit": total_credit}) # Closing for filtered account if filters.get("account"): - data.append(get_balance_row("Closing (Opening + Totals)", + data.append(get_balance_row(_("Closing (Opening + Totals)"), (opening + total_debit - total_credit))) return data diff --git a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py index 6e7b13ec32..0431eb6e92 100644 --- a/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py +++ b/erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py @@ -27,7 +27,7 @@ def execute(filters=None): def get_net_profit_loss(income, expense, period_list): if income and expense: net_profit_loss = { - "account_name": _("'Net Profit / Loss'"), + "account_name": "'" + _("Net Profit / Loss") + "'", "account": None, "warn_if_negative": True } diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index 699b272f23..c6e5bf0a3e 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -35,7 +35,6 @@ cur_frm.cscript.hour_rate = function(doc, dt, dn) { } cur_frm.cscript.time_in_mins = cur_frm.cscript.hour_rate; -cur_frm.cscript.fixed_cycle_cost = cur_frm.cscript.hour_rate; cur_frm.cscript.item_code = function(doc, cdt, cdn) { get_bom_material_detail(doc, cdt, cdn); diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js index 3781450d36..17fbc5e235 100644 --- a/erpnext/manufacturing/doctype/production_order/production_order.js +++ b/erpnext/manufacturing/doctype/production_order/production_order.js @@ -35,18 +35,20 @@ frappe.ui.form.on("Production Order", "additional_operating_cost", function(frm) frappe.ui.form.on("Production Order Operation", "workstation", function(frm, cdt, cdn) { var d = locals[cdt][cdn]; - frappe.call({ - "method": "frappe.client.get", - args: { - doctype: "Workstation", - name: d.workstation - }, - callback: function (data) { - frappe.model.set_value(d.doctype, d.name, "hour_rate", data.message.hour_rate); - erpnext.production_order.calculate_cost(frm.doc); - erpnext.production_order.calculate_total_cost(frm); - } - }) + if (d.workstation) { + frappe.call({ + "method": "frappe.client.get", + args: { + doctype: "Workstation", + name: d.workstation + }, + callback: function (data) { + frappe.model.set_value(d.doctype, d.name, "hour_rate", data.message.hour_rate); + erpnext.production_order.calculate_cost(frm.doc); + erpnext.production_order.calculate_total_cost(frm); + } + }) + } }); frappe.ui.form.on("Production Order Operation", "time_in_mins", function(frm, cdt, cdn) { diff --git a/erpnext/manufacturing/doctype/production_order_operation/production_order_operation.json b/erpnext/manufacturing/doctype/production_order_operation/production_order_operation.json index 83134853e2..c57d848a4b 100644 --- a/erpnext/manufacturing/doctype/production_order_operation/production_order_operation.json +++ b/erpnext/manufacturing/doctype/production_order_operation/production_order_operation.json @@ -33,7 +33,7 @@ "print_hide": 0, "read_only": 1, "report_hide": 0, - "reqd": 1, + "reqd": 0, "search_index": 0, "set_only_once": 0, "unique": 0 @@ -293,7 +293,7 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-04-22 03:25:18.542350", + "modified": "2015-05-21 13:46:27.730392", "modified_by": "Administrator", "module": "Manufacturing", "name": "Production Order Operation", diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 2990ab0f1a..85adbee88f 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -156,3 +156,4 @@ erpnext.patches.v5_0.repost_requested_qty erpnext.patches.v5_0.fix_taxes_and_totals_in_party_currency erpnext.patches.v5_0.update_tax_amount_after_discount_in_purchase_cycle erpnext.patches.v5_0.rename_pos_setting +execute:frappe.db.sql("update `tabBOM Operation` set description=opn_description where ifnull(description, '') = ''") diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py index bb589b2a66..1b986827c2 100644 --- a/erpnext/setup/doctype/naming_series/naming_series.py +++ b/erpnext/setup/doctype/naming_series/naming_series.py @@ -21,6 +21,7 @@ class NamingSeries(Document): prefixes = "" for d in doctypes: + options = "" try: options = self.get_options(d) except frappe.DoesNotExistError: diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 4670ff81e0..c7810fd039 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -446,9 +446,9 @@ cur_frm.cscript.item_code = function(doc, cdt, cdn) { callback: function(r) { if(r.message) { $.each(r.message, function(k, v) { - frappe.model.set_value(cdt, cdn, k, v); + d[k] = v; }); - refresh_field('image_view', d.name, 'items'); + refresh_field('items'); } } });