refactor!: remove `GoCardless Templates`
diff --git a/erpnext/templates/includes/integrations/gocardless_checkout.js b/erpnext/templates/includes/integrations/gocardless_checkout.js
deleted file mode 100644
index b18d550..0000000
--- a/erpnext/templates/includes/integrations/gocardless_checkout.js
+++ /dev/null
@@ -1,24 +0,0 @@
-$(document).ready(function() {
- var data = {{ frappe.form_dict | json }};
- var doctype = "{{ reference_doctype }}"
- var docname = "{{ reference_docname }}"
-
- frappe.call({
- method: "erpnext.templates.pages.integrations.gocardless_checkout.check_mandate",
- freeze: true,
- headers: {
- "X-Requested-With": "XMLHttpRequest"
- },
- args: {
- "data": JSON.stringify(data),
- "reference_doctype": doctype,
- "reference_docname": docname
- },
- callback: function(r) {
- if (r.message) {
- window.location.href = r.message.redirect_to
- }
- }
- })
-
-})
diff --git a/erpnext/templates/includes/integrations/gocardless_confirmation.js b/erpnext/templates/includes/integrations/gocardless_confirmation.js
deleted file mode 100644
index fee1d2b..0000000
--- a/erpnext/templates/includes/integrations/gocardless_confirmation.js
+++ /dev/null
@@ -1,24 +0,0 @@
-$(document).ready(function() {
- var redirect_flow_id = "{{ redirect_flow_id }}";
- var doctype = "{{ reference_doctype }}";
- var docname = "{{ reference_docname }}";
-
- frappe.call({
- method: "erpnext.templates.pages.integrations.gocardless_confirmation.confirm_payment",
- freeze: true,
- headers: {
- "X-Requested-With": "XMLHttpRequest"
- },
- args: {
- "redirect_flow_id": redirect_flow_id,
- "reference_doctype": doctype,
- "reference_docname": docname
- },
- callback: function(r) {
- if (r.message) {
- window.location.href = r.message.redirect_to;
- }
- }
- });
-
-});
diff --git a/erpnext/templates/pages/integrations/__init__.py b/erpnext/templates/pages/integrations/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/templates/pages/integrations/__init__.py
+++ /dev/null
diff --git a/erpnext/templates/pages/integrations/gocardless_checkout.html b/erpnext/templates/pages/integrations/gocardless_checkout.html
deleted file mode 100644
index 6072db4..0000000
--- a/erpnext/templates/pages/integrations/gocardless_checkout.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block title %} Payment {% endblock %}
-
-{%- block header -%}{% endblock %}
-
-{% block script %}
-<script>{% include "templates/includes/integrations/gocardless_checkout.js" %}</script>
-{% endblock %}
-
-{%- block page_content -%}
-<p class='lead text-center'>
- <span class='gocardless-loading'>{{ _("Loading Payment System") }}</span>
-</p>
-
-{% endblock %}
diff --git a/erpnext/templates/pages/integrations/gocardless_checkout.py b/erpnext/templates/pages/integrations/gocardless_checkout.py
deleted file mode 100644
index 655be52..0000000
--- a/erpnext/templates/pages/integrations/gocardless_checkout.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-import json
-
-import frappe
-from frappe import _
-from frappe.utils import flt, get_url
-
-from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import (
- get_gateway_controller,
- gocardless_initialization,
-)
-
-no_cache = 1
-
-expected_keys = (
- "amount",
- "title",
- "description",
- "reference_doctype",
- "reference_docname",
- "payer_name",
- "payer_email",
- "order_id",
- "currency",
-)
-
-
-def get_context(context):
- context.no_cache = 1
-
- # all these keys exist in form_dict
- if not (set(expected_keys) - set(frappe.form_dict.keys())):
- for key in expected_keys:
- context[key] = frappe.form_dict[key]
-
- context["amount"] = flt(context["amount"])
-
- gateway_controller = get_gateway_controller(context.reference_docname)
- context["header_img"] = frappe.db.get_value(
- "GoCardless Settings", gateway_controller, "header_img"
- )
-
- else:
- frappe.redirect_to_message(
- _("Some information is missing"),
- _("Looks like someone sent you to an incomplete URL. Please ask them to look into it."),
- )
- frappe.local.flags.redirect_location = frappe.local.response.location
- raise frappe.Redirect
-
-
-@frappe.whitelist(allow_guest=True)
-def check_mandate(data, reference_doctype, reference_docname):
- data = json.loads(data)
-
- client = gocardless_initialization(reference_docname)
-
- payer = frappe.get_doc("Customer", data["payer_name"])
-
- if payer.customer_type == "Individual" and payer.customer_primary_contact is not None:
- primary_contact = frappe.get_doc("Contact", payer.customer_primary_contact)
- prefilled_customer = {
- "company_name": payer.name,
- "given_name": primary_contact.first_name,
- }
- if primary_contact.last_name is not None:
- prefilled_customer.update({"family_name": primary_contact.last_name})
-
- if primary_contact.email_id is not None:
- prefilled_customer.update({"email": primary_contact.email_id})
- else:
- prefilled_customer.update({"email": frappe.session.user})
-
- else:
- prefilled_customer = {"company_name": payer.name, "email": frappe.session.user}
-
- success_url = get_url(
- "./integrations/gocardless_confirmation?reference_doctype="
- + reference_doctype
- + "&reference_docname="
- + reference_docname
- )
-
- try:
- redirect_flow = client.redirect_flows.create(
- params={
- "description": _("Pay {0} {1}").format(data["amount"], data["currency"]),
- "session_token": frappe.session.user,
- "success_redirect_url": success_url,
- "prefilled_customer": prefilled_customer,
- }
- )
-
- return {"redirect_to": redirect_flow.redirect_url}
-
- except Exception as e:
- frappe.log_error("GoCardless Payment Error")
- return {"redirect_to": "/integrations/payment-failed"}
diff --git a/erpnext/templates/pages/integrations/gocardless_confirmation.html b/erpnext/templates/pages/integrations/gocardless_confirmation.html
deleted file mode 100644
index d961c63..0000000
--- a/erpnext/templates/pages/integrations/gocardless_confirmation.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block title %} Payment {% endblock %}
-
-{%- block header -%}{% endblock %}
-
-{% block script %}
-<script>{% include "templates/includes/integrations/gocardless_confirmation.js" %}</script>
-{% endblock %}
-
-{%- block page_content -%}
-<p class='lead text-center'>
- <span class='gocardless-loading'>{{ _("Payment Confirmation") }}</span>
-</p>
-
-{% endblock %}
diff --git a/erpnext/templates/pages/integrations/gocardless_confirmation.py b/erpnext/templates/pages/integrations/gocardless_confirmation.py
deleted file mode 100644
index 559aa48..0000000
--- a/erpnext/templates/pages/integrations/gocardless_confirmation.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-import frappe
-from frappe import _
-
-from erpnext.erpnext_integrations.doctype.gocardless_settings.gocardless_settings import (
- get_gateway_controller,
- gocardless_initialization,
-)
-
-no_cache = 1
-
-expected_keys = ("redirect_flow_id", "reference_doctype", "reference_docname")
-
-
-def get_context(context):
- context.no_cache = 1
-
- # all these keys exist in form_dict
- if not (set(expected_keys) - set(frappe.form_dict.keys())):
- for key in expected_keys:
- context[key] = frappe.form_dict[key]
-
- else:
- frappe.redirect_to_message(
- _("Some information is missing"),
- _("Looks like someone sent you to an incomplete URL. Please ask them to look into it."),
- )
- frappe.local.flags.redirect_location = frappe.local.response.location
- raise frappe.Redirect
-
-
-@frappe.whitelist(allow_guest=True)
-def confirm_payment(redirect_flow_id, reference_doctype, reference_docname):
-
- client = gocardless_initialization(reference_docname)
-
- try:
- redirect_flow = client.redirect_flows.complete(
- redirect_flow_id, params={"session_token": frappe.session.user}
- )
-
- confirmation_url = redirect_flow.confirmation_url
- gocardless_success_page = frappe.get_hooks("gocardless_success_page")
- if gocardless_success_page:
- confirmation_url = frappe.get_attr(gocardless_success_page[-1])(
- reference_doctype, reference_docname
- )
-
- data = {
- "mandate": redirect_flow.links.mandate,
- "customer": redirect_flow.links.customer,
- "redirect_to": confirmation_url,
- "redirect_message": "Mandate successfully created",
- "reference_doctype": reference_doctype,
- "reference_docname": reference_docname,
- }
-
- try:
- create_mandate(data)
- except Exception as e:
- frappe.log_error("GoCardless Mandate Registration Error")
-
- gateway_controller = get_gateway_controller(reference_docname)
- frappe.get_doc("GoCardless Settings", gateway_controller).create_payment_request(data)
-
- return {"redirect_to": confirmation_url}
-
- except Exception as e:
- frappe.log_error("GoCardless Payment Error")
- return {"redirect_to": "/integrations/payment-failed"}
-
-
-def create_mandate(data):
- data = frappe._dict(data)
- frappe.logger().debug(data)
-
- mandate = data.get("mandate")
-
- if frappe.db.exists("GoCardless Mandate", mandate):
- return
-
- else:
- reference_doc = frappe.db.get_value(
- data.get("reference_doctype"),
- data.get("reference_docname"),
- ["reference_doctype", "reference_name"],
- as_dict=1,
- )
- erpnext_customer = frappe.db.get_value(
- reference_doc.reference_doctype, reference_doc.reference_name, ["customer_name"], as_dict=1
- )
-
- try:
- frappe.get_doc(
- {
- "doctype": "GoCardless Mandate",
- "mandate": mandate,
- "customer": erpnext_customer.customer_name,
- "gocardless_customer": data.get("customer"),
- }
- ).insert(ignore_permissions=True)
-
- except Exception:
- frappe.log_error("Gocardless: Unable to create mandate")