share ticket and ticket message
This commit is contained in:
1 parent
39e64854b8
commit
79fe1cddbb
35 files changed
+1742
-95
No files matched your search
@@ -4,6 +4,11 @@ from .models import TicketAccessGrant
|
||||
|
||||
|
||||
class TicketPolicy:
|
||||
@classmethod
|
||||
def can_operate(cls, user, ticket):
|
||||
profile = getattr(user, "staff_profile", None)
|
||||
return bool(user.is_authenticated and user.is_active and getattr(user, "account_type", None) == "STAFF"
|
||||
and (profile is None or profile.is_active) and cls.can_view(user, ticket))
|
||||
@staticmethod
|
||||
def is_customer(user): return getattr(user,"account_type",None)=="CUSTOMER"
|
||||
@staticmethod
|
||||
@@ -118,12 +123,10 @@ class TicketPolicy:
|
||||
return permitted and cls.can_view(user, ticket) and ticket.owner_id is None and ticket.selected_expert_id is None
|
||||
@classmethod
|
||||
def can_transfer(cls,user,ticket):
|
||||
permitted=user.has_perm("tickets.transfer_ticket") or cls.has_unit_permission(user,ticket.owning_unit,"tickets.transfer_ticket")
|
||||
return permitted and cls.can_view(user,ticket) and (ticket.owner_id==user.id or (ticket.owner_id is None and ticket.selected_expert_id==user.id) or user.has_perm("tickets.view_all_tickets"))
|
||||
return cls.can_operate(user, ticket)
|
||||
@classmethod
|
||||
def can_share(cls,user,ticket):
|
||||
permitted=user.has_perm("tickets.share_ticket") or cls.has_unit_permission(user,ticket.owning_unit,"tickets.share_ticket")
|
||||
return permitted and cls.can_view(user,ticket) and (ticket.owner_id==user.id or (ticket.owner_id is None and ticket.selected_expert_id==user.id) or user.has_perm("tickets.view_all_tickets"))
|
||||
return cls.can_operate(user, ticket)
|
||||
@classmethod
|
||||
def can_delete(cls, user, ticket):
|
||||
if not user.is_authenticated or cls.is_customer(user):
|
||||
|
||||
Reference in new issue
Block a user