From be4b7906c0a0e5f8df39a50d3945f474a7f751c3 Mon Sep 17 00:00:00 2001 From: phot0n Date: Wed, 6 Apr 2022 23:03:26 +0530 Subject: [PATCH] chore: remove payment stuff from web form controller class --- frappe/website/doctype/web_form/web_form.py | 41 +-------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/frappe/website/doctype/web_form/web_form.py b/frappe/website/doctype/web_form/web_form.py index e1c9e798e5..836ec8f632 100644 --- a/frappe/website/doctype/web_form/web_form.py +++ b/frappe/website/doctype/web_form/web_form.py @@ -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:") + "
" + "
".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