@@ -76,6 +76,7 @@ jobs: | |||||
bench get-app payments $GITHUB_WORKSPACE | bench get-app payments $GITHUB_WORKSPACE | ||||
bench setup requirements --dev | bench setup requirements --dev | ||||
bench new-site --db-root-password root --admin-password admin test_site | bench new-site --db-root-password root --admin-password admin test_site | ||||
bench start &> bench_start.log & | |||||
bench --site test_site install-app payments | bench --site test_site install-app payments | ||||
bench build | bench build | ||||
env: | env: | ||||
@@ -19,6 +19,8 @@ App has 2 modules - Payments and Payment Gateways. | |||||
Payment Module contains the Payment Gateway DocType which creates links for the payment gateways and Payment Gateways Module contain all the Payment Gateway (Razorpay, Stripe, Braintree, Paypal, PayTM) DocTypes. | Payment Module contains the Payment Gateway DocType which creates links for the payment gateways and Payment Gateways Module contain all the Payment Gateway (Razorpay, Stripe, Braintree, Paypal, PayTM) DocTypes. | ||||
App adds custom fields to Web Form for facilitating payments upon installation and removes them upon uninstallation. | |||||
All general utils are stored in [utils](payments/utils) directory. The utils are written in [utils.py](payments/utils/utils.py) and then imported into the [`__init__.py`](payments/utils/__init__.py) file for easier importing/namespacing. | All general utils are stored in [utils](payments/utils) directory. The utils are written in [utils.py](payments/utils/utils.py) and then imported into the [`__init__.py`](payments/utils/__init__.py) file for easier importing/namespacing. | ||||
[overrides](payments/overrides) directory has all the overrides for overriding standard frappe code. Currently it overrides WebForm DocType controller as well as a WebForm whitelisted method. | [overrides](payments/overrides) directory has all the overrides for overriding standard frappe code. Currently it overrides WebForm DocType controller as well as a WebForm whitelisted method. | ||||
@@ -3,7 +3,7 @@ | |||||
Razorpay Payment | Razorpay Payment | ||||
1. Include checkout script in your code | 1. Include checkout script in your code | ||||
{{ include_script('checkout.bundle.js) }} | |||||
{{ include_script('/assets/payments/js/razorpay.js') }} | |||||
2. Create the Order controller in your backend | 2. Create the Order controller in your backend | ||||
def get_razorpay_order(self): | def get_razorpay_order(self): | ||||
@@ -3,7 +3,6 @@ import frappe | |||||
from frappe import _ | from frappe import _ | ||||
from frappe.custom.doctype.custom_field.custom_field import \ | from frappe.custom.doctype.custom_field.custom_field import \ | ||||
create_custom_fields | create_custom_fields | ||||
from frappe.utils.data import cint | |||||
def get_payment_gateway_controller(payment_gateway): | def get_payment_gateway_controller(payment_gateway): | ||||
@@ -163,8 +162,13 @@ def delete_custom_fields(): | |||||
def before_install(): | def before_install(): | ||||
# only install for v14 | |||||
if cint(frappe.get_module("frappe").__version__[:2]) < 14 or not frappe.get_meta( | |||||
"Module Def" | |||||
).has_field("custom"): | |||||
# TODO: remove this | |||||
# This is done for erpnext CI patch test | |||||
# | |||||
# Since we follow a flow like install v14 -> restore v10 site | |||||
# -> migrate to v12, v13 and then v14 again | |||||
# | |||||
# This app fails installing when the site is restored to v10 as | |||||
# a lot of apis don;t exist in v10 and this is a (at the moment) required app for erpnext. | |||||
if not frappe.get_meta("Module Def").has_field("custom"): | |||||
return False | return False |