fix: allow regional_overrides
hook to be set in subsequent apps
This commit is contained in:
parent
b35b637d01
commit
b68a99675d
@ -2,8 +2,6 @@ import inspect
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
from erpnext.hooks import regional_overrides
|
|
||||||
|
|
||||||
__version__ = '14.0.0-dev'
|
__version__ = '14.0.0-dev'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
@ -121,14 +119,17 @@ def allow_regional(fn):
|
|||||||
@erpnext.allow_regional
|
@erpnext.allow_regional
|
||||||
def myfunction():
|
def myfunction():
|
||||||
pass'''
|
pass'''
|
||||||
|
|
||||||
def caller(*args, **kwargs):
|
def caller(*args, **kwargs):
|
||||||
region = get_region()
|
overrides = frappe.get_hooks("regional_overrides", {}).get(get_region())
|
||||||
fn_name = inspect.getmodule(fn).__name__ + '.' + fn.__name__
|
function_path = f"{inspect.getmodule(fn).__name__}.{fn.__name__}"
|
||||||
if region in regional_overrides and fn_name in regional_overrides[region]:
|
|
||||||
return frappe.get_attr(regional_overrides[region][fn_name])(*args, **kwargs)
|
if not overrides or function_path not in overrides:
|
||||||
else:
|
|
||||||
return fn(*args, **kwargs)
|
return fn(*args, **kwargs)
|
||||||
|
|
||||||
|
# Priority given to last installed app
|
||||||
|
return frappe.get_attr(overrides[function_path][-1])(*args, **kwargs)
|
||||||
|
|
||||||
return caller
|
return caller
|
||||||
|
|
||||||
def get_last_membership(member):
|
def get_last_membership(member):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user