src/cm/security.py
changeset 210 e4715ab65e2d
parent 102 f5d3ea4bd03c
child 284 730dd9fb2c77
child 287 fc5ed157ebfe
equal deleted inserted replaced
209:912b4331a1ee 210:e4715ab65e2d
    51 
    51 
    52         # local role OVERRIDES global role:
    52         # local role OVERRIDES global role:
    53         if UserRole.objects.filter(Q(user=user),Q(text=text),~Q(role=None)): # if non void local role
    53         if UserRole.objects.filter(Q(user=user),Q(text=text),~Q(role=None)): # if non void local role
    54             return UserRole.objects.filter(user=user).filter(text=text).filter(Q(role__permissions__codename__exact=perm_name)).count() != 0
    54             return UserRole.objects.filter(user=user).filter(text=text).filter(Q(role__permissions__codename__exact=perm_name)).count() != 0
    55         else:
    55         else:
    56             return UserRole.objects.filter(user=user).filter(text=None).filter(Q(role__permissions__codename__exact=perm_name)).count() != 0            
    56             # local role for anon users
       
    57             # OR global role for anon users
       
    58             # OR global role for this user
       
    59             return UserRole.objects.filter(Q(user=user) | Q(user=None)).filter(Q(text=None) | Q(text=text)).filter(Q(role__permissions__codename__exact=perm_name)).count() != 0            
       
    60             #return UserRole.objects.filter(user=user).filter(text=None).filter(Q(role__permissions__codename__exact=perm_name)).count() != 0
    57         
    61         
    58 def has_own_perm(request, perm_name, text, comment):
    62 def has_own_perm(request, perm_name, text, comment):
    59     
    63     
    60     user = get_request_user(request)
    64     user = get_request_user(request)
    61     
    65