mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-02 04:58:29 +00:00
fix(payment_entry): escape arguments on invoice and order fetching sql queries (backport #54582) (#54585)
Co-authored-by: diptanilsaha <diptanil@frappe.io> fix(payment_entry): escape arguments on invoice and order fetching sql queries (#54582)
This commit is contained in:
@@ -2306,22 +2306,20 @@ def get_outstanding_reference_documents(args, validate=False):
|
|||||||
# Get positive outstanding sales /purchase invoices
|
# Get positive outstanding sales /purchase invoices
|
||||||
condition = ""
|
condition = ""
|
||||||
if args.get("voucher_type") and args.get("voucher_no"):
|
if args.get("voucher_type") and args.get("voucher_no"):
|
||||||
condition = " and voucher_type={} and voucher_no={}".format(
|
condition = f" and voucher_type={frappe.db.escape(args['voucher_type'])} and voucher_no={frappe.db.escape(args['voucher_no'])}"
|
||||||
frappe.db.escape(args["voucher_type"]), frappe.db.escape(args["voucher_no"])
|
|
||||||
)
|
|
||||||
common_filter.append(ple.voucher_type == args["voucher_type"])
|
common_filter.append(ple.voucher_type == args["voucher_type"])
|
||||||
common_filter.append(ple.voucher_no == args["voucher_no"])
|
common_filter.append(ple.voucher_no == args["voucher_no"])
|
||||||
|
|
||||||
# Add cost center condition
|
# Add cost center condition
|
||||||
if args.get("cost_center"):
|
if args.get("cost_center"):
|
||||||
condition += " and cost_center='%s'" % args.get("cost_center")
|
condition += f" and cost_center={frappe.db.escape(args.get('cost_center'))}"
|
||||||
accounting_dimensions_filter.append(ple.cost_center == args.get("cost_center"))
|
accounting_dimensions_filter.append(ple.cost_center == args.get("cost_center"))
|
||||||
|
|
||||||
# dynamic dimension filters
|
# dynamic dimension filters
|
||||||
active_dimensions = get_dimensions()[0]
|
active_dimensions = get_dimensions()[0]
|
||||||
for dim in active_dimensions:
|
for dim in active_dimensions:
|
||||||
if args.get(dim.fieldname):
|
if args.get(dim.fieldname):
|
||||||
condition += f" and {dim.fieldname}='{args.get(dim.fieldname)}'"
|
condition += f" and {dim.fieldname}={frappe.db.escape(args.get(dim.fieldname))}"
|
||||||
accounting_dimensions_filter.append(ple[dim.fieldname] == args.get(dim.fieldname))
|
accounting_dimensions_filter.append(ple[dim.fieldname] == args.get(dim.fieldname))
|
||||||
|
|
||||||
date_fields_dict = {
|
date_fields_dict = {
|
||||||
@@ -2331,17 +2329,15 @@ def get_outstanding_reference_documents(args, validate=False):
|
|||||||
|
|
||||||
for fieldname, date_fields in date_fields_dict.items():
|
for fieldname, date_fields in date_fields_dict.items():
|
||||||
if args.get(date_fields[0]) and args.get(date_fields[1]):
|
if args.get(date_fields[0]) and args.get(date_fields[1]):
|
||||||
condition += " and {} between '{}' and '{}'".format(
|
condition += f" and {fieldname} between {frappe.db.escape(args.get(date_fields[0]))} and {frappe.db.escape(args.get(date_fields[1]))}"
|
||||||
fieldname, args.get(date_fields[0]), args.get(date_fields[1])
|
|
||||||
)
|
|
||||||
posting_and_due_date.append(ple[fieldname][args.get(date_fields[0]) : args.get(date_fields[1])])
|
posting_and_due_date.append(ple[fieldname][args.get(date_fields[0]) : args.get(date_fields[1])])
|
||||||
elif args.get(date_fields[0]):
|
elif args.get(date_fields[0]):
|
||||||
# if only from date is supplied
|
# if only from date is supplied
|
||||||
condition += f" and {fieldname} >= '{args.get(date_fields[0])}'"
|
condition += f" and {fieldname} >= {frappe.db.escape(args.get(date_fields[0]))}"
|
||||||
posting_and_due_date.append(ple[fieldname].gte(args.get(date_fields[0])))
|
posting_and_due_date.append(ple[fieldname].gte(args.get(date_fields[0])))
|
||||||
elif args.get(date_fields[1]):
|
elif args.get(date_fields[1]):
|
||||||
# if only to date is supplied
|
# if only to date is supplied
|
||||||
condition += f" and {fieldname} <= '{args.get(date_fields[1])}'"
|
condition += f" and {fieldname} <= {frappe.db.escape(args.get(date_fields[1]))}"
|
||||||
posting_and_due_date.append(ple[fieldname].lte(args.get(date_fields[1])))
|
posting_and_due_date.append(ple[fieldname].lte(args.get(date_fields[1])))
|
||||||
|
|
||||||
if args.get("company"):
|
if args.get("company"):
|
||||||
@@ -2561,7 +2557,7 @@ def get_orders_to_be_billed(
|
|||||||
active_dimensions = get_dimensions(True)[0]
|
active_dimensions = get_dimensions(True)[0]
|
||||||
for dim in active_dimensions:
|
for dim in active_dimensions:
|
||||||
if filters.get(dim.fieldname):
|
if filters.get(dim.fieldname):
|
||||||
condition += f" and {dim.fieldname}='{filters.get(dim.fieldname)}'"
|
condition += f" and {dim.fieldname}={frappe.db.escape(filters.get(dim.fieldname))}"
|
||||||
|
|
||||||
if party_account_currency == company_currency:
|
if party_account_currency == company_currency:
|
||||||
grand_total_field = "base_grand_total"
|
grand_total_field = "base_grand_total"
|
||||||
|
|||||||
Reference in New Issue
Block a user