chore: remove payment stuff from web form controller class
This commit is contained in:
parent
6c75787d40
commit
be4b7906c0
1 changed files with 1 additions and 40 deletions
|
|
@ -10,7 +10,6 @@ from frappe.core.api.file import get_max_file_size
|
|||
from frappe.core.doctype.file import remove_file_by_url
|
||||
from frappe.custom.doctype.customize_form.customize_form import docfield_properties
|
||||
from frappe.desk.form.meta import get_code_files_via_hooks
|
||||
from frappe.integrations.utils import get_payment_gateway_controller
|
||||
from frappe.modules.utils import export_module_json, get_doc_module
|
||||
from frappe.rate_limiter import rate_limit
|
||||
from frappe.utils import cstr, dict_with_keys, strip_html
|
||||
|
|
@ -50,9 +49,6 @@ class WebForm(WebsiteGenerator):
|
|||
if not frappe.flags.in_import:
|
||||
self.validate_fields()
|
||||
|
||||
if self.accept_payment:
|
||||
self.validate_payment_amount()
|
||||
|
||||
def validate_fields(self):
|
||||
"""Validate all fields are present"""
|
||||
from frappe.model import no_value_fields
|
||||
|
|
@ -66,12 +62,6 @@ class WebForm(WebsiteGenerator):
|
|||
if missing:
|
||||
frappe.throw(_("Following fields are missing:") + "<br>" + "<br>".join(missing))
|
||||
|
||||
def validate_payment_amount(self):
|
||||
if self.amount_based_on_field and not self.amount_field:
|
||||
frappe.throw(_("Please select a Amount Field."))
|
||||
elif not self.amount_based_on_field and not self.amount > 0:
|
||||
frappe.throw(_("Amount must be greater than 0."))
|
||||
|
||||
def reset_field_parent(self):
|
||||
"""Convert link fields to select with names as options"""
|
||||
for df in self.web_form_fields:
|
||||
|
|
@ -320,36 +310,6 @@ def get_context(context):
|
|||
|
||||
context.reference_doc = json.loads(context.reference_doc.as_json())
|
||||
|
||||
def get_payment_gateway_url(self, doc):
|
||||
if self.accept_payment:
|
||||
controller = get_payment_gateway_controller(self.payment_gateway)
|
||||
|
||||
title = f"Payment for {doc.doctype} {doc.name}"
|
||||
amount = self.amount
|
||||
if self.amount_based_on_field:
|
||||
amount = doc.get(self.amount_field)
|
||||
|
||||
from decimal import Decimal
|
||||
|
||||
if amount is None or Decimal(amount) <= 0:
|
||||
return frappe.utils.get_url(self.success_url or self.route)
|
||||
|
||||
payment_details = {
|
||||
"amount": amount,
|
||||
"title": title,
|
||||
"description": title,
|
||||
"reference_doctype": doc.doctype,
|
||||
"reference_docname": doc.name,
|
||||
"payer_email": frappe.session.user,
|
||||
"payer_name": frappe.utils.get_fullname(frappe.session.user),
|
||||
"order_id": doc.name,
|
||||
"currency": self.currency,
|
||||
"redirect_to": frappe.utils.get_url(self.success_url or self.route),
|
||||
}
|
||||
|
||||
# Redirect the user to this url
|
||||
return controller.get_payment_url(**payment_details)
|
||||
|
||||
def add_custom_context_and_script(self, context):
|
||||
"""Update context from module if standard and append script"""
|
||||
if self.web_form_module:
|
||||
|
|
@ -591,6 +551,7 @@ def accept(web_form, data, docname=None, for_payment=False):
|
|||
frappe.flags.web_form_doc = doc
|
||||
|
||||
if for_payment:
|
||||
# this is needed for Payments app
|
||||
return web_form.get_payment_gateway_url(doc)
|
||||
else:
|
||||
return doc
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue