Merge pull request #4800 from agusputra/patch-15

Update payment-request.md
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 5440c3d..4e3fa17 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
 from __future__ import unicode_literals
-__version__ = '6.21.5'
+__version__ = '6.21.6'
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index d42d43e..aa4ae96 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -7,7 +7,7 @@
 app_description = """ERP made simple"""
 app_icon = "icon-th"
 app_color = "#e74c3c"
-app_version = "6.21.5"
+app_version = "6.21.6"
 app_email = "info@erpnext.com"
 app_license = "GNU General Public License (v3)"
 source_link = "https://github.com/frappe/erpnext"
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index c486391..16e78a6 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -92,14 +92,26 @@
 		cur_frm.toggle_enable("exp_approver", doc.approval_status=="Draft");
 		cur_frm.toggle_enable("approval_status", (doc.exp_approver==user && doc.docstatus==0));
 
-		if(doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
+		if (doc.docstatus==0 && doc.exp_approver==user && doc.approval_status=="Approved")
 			 cur_frm.savesubmit();
 
-		if(doc.docstatus==1 && frappe.model.can_create("Journal Entry") && doc.approval_status=="Approved" &&
-			cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount))
-				cur_frm.add_custom_button(__("Bank Entry"),
-				 	cur_frm.cscript.make_bank_entry, __("Make"));
+		if (doc.docstatus===1 && doc.approval_status=="Approved") {
+			if (cint(doc.total_amount_reimbursed) < cint(doc.total_sanctioned_amount) && frappe.model.can_create("Journal Entry")) {
+				cur_frm.add_custom_button(__("Bank Entry"), cur_frm.cscript.make_bank_entry, __("Make"));
 				cur_frm.page.set_inner_btn_group_as_primary(__("Make"));
+			}
+
+			if (cint(doc.total_amount_reimbursed) > 0 && frappe.model.can_read("Journal Entry")) {
+				cur_frm.add_custom_button(__('Bank Entries'), function() {
+					frappe.route_options = {
+						"Journal Entry Account.reference_type": me.frm.doc.doctype,
+						"Journal Entry Account.reference_name": me.frm.doc.name,
+						company: me.frm.doc.company
+					};
+					frappe.set_route("List", "Journal Entry");
+				}, __("View"));
+			}
+		}
 	}
 }
 
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index b6698df..5c93ef0 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -280,7 +280,7 @@
 					var party_type = "Supplier";
 					var party_account_field = 'credit_to';
 				}
-				
+
 				var party = me.frm.doc[frappe.model.scrub(party_type)];
 				if(party) {
 					return frappe.call({
@@ -643,7 +643,9 @@
 					"item_code": d.item_code,
 					"item_group": d.item_group,
 					"brand": d.brand,
-					"qty": d.qty
+					"qty": d.qty,
+					"parenttype": d.parenttype,
+					"parent": d.parent
 				});
 			}
 		};
diff --git a/erpnext/public/js/financial_statements.js b/erpnext/public/js/financial_statements.js
index 07d494a..557a392 100644
--- a/erpnext/public/js/financial_statements.js
+++ b/erpnext/public/js/financial_statements.js
@@ -36,7 +36,7 @@
 		if (columnDef.df.fieldname=="account") {
 			value = dataContext.account_name;
 
-			columnDef.df.link_onclick = 
+			columnDef.df.link_onclick =
 				"erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")";
 			columnDef.df.is_tree = true;
 		}
@@ -60,8 +60,8 @@
 		frappe.route_options = {
 			"account": data.account,
 			"company": frappe.query_report.filters_by_name.company.get_value(),
-			"from_date": data.year_start_date,
-			"to_date": data.year_end_date
+			"from_date": data.from_date || data.year_start_date,
+			"to_date": data.to_date || data.year_end_date
 		};
 		frappe.set_route("query-report", "General Ledger");
 	},
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 5548350..22dbe51 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -196,7 +196,7 @@
 		or args.get("cost_center"))
 
 def get_price_list_rate(args, item_doc, out):
-	meta = frappe.get_meta(args.doctype)
+	meta = frappe.get_meta(args.parenttype or args.doctype)
 
 	if meta.get_field("currency"):
 		validate_price_list(args)
diff --git a/setup.py b/setup.py
index ab62def..b91fd22 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 from pip.req import parse_requirements
 
-version = "6.21.5"
+version = "6.21.6"
 requirements = parse_requirements("requirements.txt", session="")
 
 setup(