8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-22 11:23:10 +00:00

helpful acl messages for tickets.

This commit is contained in:
Hugo Levy-Falk 2019-09-06 14:14:21 +02:00
parent 90defb5fcc
commit dd57daffd1

View file

@ -17,7 +17,7 @@ class Ticket(AclMixin, models.Model):
"""Model of a ticket""" """Model of a ticket"""
user = models.ForeignKey( user = models.ForeignKey(
'users.User', 'users.User',
on_delete=models.CASCADE, on_delete=models.CASCADE,
related_name="tickets", related_name="tickets",
blank=True, blank=True,
@ -35,7 +35,7 @@ class Ticket(AclMixin, models.Model):
date = models.DateTimeField(auto_now_add=True) date = models.DateTimeField(auto_now_add=True)
email = models.EmailField( email = models.EmailField(
help_text = _("An email address to get back to you"), help_text = _("An email address to get back to you"),
max_length=100, max_length=100,
null=True) null=True)
solved = models.BooleanField(default=False) solved = models.BooleanField(default=False)
@ -67,26 +67,31 @@ class Ticket(AclMixin, models.Model):
GeneralOption.get_cached_value('email_from'), GeneralOption.get_cached_value('email_from'),
[to_addr], [to_addr],
fail_silently = False) fail_silently = False)
def can_view(self, user_request, *_args, **_kwargs): def can_view(self, user_request, *_args, **_kwargs):
""" Check that the user has the right to view the ticket """ Check that the user has the right to view the ticket
or that it is the author""" or that it is the author"""
if (not user_request.has_perm('tickets.view_ticket') and self.user != user_request): if (not user_request.has_perm('tickets.view_ticket') and self.user != user_request):
return False, _("You don't have the right to view other tickets than yours.") return (
False,
_("You don't have the right to view other tickets than yours."),
('tickets.view_ticket',)
)
else: else:
return True, None return True, None, None
@staticmethod @staticmethod
def can_view_all(user_request, *_args, **_kwargs): def can_view_all(user_request, *_args, **_kwargs):
""" Check that the user has access to the list of all tickets""" """ Check that the user has access to the list of all tickets"""
return( return(
user_request.has_perm('tickets.view_tickets'), user_request.has_perm('tickets.view_tickets'),
_("You don't have the right to view the list of tickets.") _("You don't have the right to view the list of tickets."),
('tickets.view_tickets',)
) )
def can_create(user_request,*_args, **_kwargs): def can_create(user_request,*_args, **_kwargs):
""" Authorise all users to open tickets """ """ Authorise all users to open tickets """
return True,None return True, None, None
@receiver(post_save, sender=Ticket) @receiver(post_save, sender=Ticket)
def ticket_post_save(**kwargs): def ticket_post_save(**kwargs):