feat(regional): enable transaction log for germany (#19198)
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index b1855ec..9e74bfd 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -235,17 +235,16 @@
("Sales Taxes and Charges Template", 'Price List'): {
"on_update": "erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings.validate_cart_settings"
},
-
"Website Settings": {
"validate": "erpnext.portal.doctype.products_settings.products_settings.home_page_is_products"
},
"Sales Invoice": {
- "on_submit": ["erpnext.regional.france.utils.create_transaction_log", "erpnext.regional.italy.utils.sales_invoice_on_submit"],
+ "on_submit": ["erpnext.regional.create_transaction_log", "erpnext.regional.italy.utils.sales_invoice_on_submit"],
"on_cancel": "erpnext.regional.italy.utils.sales_invoice_on_cancel",
"on_trash": "erpnext.regional.check_deletion_permission"
},
"Payment Entry": {
- "on_submit": ["erpnext.regional.france.utils.create_transaction_log", "erpnext.accounts.doctype.payment_request.payment_request.make_status_as_paid"],
+ "on_submit": ["erpnext.regional.create_transaction_log", "erpnext.accounts.doctype.payment_request.payment_request.make_status_as_paid"],
"on_trash": "erpnext.regional.check_deletion_permission"
},
'Address': {
diff --git a/erpnext/regional/__init__.py b/erpnext/regional/__init__.py
index 7388ea0..630d5fa 100644
--- a/erpnext/regional/__init__.py
+++ b/erpnext/regional/__init__.py
@@ -10,3 +10,21 @@
region = get_region(doc.company)
if region in ["Nepal", "France"] and doc.docstatus != 0:
frappe.throw(_("Deletion is not permitted for country {0}".format(region)))
+
+def create_transaction_log(doc, method):
+ """
+ Appends the transaction to a chain of hashed logs for legal resons.
+ Called on submit of Sales Invoice and Payment Entry.
+ """
+ region = get_region()
+ if region not in ["France", "Germany"]:
+ return
+
+ data = str(doc.as_dict())
+
+ frappe.get_doc({
+ "doctype": "Transaction Log",
+ "reference_doctype": doc.doctype,
+ "document_name": doc.name,
+ "data": data
+ }).insert(ignore_permissions=True)
diff --git a/erpnext/regional/france/utils.py b/erpnext/regional/france/utils.py
index e4b72f6..424615d 100644
--- a/erpnext/regional/france/utils.py
+++ b/erpnext/regional/france/utils.py
@@ -3,22 +3,6 @@
from __future__ import unicode_literals
import frappe
-from frappe import _
-from erpnext import get_region
-
-def create_transaction_log(doc, method):
- region = get_region()
- if region not in ["France"]:
- return
- else:
- data = str(doc.as_dict())
-
- frappe.get_doc({
- "doctype": "Transaction Log",
- "reference_doctype": doc.doctype,
- "document_name": doc.name,
- "data": data
- }).insert(ignore_permissions=True)
# don't remove this function it is used in tests
def test_method():