[fix] modified payment request to cope with new payment structure (#7957)
* [fix] modified payment request to cope with new payment structure * [fix] moved payment gateway doctype from accounts to core
This commit is contained in:
parent
468726320c
commit
0d47d51407
@ -1,8 +0,0 @@
|
|||||||
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
|
|
||||||
// For license information, please see license.txt
|
|
||||||
|
|
||||||
frappe.ui.form.on('Payment Gateway', {
|
|
||||||
refresh: function(frm) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
@ -1,104 +0,0 @@
|
|||||||
{
|
|
||||||
"allow_copy": 0,
|
|
||||||
"allow_import": 0,
|
|
||||||
"allow_rename": 0,
|
|
||||||
"autoname": "field:gateway",
|
|
||||||
"beta": 0,
|
|
||||||
"creation": "2015-12-15 22:26:45.221162",
|
|
||||||
"custom": 0,
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "DocType",
|
|
||||||
"document_type": "",
|
|
||||||
"editable_grid": 1,
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"fieldname": "gateway",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"hidden": 0,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_list_view": 0,
|
|
||||||
"label": "Gateway",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"precision": "",
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 1,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"hide_heading": 0,
|
|
||||||
"hide_toolbar": 0,
|
|
||||||
"idx": 0,
|
|
||||||
"image_view": 0,
|
|
||||||
"in_create": 1,
|
|
||||||
"in_dialog": 0,
|
|
||||||
"is_submittable": 0,
|
|
||||||
"issingle": 0,
|
|
||||||
"istable": 0,
|
|
||||||
"max_attachments": 0,
|
|
||||||
"modified": "2016-07-25 05:24:22.726993",
|
|
||||||
"modified_by": "Administrator",
|
|
||||||
"module": "Accounts",
|
|
||||||
"name": "Payment Gateway",
|
|
||||||
"name_case": "",
|
|
||||||
"owner": "Administrator",
|
|
||||||
"permissions": [
|
|
||||||
{
|
|
||||||
"amend": 0,
|
|
||||||
"apply_user_permissions": 0,
|
|
||||||
"cancel": 0,
|
|
||||||
"create": 0,
|
|
||||||
"delete": 0,
|
|
||||||
"email": 0,
|
|
||||||
"export": 0,
|
|
||||||
"if_owner": 0,
|
|
||||||
"import": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"print": 0,
|
|
||||||
"read": 1,
|
|
||||||
"report": 0,
|
|
||||||
"role": "System Manager",
|
|
||||||
"set_user_permissions": 0,
|
|
||||||
"share": 0,
|
|
||||||
"submit": 0,
|
|
||||||
"write": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"amend": 0,
|
|
||||||
"apply_user_permissions": 0,
|
|
||||||
"cancel": 0,
|
|
||||||
"create": 0,
|
|
||||||
"delete": 0,
|
|
||||||
"email": 0,
|
|
||||||
"export": 0,
|
|
||||||
"if_owner": 0,
|
|
||||||
"import": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"print": 0,
|
|
||||||
"read": 1,
|
|
||||||
"report": 0,
|
|
||||||
"role": "Accounts Manager",
|
|
||||||
"set_user_permissions": 0,
|
|
||||||
"share": 0,
|
|
||||||
"submit": 0,
|
|
||||||
"write": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"quick_entry": 1,
|
|
||||||
"read_only": 1,
|
|
||||||
"read_only_onload": 0,
|
|
||||||
"sort_field": "modified",
|
|
||||||
"sort_order": "DESC",
|
|
||||||
"track_seen": 0
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
|
|
||||||
# For license information, please see license.txt
|
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
import frappe
|
|
||||||
from frappe.model.document import Document
|
|
||||||
|
|
||||||
class PaymentGateway(Document):
|
|
||||||
pass
|
|
@ -1,12 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
||||||
# See license.txt
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
import frappe
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Payment Gateway')
|
|
||||||
|
|
||||||
class TestPaymentGateway(unittest.TestCase):
|
|
||||||
pass
|
|
@ -10,7 +10,7 @@ from frappe.utils import flt, nowdate, get_url
|
|||||||
from erpnext.accounts.party import get_party_account
|
from erpnext.accounts.party import get_party_account
|
||||||
from erpnext.accounts.utils import get_account_currency
|
from erpnext.accounts.utils import get_account_currency
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry, get_company_defaults
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry, get_company_defaults
|
||||||
from frappe.integration_broker.doctype.integration_service.integration_service import get_integration_controller
|
from frappe.integrations.utils import get_payment_gateway_controller
|
||||||
|
|
||||||
class PaymentRequest(Document):
|
class PaymentRequest(Document):
|
||||||
def validate(self):
|
def validate(self):
|
||||||
@ -65,11 +65,11 @@ class PaymentRequest(Document):
|
|||||||
data = frappe.db.get_value(self.reference_doctype, self.reference_name,
|
data = frappe.db.get_value(self.reference_doctype, self.reference_name,
|
||||||
["company", "customer_name"], as_dict=1)
|
["company", "customer_name"], as_dict=1)
|
||||||
|
|
||||||
controller = get_integration_controller(self.payment_gateway)
|
controller = get_payment_gateway_controller(self.payment_gateway)
|
||||||
controller.validate_transaction_currency(self.currency)
|
controller.validate_transaction_currency(self.currency)
|
||||||
|
|
||||||
return controller.get_payment_url(**{
|
return controller.get_payment_url(**{
|
||||||
"amount": self.grand_total,
|
"amount": flt(self.grand_total, self.precision("grand_total")),
|
||||||
"title": data.company,
|
"title": data.company,
|
||||||
"description": self.subject,
|
"description": self.subject,
|
||||||
"reference_doctype": "Payment Request",
|
"reference_doctype": "Payment Request",
|
||||||
|
@ -693,19 +693,9 @@ def get_children():
|
|||||||
|
|
||||||
return acc
|
return acc
|
||||||
|
|
||||||
def create_payment_gateway_and_account(gateway):
|
def create_payment_gateway_account(gateway):
|
||||||
create_payment_gateway(gateway)
|
|
||||||
create_payment_gateway_account(gateway)
|
create_payment_gateway_account(gateway)
|
||||||
|
|
||||||
def create_payment_gateway(gateway):
|
|
||||||
# NOTE: we don't translate Payment Gateway name because it is an internal doctype
|
|
||||||
if not frappe.db.exists("Payment Gateway", gateway):
|
|
||||||
payment_gateway = frappe.get_doc({
|
|
||||||
"doctype": "Payment Gateway",
|
|
||||||
"gateway": gateway
|
|
||||||
})
|
|
||||||
payment_gateway.insert(ignore_permissions=True)
|
|
||||||
|
|
||||||
def create_payment_gateway_account(gateway):
|
def create_payment_gateway_account(gateway):
|
||||||
from erpnext.setup.setup_wizard.setup_wizard import create_bank_account
|
from erpnext.setup.setup_wizard.setup_wizard import create_bank_account
|
||||||
|
|
||||||
|
@ -194,4 +194,4 @@ bot_parsers = [
|
|||||||
|
|
||||||
get_site_info = 'erpnext.utilities.get_site_info'
|
get_site_info = 'erpnext.utilities.get_site_info'
|
||||||
|
|
||||||
payment_gateway_enabled = "erpnext.accounts.utils.create_payment_gateway_and_account"
|
payment_gateway_enabled = "erpnext.accounts.utils.create_payment_gateway_account"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user