From ef14da21bcfaffd5869a6b896f8214cf6e234157 Mon Sep 17 00:00:00 2001 From: phot0n Date: Mon, 25 Jul 2022 10:38:09 +0530 Subject: [PATCH 1/4] fix: payment utils import paths Since we're splitting payments app from frappe, updating ERPnext paths as well --- erpnext/accounts/doctype/payment_request/payment_request.py | 3 ++- .../doctype/gocardless_settings/gocardless_settings.py | 4 +++- .../doctype/mpesa_settings/mpesa_settings.py | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 5264987acf..1f23af3aa8 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -6,7 +6,6 @@ import json import frappe from frappe import _ -from frappe.integrations.utils import get_payment_gateway_controller from frappe.model.document import Document from frappe.utils import flt, get_url, nowdate from frappe.utils.background_jobs import enqueue @@ -20,6 +19,8 @@ from erpnext.accounts.party import get_party_account, get_party_bank_account from erpnext.accounts.utils import get_account_currency from erpnext.erpnext_integrations.stripe_integration import create_stripe_subscription +from payments.utils import get_payment_gateway_controller + class PaymentRequest(Document): def validate(self): diff --git a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py index 55517e4828..3288da063f 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py @@ -7,10 +7,12 @@ from urllib.parse import urlencode import frappe import gocardless_pro from frappe import _ -from frappe.integrations.utils import create_payment_gateway, create_request_log +from frappe.integrations.utils import create_request_log from frappe.model.document import Document from frappe.utils import call_hook_method, cint, flt, get_url +from payments.utils import create_payment_gateway + class GoCardlessSettings(Document): supported_currencies = ["EUR", "DKK", "GBP", "SEK", "AUD", "NZD", "CAD", "USD"] diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py index e389980726..9b147b9d1e 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py @@ -6,7 +6,7 @@ from json import dumps, loads import frappe from frappe import _ -from frappe.integrations.utils import create_payment_gateway, create_request_log +from frappe.integrations.utils import create_request_log from frappe.model.document import Document from frappe.utils import call_hook_method, fmt_money, get_request_site_address @@ -16,6 +16,8 @@ from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_custom_fields imp ) from erpnext.erpnext_integrations.utils import create_mode_of_payment +from payments.utils import create_payment_gateway + class MpesaSettings(Document): supported_currencies = ["KES"] From 8004550444f026ea20234eb38d08a4167f0dba3c Mon Sep 17 00:00:00 2001 From: phot0n Date: Mon, 25 Jul 2022 10:46:46 +0530 Subject: [PATCH 2/4] fix: add payments as a required app for erpnext --- erpnext/hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index d7cd8b957c..aa10e31744 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -10,6 +10,7 @@ app_email = "info@erpnext.com" app_license = "GNU General Public License (v3)" source_link = "https://github.com/frappe/erpnext" app_logo_url = "/assets/erpnext/images/erpnext-logo.svg" +required_apps = ["payments"] develop_version = "14.x.x-develop" From 76493e928fbb9ec04e987e401649a62668e7011c Mon Sep 17 00:00:00 2001 From: phot0n Date: Mon, 25 Jul 2022 10:56:04 +0530 Subject: [PATCH 3/4] ci: update install script and patch workflow to accomodate payments app --- .github/helper/install.sh | 1 + .github/workflows/patch.yml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/helper/install.sh b/.github/helper/install.sh index f0f83b061b..a62df32f2d 100644 --- a/.github/helper/install.sh +++ b/.github/helper/install.sh @@ -63,6 +63,7 @@ sed -i 's/schedule:/# schedule:/g' Procfile sed -i 's/socketio:/# socketio:/g' Procfile sed -i 's/redis_socketio:/# redis_socketio:/g' Procfile +bench get-app payments bench get-app erpnext "${GITHUB_WORKSPACE}" if [ "$TYPE" == "server" ]; then bench setup requirements --dev; fi diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml index a71db7289a..eedb4b4ca9 100644 --- a/.github/workflows/patch.yml +++ b/.github/workflows/patch.yml @@ -105,7 +105,6 @@ jobs: echo "Updating to v$version" branch_name="version-$version-hotfix" - git -C "apps/frappe" fetch --depth 1 upstream $branch_name:$branch_name git -C "apps/erpnext" fetch --depth 1 upstream $branch_name:$branch_name @@ -114,6 +113,7 @@ jobs: rm -rf ~/frappe-bench/env bench setup env + bench pip install -e ./apps/payments bench pip install -e ./apps/erpnext bench --site test_site migrate @@ -127,6 +127,8 @@ jobs: pyenv global $(pyenv versions | grep '3.10') rm -rf ~/frappe-bench/env bench -v setup env + bench pip install -e ./apps/payments bench pip install -e ./apps/erpnext bench --site test_site migrate + bench --site test_site install-app payments From 0048bcb067552ca976e0637c102d244f84d66e04 Mon Sep 17 00:00:00 2001 From: phot0n Date: Wed, 27 Jul 2022 12:34:52 +0530 Subject: [PATCH 4/4] chore: fix linter --- erpnext/accounts/doctype/payment_request/payment_request.py | 3 +-- .../doctype/gocardless_settings/gocardless_settings.py | 1 - .../doctype/mpesa_settings/mpesa_settings.py | 3 +-- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 1f23af3aa8..29c497854c 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -9,6 +9,7 @@ from frappe import _ from frappe.model.document import Document from frappe.utils import flt, get_url, nowdate from frappe.utils.background_jobs import enqueue +from payments.utils import get_payment_gateway_controller from erpnext.accounts.doctype.payment_entry.payment_entry import ( get_company_defaults, @@ -19,8 +20,6 @@ from erpnext.accounts.party import get_party_account, get_party_bank_account from erpnext.accounts.utils import get_account_currency from erpnext.erpnext_integrations.stripe_integration import create_stripe_subscription -from payments.utils import get_payment_gateway_controller - class PaymentRequest(Document): def validate(self): diff --git a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py index 3288da063f..f9a293fc30 100644 --- a/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py +++ b/erpnext/erpnext_integrations/doctype/gocardless_settings/gocardless_settings.py @@ -10,7 +10,6 @@ from frappe import _ from frappe.integrations.utils import create_request_log from frappe.model.document import Document from frappe.utils import call_hook_method, cint, flt, get_url - from payments.utils import create_payment_gateway diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py index 9b147b9d1e..b534783864 100644 --- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py +++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py @@ -9,6 +9,7 @@ from frappe import _ from frappe.integrations.utils import create_request_log from frappe.model.document import Document from frappe.utils import call_hook_method, fmt_money, get_request_site_address +from payments.utils import create_payment_gateway from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_connector import MpesaConnector from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_custom_fields import ( @@ -16,8 +17,6 @@ from erpnext.erpnext_integrations.doctype.mpesa_settings.mpesa_custom_fields imp ) from erpnext.erpnext_integrations.utils import create_mode_of_payment -from payments.utils import create_payment_gateway - class MpesaSettings(Document): supported_currencies = ["KES"]