from django.db import models from django.conf import settings from trznice.models import SoftDeleteModel class ServiceTicket(SoftDeleteModel): STATUS_CHOICES = [ ("new", "Nový"), ("in_progress", "Řeší se"), ("resolved", "Vyřešeno"), ("closed", "Uzavřeno"), ] CATEGORY_CHOICES = [ ("tech", "Technická chyba"), ("reservation", "Chyba při rezervaci"), ("payment", "Problém s platbou"), ("account", "Problém s účtem"), ("content", "Nesrovnalost v obsahu"), ("suggestion", "Návrh na zlepšení"), ("other", "Jiný"), ] title = models.CharField(max_length=255, verbose_name="Název") description = models.TextField(verbose_name="Popis problému", null=True, blank=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name="Zadavatel", related_name="tickets", null=False, blank=False) status = models.CharField(max_length=20, choices=STATUS_CHOICES, default="new", verbose_name="Stav", blank=True) category = models.CharField(max_length=20, choices=CATEGORY_CHOICES, default="tech", verbose_name="Kategorie", blank=True) created_at = models.DateTimeField(auto_now_add=True, verbose_name="Datum", editable=False) def __str__(self): return f"{self.title} ({self.get_status_display()})"