Merge branch 'develop' into company_fix_v13
This commit is contained in:
		
						commit
						de20b083a0
					
				| @ -648,13 +648,18 @@ def get_orders_to_be_billed(posting_date, party_type, party, | ||||
| 
 | ||||
| 	orders = [] | ||||
| 	if voucher_type: | ||||
| 		ref_field = "base_grand_total" if party_account_currency == company_currency else "grand_total" | ||||
| 		if party_account_currency == company_currency: | ||||
| 			grand_total_field = "base_grand_total" | ||||
| 			rounded_total_field = "base_rounded_total" | ||||
| 		else: | ||||
| 			grand_total_field = "grand_total" | ||||
| 			rounded_total_field = "rounded_total" | ||||
| 
 | ||||
| 		orders = frappe.db.sql(""" | ||||
| 			select | ||||
| 				name as voucher_no, | ||||
| 				{ref_field} as invoice_amount, | ||||
| 				({ref_field} - advance_paid) as outstanding_amount, | ||||
| 				if({rounded_total_field}, {rounded_total_field}, {grand_total_field}) as invoice_amount, | ||||
| 				(if({rounded_total_field}, {rounded_total_field}, {grand_total_field}) - advance_paid) as outstanding_amount, | ||||
| 				transaction_date as posting_date | ||||
| 			from | ||||
| 				`tab{voucher_type}` | ||||
| @ -663,13 +668,14 @@ def get_orders_to_be_billed(posting_date, party_type, party, | ||||
| 				and docstatus = 1 | ||||
| 				and company = %s | ||||
| 				and ifnull(status, "") != "Closed" | ||||
| 				and {ref_field} > advance_paid | ||||
| 				and if({rounded_total_field}, {rounded_total_field}, {grand_total_field}) > advance_paid | ||||
| 				and abs(100 - per_billed) > 0.01 | ||||
| 				{condition} | ||||
| 			order by | ||||
| 				transaction_date, name | ||||
| 		""".format(**{ | ||||
| 			"ref_field": ref_field, | ||||
| 			"rounded_total_field": rounded_total_field, | ||||
| 			"grand_total_field": grand_total_field, | ||||
| 			"voucher_type": voucher_type, | ||||
| 			"party_type": scrub(party_type), | ||||
| 			"condition": condition | ||||
| @ -755,9 +761,23 @@ def get_party_details(company, party_type, party, date, cost_center=None): | ||||
| @frappe.whitelist() | ||||
| def get_account_details(account, date, cost_center=None): | ||||
| 	frappe.has_permission('Payment Entry', throw=True) | ||||
| 
 | ||||
| 	# to check if the passed account is accessible under reference doctype Payment Entry | ||||
| 	account_list = frappe.get_list('Account', { | ||||
| 		'name': account | ||||
| 	}, reference_doctype='Payment Entry', limit=1) | ||||
| 
 | ||||
| 	# There might be some user permissions which will allow account under certain doctypes | ||||
| 	# except for Payment Entry, only in such case we should throw permission error | ||||
| 	if not account_list: | ||||
| 		frappe.throw(_('Account: {0} is not permitted under Payment Entry').format(account)) | ||||
| 
 | ||||
| 	account_balance = get_balance_on(account, date, cost_center=cost_center, | ||||
| 		ignore_account_permission=True) | ||||
| 
 | ||||
| 	return frappe._dict({ | ||||
| 		"account_currency": get_account_currency(account), | ||||
| 		"account_balance": get_balance_on(account, date, cost_center=cost_center), | ||||
| 		"account_balance": account_balance, | ||||
| 		"account_type": frappe.db.get_value("Account", account, "account_type") | ||||
| 	}) | ||||
| 
 | ||||
|  | ||||
| @ -84,7 +84,8 @@ def validate_fiscal_year(date, fiscal_year, company, label="Date", doc=None): | ||||
| 			throw(_("{0} '{1}' not in Fiscal Year {2}").format(label, formatdate(date), fiscal_year)) | ||||
| 
 | ||||
| @frappe.whitelist() | ||||
| def get_balance_on(account=None, date=None, party_type=None, party=None, company=None, in_account_currency=True, cost_center=None): | ||||
| def get_balance_on(account=None, date=None, party_type=None, party=None, company=None, | ||||
| 	in_account_currency=True, cost_center=None, ignore_account_permission=False): | ||||
| 	if not account and frappe.form_dict.get("account"): | ||||
| 		account = frappe.form_dict.get("account") | ||||
| 	if not date and frappe.form_dict.get("date"): | ||||
| @ -140,7 +141,8 @@ def get_balance_on(account=None, date=None, party_type=None, party=None, company | ||||
| 
 | ||||
| 	if account: | ||||
| 
 | ||||
| 		if not frappe.flags.ignore_account_permission: | ||||
| 		if not (frappe.flags.ignore_account_permission | ||||
| 			or ignore_account_permission): | ||||
| 			acc.check_permission("read") | ||||
| 
 | ||||
| 		if report_type == 'Profit and Loss': | ||||
|  | ||||
| @ -596,6 +596,7 @@ erpnext.patches.v12_0.rename_pricing_rule_child_doctypes | ||||
| erpnext.patches.v12_0.move_target_distribution_from_parent_to_child | ||||
| erpnext.patches.v12_0.stock_entry_enhancements | ||||
| erpnext.patches.v10_0.item_barcode_childtable_migrate # 16-02-2019 #25-06-2019 | ||||
| erpnext.patches.v12_0.make_item_manufacturer | ||||
| erpnext.patches.v12_0.move_item_tax_to_item_tax_template | ||||
| erpnext.patches.v11_1.set_variant_based_on | ||||
| erpnext.patches.v11_1.woocommerce_set_creation_user | ||||
| @ -606,7 +607,6 @@ erpnext.patches.v11_1.delete_scheduling_tool | ||||
| erpnext.patches.v12_0.rename_tolerance_fields | ||||
| erpnext.patches.v12_0.make_custom_fields_for_bank_remittance #14-06-2019 | ||||
| execute:frappe.delete_doc_if_exists("Page", "support-analytics") | ||||
| erpnext.patches.v12_0.make_item_manufacturer | ||||
| erpnext.patches.v12_0.remove_patient_medical_record_page | ||||
| erpnext.patches.v11_1.move_customer_lead_to_dynamic_column | ||||
| erpnext.patches.v11_1.set_default_action_for_quality_inspection | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user