Merge pull request #1726 from pateljannat/payment-settings-refactor

refactor: payment settings
This commit is contained in:
Jannat Patel
2025-09-23 11:37:03 +05:30
committed by GitHub
17 changed files with 3652 additions and 4268 deletions

View File

@@ -6,6 +6,7 @@ import re
import shutil
import xml.etree.ElementTree as ET
import zipfile
from dataclasses import fields
from xml.dom.minidom import parseString
import frappe
@@ -823,7 +824,6 @@ def get_count(doctype, filters):
@frappe.whitelist()
def get_payment_gateway_details(payment_gateway):
fields = []
gateway = frappe.get_doc("Payment Gateway", payment_gateway)
if gateway.gateway_controller is None:
@@ -843,15 +843,30 @@ def get_payment_gateway_details(payment_gateway):
except Exception:
frappe.throw(_("{0} Settings not found").format(payment_gateway))
gateway_fields = get_transformed_fields(meta, data)
return {
"fields": gateway_fields,
"data": data,
"doctype": doctype,
"docname": docname,
}
def get_transformed_fields(meta, data=None):
transformed_fields = []
for row in meta:
if row.fieldtype not in ["Column Break", "Section Break"]:
if row.fieldtype in ["Attach", "Attach Image"]:
fieldtype = "Upload"
data[row.fieldname] = get_file_info(data.get(row.fieldname))
if data and data.get(row.fieldname):
data[row.fieldname] = get_file_info(data.get(row.fieldname))
elif row.fieldtype == "Check":
fieldtype = "checkbox"
else:
fieldtype = row.fieldtype
fields.append(
transformed_fields.append(
{
"label": row.label,
"name": row.fieldname,
@@ -859,12 +874,19 @@ def get_payment_gateway_details(payment_gateway):
}
)
return {
"fields": fields,
"data": data,
"doctype": doctype,
"docname": docname,
}
return transformed_fields
@frappe.whitelist()
def get_new_gateway_fields(doctype):
try:
meta = frappe.get_meta(doctype).fields
except Exception:
frappe.throw(_("{0} not found").format(doctype))
transformed_fields = get_transformed_fields(meta)
return transformed_fields
def update_course_statistics():

View File

@@ -147,6 +147,7 @@
"default": "0",
"fieldname": "payment_for_certificate",
"fieldtype": "Check",
"in_standard_filter": 1,
"label": "Payment for Certificate"
}
],
@@ -161,7 +162,7 @@
"link_fieldname": "payment"
}
],
"modified": "2025-08-19 10:33:15.457678",
"modified": "2025-09-23 11:04:00.462274",
"modified_by": "sayali@frappe.io",
"module": "LMS",
"name": "LMS Payment",