|
|
|
@ -34,7 +34,7 @@ from django.dispatch import receiver |
|
|
|
from django.core.cache import cache |
|
|
|
|
|
|
|
from .aes_field import AESEncryptedField |
|
|
|
|
|
|
|
from re2o.mixins import AclMixin |
|
|
|
|
|
|
|
class PreferencesModel(models.Model): |
|
|
|
@classmethod |
|
|
|
@ -54,7 +54,7 @@ class PreferencesModel(models.Model): |
|
|
|
abstract = True |
|
|
|
|
|
|
|
|
|
|
|
class OptionalUser(PreferencesModel): |
|
|
|
class OptionalUser(AclMixin, PreferencesModel): |
|
|
|
"""Options pour l'user : obligation ou nom du telephone, |
|
|
|
activation ou non du solde, autorisation du negatif, fingerprint etc""" |
|
|
|
PRETTY_NAME = "Options utilisateur" |
|
|
|
@ -101,58 +101,6 @@ class OptionalUser(PreferencesModel): |
|
|
|
("view_optionaluser", "Peut voir les options de l'user"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return OptionalUser.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a OptionalUser object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create a user object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_optionaluser'), u"Vous n'avez pas le droit\ |
|
|
|
de créer les préférences concernant les users" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a OptionalUser object. |
|
|
|
|
|
|
|
:param self: The OptionalUser which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_optionaluser'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant les users" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a OptionalUser object. |
|
|
|
|
|
|
|
:param self: The OptionalUser which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_optionaluser'), u"Vous n'avez pas le droit\ |
|
|
|
de supprimer les préférences concernant les users" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every OptionalUser objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionaluser'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les utilisateurs" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a OptionalUser object. |
|
|
|
|
|
|
|
:param self: The targeted OptionalUser. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionaluser'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les utilisateurs" |
|
|
|
|
|
|
|
def clean(self): |
|
|
|
"""Creation du mode de paiement par solde""" |
|
|
|
if self.user_solde: |
|
|
|
@ -169,7 +117,7 @@ def optionaluser_post_save(sender, **kwargs): |
|
|
|
user_pref.set_in_cache() |
|
|
|
|
|
|
|
|
|
|
|
class OptionalMachine(PreferencesModel): |
|
|
|
class OptionalMachine(AclMixin, PreferencesModel): |
|
|
|
"""Options pour les machines : maximum de machines ou d'alias par user |
|
|
|
sans droit, activation de l'ipv6""" |
|
|
|
PRETTY_NAME = "Options machines" |
|
|
|
@ -205,59 +153,6 @@ class OptionalMachine(PreferencesModel): |
|
|
|
("view_optionalmachine", "Peut voir les options de machine"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return OptionalMachine.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a OptionalMachine object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_optionalmachine'), u"Vous n'avez pas le droit\ |
|
|
|
de créer les préférences concernant les machines" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a OptionalMachine object. |
|
|
|
|
|
|
|
:param self: The OptionalMachine which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_optionalmachine'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant les machines" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a OptionalMachine object. |
|
|
|
|
|
|
|
:param self: The OptionalMachine which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
|
|
|
|
return user_request.has_perm('preferences.delete_optionalmachine'), u"Vous n'avez pas le droit\ |
|
|
|
de supprimer les préférences concernant les machines" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every OptionalMachine objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionalmachine'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les machines" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a OptionalMachine object. |
|
|
|
|
|
|
|
:param self: The targeted OptionalMachine. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionalmachine'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les machines" |
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=OptionalMachine) |
|
|
|
def optionalmachine_post_save(sender, **kwargs): |
|
|
|
@ -269,7 +164,7 @@ def optionalmachine_post_save(sender, **kwargs): |
|
|
|
interface.sync_ipv6() |
|
|
|
|
|
|
|
|
|
|
|
class OptionalTopologie(PreferencesModel): |
|
|
|
class OptionalTopologie(AclMixin, PreferencesModel): |
|
|
|
"""Reglages pour la topologie : mode d'accès radius, vlan où placer |
|
|
|
les machines en accept ou reject""" |
|
|
|
PRETTY_NAME = "Options topologie" |
|
|
|
@ -306,58 +201,6 @@ class OptionalTopologie(PreferencesModel): |
|
|
|
("view_optionaltopologie", "Peut voir les options de topologie"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return OptionalTopologie.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a OptionalTopologie object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_optionaltopologie'), u"Vous n'avez pas le droit\ |
|
|
|
de créer les préférences concernant la topologie" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a OptionalTopologie object. |
|
|
|
|
|
|
|
:param self: The OptionalTopologie which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_optionaltopologie'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant la topologie" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a OptionalTopologie object. |
|
|
|
|
|
|
|
:param self: The OptionalTopologie which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_optionaltoplogie'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant la topologie" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every OptionalTopologie objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionaltopologie'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant la topologie" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a OptionalTopologie object. |
|
|
|
|
|
|
|
:param self: The targeted OptionalTopologie. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_optionaltopologie'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant la topologie" |
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=OptionalTopologie) |
|
|
|
def optionaltopologie_post_save(sender, **kwargs): |
|
|
|
@ -366,7 +209,7 @@ def optionaltopologie_post_save(sender, **kwargs): |
|
|
|
topologie_pref.set_in_cache() |
|
|
|
|
|
|
|
|
|
|
|
class GeneralOption(PreferencesModel): |
|
|
|
class GeneralOption(AclMixin, PreferencesModel): |
|
|
|
"""Options générales : nombre de resultats par page, nom du site, |
|
|
|
temps où les liens sont valides""" |
|
|
|
PRETTY_NAME = "Options générales" |
|
|
|
@ -398,59 +241,6 @@ class GeneralOption(PreferencesModel): |
|
|
|
("view_generaloption", "Peut voir les options générales"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return GeneralOption.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a GeneralOption object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_generaloption'), u"Vous n'avez pas le droit\ |
|
|
|
de créer les préférences générales" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a GeneralOption object. |
|
|
|
|
|
|
|
:param self: The GeneralOption which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_generaloption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences générales" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a GeneralOption object. |
|
|
|
|
|
|
|
:param self: The GeneralOption which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_generaloption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences générales" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every GeneralOption objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
|
|
|
|
return user_request.has_perm('preferences.view_generaloption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences générales" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a GeneralOption object. |
|
|
|
|
|
|
|
:param self: The targeted GeneralOption. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_generaloption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences générales" |
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=GeneralOption) |
|
|
|
def generaloption_post_save(sender, **kwargs): |
|
|
|
@ -459,7 +249,7 @@ def generaloption_post_save(sender, **kwargs): |
|
|
|
general_pref.set_in_cache() |
|
|
|
|
|
|
|
|
|
|
|
class Service(models.Model): |
|
|
|
class Service(AclMixin, models.Model): |
|
|
|
"""Liste des services affichés sur la page d'accueil : url, description, |
|
|
|
image et nom""" |
|
|
|
name = models.CharField(max_length=32) |
|
|
|
@ -472,65 +262,11 @@ class Service(models.Model): |
|
|
|
("view_service", "Peut voir les options de service"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(serviceid, *args, **kwargs): |
|
|
|
return Service.objects.get(pk=serviceid) |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a Service object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
|
|
|
|
return user_request.has_perm('preferences.add_service'), u"Vous n'avez pas le droit\ |
|
|
|
de créer un service pour la page d'accueil" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a Service object. |
|
|
|
|
|
|
|
:param self: The Service which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_service'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les services pour la page d'accueil" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a Service object. |
|
|
|
|
|
|
|
:param self: The Right which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_service'), u"Vous n'avez pas le droit\ |
|
|
|
de supprimer les services pour la page d'accueil" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every Service objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
|
|
|
|
return user_request.has_perm('preferences.view_service'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les services pour la page d'accueil" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a Service object. |
|
|
|
|
|
|
|
:param self: The targeted Service. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_service'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les services pour la page d'accueil" |
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
return str(self.name) |
|
|
|
|
|
|
|
|
|
|
|
class AssoOption(PreferencesModel): |
|
|
|
class AssoOption(AclMixin, PreferencesModel): |
|
|
|
"""Options générales de l'asso : siret, addresse, nom, etc""" |
|
|
|
PRETTY_NAME = "Options de l'association" |
|
|
|
|
|
|
|
@ -579,58 +315,6 @@ class AssoOption(PreferencesModel): |
|
|
|
("view_assooption", "Peut voir les options de l'asso"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return AssoOption.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a AssoOption object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_assooption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant l'association" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a AssoOption object. |
|
|
|
|
|
|
|
:param self: The AssoOption which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.change_assooption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant l'association" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a AssoOption object. |
|
|
|
|
|
|
|
:param self: The AssoOption which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_assooption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant l'association" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every AssoOption objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_assooption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant l'association" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a AssoOption object. |
|
|
|
|
|
|
|
:param self: The targeted AssoOption. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_assooption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant l'association" |
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=AssoOption) |
|
|
|
def assooption_post_save(sender, **kwargs): |
|
|
|
@ -639,7 +323,7 @@ def assooption_post_save(sender, **kwargs): |
|
|
|
asso_pref.set_in_cache() |
|
|
|
|
|
|
|
|
|
|
|
class MailMessageOption(models.Model): |
|
|
|
class MailMessageOption(AclMixin, models.Model): |
|
|
|
"""Reglages, mail de bienvenue et autre""" |
|
|
|
PRETTY_NAME = "Options de corps de mail" |
|
|
|
|
|
|
|
@ -650,56 +334,3 @@ class MailMessageOption(models.Model): |
|
|
|
permissions = ( |
|
|
|
("view_mailmessageoption", "Peut voir les options de mail"), |
|
|
|
) |
|
|
|
|
|
|
|
def get_instance(*args, **kwargs): |
|
|
|
return MailMessageOption.objects.get_or_create() |
|
|
|
|
|
|
|
def can_create(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can create a MailMessageOption object. |
|
|
|
|
|
|
|
:param user_request: The user who wants to create an object. |
|
|
|
:return: a message and a boolean which is True if the user can create. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.add_mailmessageoption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant les mails" |
|
|
|
|
|
|
|
def can_edit(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can edit a MailMessageOption object. |
|
|
|
|
|
|
|
:param self: The MailMessageOption which is to be edited. |
|
|
|
:param user_request: The user who requests to edit self. |
|
|
|
:return: a message and a boolean which is True if edition is granted. |
|
|
|
""" |
|
|
|
|
|
|
|
return user_request.has_perm('preferences.change_mailmessageoption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant les mails" |
|
|
|
|
|
|
|
def can_delete(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can delete a AssoOption object. |
|
|
|
|
|
|
|
:param self: The AssoOption which is to be deleted. |
|
|
|
:param user_request: The user who requests deletion. |
|
|
|
:return: True if deletion is granted, and a message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.delete_mailmessageoption'), u"Vous n'avez pas le droit\ |
|
|
|
d'éditer les préférences concernant les mails" |
|
|
|
|
|
|
|
def can_view_all(user_request, *args, **kwargs): |
|
|
|
"""Check if an user can access to the list of every AssoOption objects |
|
|
|
|
|
|
|
:param user_request: The user who wants to view the list. |
|
|
|
:return: True if the user can view the list and an explanation message. |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_mailmessageoption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les mails" |
|
|
|
|
|
|
|
def can_view(self, user_request, *args, **kwargs): |
|
|
|
"""Check if an user can view a AssoOption object. |
|
|
|
|
|
|
|
:param self: The targeted AssoOption. |
|
|
|
:param user_request: The user who ask for viewing the target. |
|
|
|
:return: A boolean telling if the acces is granted and an explanation |
|
|
|
text |
|
|
|
""" |
|
|
|
return user_request.has_perm('preferences.view_mailmessageoption'), u"Vous n'avez pas le droit\ |
|
|
|
de voir les préférences concernant les mails" |
|
|
|
|