mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-26 22:52:26 +00:00
Propriefie les tests de droits
This commit is contained in:
parent
f700d59e65
commit
3d0b4ca6dc
2 changed files with 34 additions and 5 deletions
|
@ -27,13 +27,18 @@ def context_user(request):
|
||||||
user = request.user
|
user = request.user
|
||||||
if user.is_authenticated():
|
if user.is_authenticated():
|
||||||
interfaces = user.user_interfaces()
|
interfaces = user.user_interfaces()
|
||||||
|
is_cableur = user.is_cableur
|
||||||
|
is_bureau = user.is_bureau
|
||||||
|
is_bofh = user.is_bofh
|
||||||
|
is_trez = user.is_trez
|
||||||
|
is_infra = user.is_infra
|
||||||
else:
|
else:
|
||||||
interfaces = None
|
interfaces = None
|
||||||
is_cableur = user.has_perms(('cableur',))
|
is_cableur = False
|
||||||
is_bureau = user.has_perms(('bureau',))
|
is_bureau = False
|
||||||
is_bofh = user.has_perms(('bofh',))
|
is_bofh = False
|
||||||
is_trez = user.has_perms(('trésorier',))
|
is_trez = False
|
||||||
is_infra = user.has_perms(('infra',))
|
is_infra = False
|
||||||
return {
|
return {
|
||||||
'request_user': user,
|
'request_user': user,
|
||||||
'is_cableur': is_cableur,
|
'is_cableur': is_cableur,
|
||||||
|
|
|
@ -216,6 +216,30 @@ class User(AbstractBaseUser):
|
||||||
def has_perm(self, perm, obj=None):
|
def has_perm(self, perm, obj=None):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def has_right(self, right):
|
||||||
|
return Right.objects.filter(user=self).filter(right=ListRight.objects.get(listright=right)).exists()
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def is_bureau(self):
|
||||||
|
return Right.objects.filter(user=self).filter(right=ListRight.objects.get(listright='bureau')).exists()
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def is_bofh(self):
|
||||||
|
return Right.objects.filter(user=self).filter(right=ListRight.objects.get(listright='bofh')).exists()
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def is_cableur(self):
|
||||||
|
return self.has_right('cableur') or self.has_right('bureau') or self.has_right('infra') or self.has_right('bofh')
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def is_trez(self):
|
||||||
|
return Right.objects.filter(user=self).filter(right=ListRight.objects.get(listright='trésorier')).exists()
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def is_infra(self):
|
||||||
|
return Right.objects.filter(user=self).filter(right=ListRight.objects.get(listright='infra')).exists()
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def end_adhesion(self):
|
def end_adhesion(self):
|
||||||
date_max = Cotisation.objects.filter(vente__in=Vente.objects.filter(facture__in=Facture.objects.filter(user=self).exclude(valid=False))).aggregate(models.Max('date_end'))['date_end__max']
|
date_max = Cotisation.objects.filter(vente__in=Vente.objects.filter(facture__in=Facture.objects.filter(user=self).exclude(valid=False))).aggregate(models.Max('date_end'))['date_end__max']
|
||||||
|
|
Loading…
Reference in a new issue