8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-23 07:23:46 +00:00

Fix can_view_app

This commit is contained in:
Hugo Levy-Falk 2020-08-28 21:53:10 +01:00 committed by Gabriel Detraz
parent f4c5101b35
commit 652982941a
9 changed files with 27 additions and 21 deletions

View file

@ -56,7 +56,7 @@ def _create_api_permission():
_create_api_permission()
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:
@ -41,7 +41,6 @@ def can_view(user):
can = user.has_module_perms("admin")
return (
can,
None if can else _("You don't have the right to view this"
" application."),
"admin",
None if can else _("You don't have the right to view this" " application."),
("logs",),
)

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:
@ -41,7 +41,6 @@ def can_view(user):
can = user.has_module_perms("machines")
return (
can,
None if can else _("You don't have the right to view this"
" application."),
None if can else _("You don't have the right to view this" " application."),
("machines",),
)

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:
@ -41,7 +41,6 @@ def can_view(user):
can = user.has_module_perms("preferences")
return (
can,
None if can else _("You don't have the right to view this"
" application."),
None if can else _("You don't have the right to view this" " application."),
("preferences",),
)

View file

@ -38,7 +38,7 @@ from __future__ import unicode_literals
from django.utils import timezone
from django.db.models import Q
from django.contrib.auth.models import Permission
from django.contrib.auth.models import Permission, Group
from cotisations.models import Cotisation, Facture, Vente
from machines.models import Interface, Machine
@ -58,11 +58,20 @@ def get_group_having_permission(*permission_name):
"""
groups = set()
for name in permission_name:
app_label, codename = name.split(".")
permission = Permission.objects.get(
content_type__app_label=app_label, codename=codename
)
groups = groups.union(permission.group_set.all())
if "." in name:
app_label, codename = name.split(".")
permission = Permission.objects.get(
content_type__app_label=app_label, codename=codename
)
groups = groups.union(permission.group_set.all())
else:
groups = groups.union(
Group.objects.filter(
permissions__in=Permission.objects.filter(
content_type__app_label="users"
)
).distinct()
)
return groups

View file

@ -27,7 +27,7 @@ Here are defined some functions to check acl on the application.
"""
def can_view(_user):
def can_view(*args, **kwargs):
"""Check if an user can view the application.
Args:

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args:

View file

@ -28,7 +28,7 @@ Here are defined some functions to check acl on the application.
from django.utils.translation import ugettext as _
def can_view(user):
def can_view(user, *args, **kwargs):
"""Check if an user can view the application.
Args: