8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-22 03:13:12 +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"""
user = models.ForeignKey(
'users.User',
'users.User',
on_delete=models.CASCADE,
related_name="tickets",
blank=True,
@ -35,7 +35,7 @@ class Ticket(AclMixin, models.Model):
date = models.DateTimeField(auto_now_add=True)
email = models.EmailField(
help_text = _("An email address to get back to you"),
max_length=100,
max_length=100,
null=True)
solved = models.BooleanField(default=False)
@ -67,26 +67,31 @@ class Ticket(AclMixin, models.Model):
GeneralOption.get_cached_value('email_from'),
[to_addr],
fail_silently = False)
def can_view(self, user_request, *_args, **_kwargs):
""" Check that the user has the right to view the ticket
or that it is the author"""
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:
return True, None
return True, None, None
@staticmethod
def can_view_all(user_request, *_args, **_kwargs):
""" Check that the user has access to the list of all tickets"""
return(
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):
""" Authorise all users to open tickets """
return True,None
return True, None, None
@receiver(post_save, sender=Ticket)
def ticket_post_save(**kwargs):