templatetags: parametrize has_perm() in order to enable aircox namespace permissions

This commit is contained in:
Chris Tactic 2023-11-10 08:28:23 +01:00
parent b794e24d0c
commit 811cc97e07

View File

@ -57,11 +57,14 @@ def do_get_tracks(obj):
@register.simple_tag(name="has_perm", takes_context=True) @register.simple_tag(name="has_perm", takes_context=True)
def do_has_perm(context, obj, perm, user=None): def do_has_perm(context, obj, perm, user=None, simple=False):
"""Return True if ``user.has_perm('[APP].[perm]_[MODEL]')``""" """Return True if ``user.has_perm('[APP].[perm]_[MODEL]')``"""
if user is None: if user is None:
user = context["request"].user user = context["request"].user
return user.has_perm("{}.{}_{}".format(obj._meta.app_label, perm, obj._meta.model_name)) if simple:
return user.has_perm("aircox.{}".format(perm))
else:
return user.has_perm("{}.{}_{}".format(obj._meta.app_label, perm, obj._meta.model_name))
@register.filter(name="is_diffusion") @register.filter(name="is_diffusion")