diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 97b7c373af6..9dcd02912ff 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals import frappe -__version__ = '7.0.26' +__version__ = '7.0.27' def get_default_company(user=None): '''Get default company for user''' diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index d17e80f7577..38cef3134ed 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -497,6 +497,18 @@ class PurchaseInvoice(BuyingController): i += 1 + if self.update_stock and valuation_tax: + for cost_center, amount in valuation_tax.items(): + gl_entries.append( + self.get_gl_dict({ + "account": self.expenses_included_in_valuation, + "cost_center": cost_center, + "against": self.supplier, + "credit": amount, + "remarks": self.remarks or "Accounting Entry for Stock" + }) + ) + def make_payment_gl_entries(self, gl_entries): # Make Cash GL Entries if cint(self.is_paid) and self.cash_bank_account and self.paid_amount: diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py index 76e0de2b942..8ed338efe1c 100644 --- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py @@ -55,14 +55,6 @@ def get_columns(): "fieldtype": "Date", "width": 90 }, - { - "fieldname": "payment_document", - "label": _("Payment Document"), - "fieldtype": "Link", - "options": "DocType", - "width": 120, - "hidden": 1 - }, { "fieldname": "payment_entry", "label": _("Payment Entry"), diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index f5ff2de3f9b..bdf3c3bd1f9 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -18,8 +18,10 @@ class Project(Document): if not self.get('__unsaved') and not self.get("tasks"): self.load_tasks() - self.set_onload('activity_summary', frappe.db.sql('''select activity_type, sum(hours) as total_hours - from `tabTimesheet Detail` where project=%s group by activity_type order by total_hours desc''', self.name, as_dict=True)) + self.set_onload('activity_summary', frappe.db.sql('''select activity_type, + sum(hours) as total_hours + from `tabTimesheet Detail` where project=%s and docstatus < 2 group by activity_type + order by total_hours desc''', self.name, as_dict=True)) def __setup__(self): self.onload() @@ -187,12 +189,12 @@ def get_list_context(context=None): "row_template": "templates/includes/projects/project_row.html" } -def get_users_for_project(doctype, txt, searchfield, start, page_len, filters): +def get_users_for_project(doctype, txt, searchfield, start, page_len, filters): return frappe.db.sql("""select name, concat_ws(' ', first_name, middle_name, last_name) - from `tabUser` - where enabled=1 + from `tabUser` + where enabled=1 and name not in ("Guest", "Administrator") - order by + order by name asc""") @frappe.whitelist() diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 82b7e11e390..0f5cb96e2ac 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -78,10 +78,6 @@ class StockReconciliation(StockController): default_currency = frappe.db.get_default("currency") - # validate no of rows - if len(self.items) > 100: - frappe.throw(_("""Max 100 rows for Stock Reconciliation.""")) - for row_num, row in enumerate(self.items): # find duplicates if [row.item_code, row.warehouse] in item_warehouse_combinations: