link view ticket for staff
This commit is contained in:
1 parent
6b546aad76
commit
089db0afa4
13 files changed
+412
-3
No files matched your search
@@ -1,10 +1,35 @@
|
||||
import uuid
|
||||
import secrets
|
||||
import string
|
||||
from datetime import timedelta
|
||||
from django.conf import settings
|
||||
from django.core.validators import MinLengthValidator
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.utils import timezone
|
||||
from apps.core.models import PersianTextNormalizationMixin, PublicIdModel, TimeStampedModel
|
||||
|
||||
|
||||
def staff_ticket_link_token():
|
||||
return "".join(secrets.choice(string.ascii_letters + string.digits) for _ in range(10))
|
||||
|
||||
|
||||
def staff_ticket_link_expiry():
|
||||
return timezone.now() + timedelta(days=7)
|
||||
|
||||
|
||||
class StaffTicketShortLink(TimeStampedModel):
|
||||
"""A short navigation URL; it never authenticates or grants ticket access."""
|
||||
|
||||
ticket = models.OneToOneField("Ticket", on_delete=models.CASCADE, related_name="staff_short_link")
|
||||
token = models.CharField(max_length=10, unique=True, default=staff_ticket_link_token, editable=False)
|
||||
expires_at = models.DateTimeField(default=staff_ticket_link_expiry)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "لینک کوتاه تیکت کارشناسان"
|
||||
verbose_name_plural = "لینکهای کوتاه تیکت کارشناسان"
|
||||
|
||||
|
||||
class TicketCategory(PersianTextNormalizationMixin, TimeStampedModel):
|
||||
persian_text_fields = {"title": False, "description": True, "search_keywords": True}
|
||||
unit=models.ForeignKey("staff.OrganizationalUnit",on_delete=models.PROTECT,null=True,blank=True,related_name="ticket_categories",verbose_name="واحد سازمانی",help_text="برای دستههای قدیمی عمومی میتواند خالی باشد؛ دستههای جدید باید واحد داشته باشند.")
|
||||
|
||||
Reference in new issue
Block a user