prevent deletion of sales invoices if country is nepal

This commit is contained in:
theopen-institute 2018-03-09 07:42:05 +07:00 committed by Nabin Hait
parent b4de7e3d07
commit 38cbd71352
4 changed files with 24 additions and 3 deletions

View File

@ -201,7 +201,7 @@ doc_events = {
"Sales Invoice": {
'validate': 'erpnext.regional.india.utils.set_place_of_supply',
"on_submit": "erpnext.regional.france.utils.create_transaction_log",
"on_trash": "erpnext.regional.france.utils.check_deletion_permission"
"on_trash": ["erpnext.regional.france.utils.check_deletion_permission", "erpnext.regional.nepal.utils.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"],

View File

View File

@ -0,0 +1,18 @@
# Copyright (c) 2018, Frappe Technologies and contributors
# For license information, please see license.txt
import frappe
from frappe import _
from erpnext import get_region
def check_deletion_permission(doc, method):
region = get_region()
if region not in ["Nepal"]:
return
else:
frappe.throw(_("Deletion is not permitted for country {0}".format(region)))
# don't remove this function it is used in tests
def test_method():
'''test function'''
return 'overridden'

View File

@ -10,7 +10,10 @@ class TestInit(unittest.TestCase):
self.assertEqual(test_method(), 'overridden')
frappe.flags.country = 'Nepal'
self.assertEqual(test_method(), 'original')
self.assertEqual(test_method(), 'overridden')
frappe.flags.country = 'France'
self.assertEqual(test_method(), 'overridden')
frappe.flags.country = 'Maldives'
self.assertEqual(test_method(), 'original')