Cloned DMOJ
This commit is contained in:
parent
f623974b58
commit
49dc9ff10c
513 changed files with 132349 additions and 39 deletions
30
judge/models/ticket.py
Normal file
30
judge/models/ticket.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from judge.models.profile import Profile
|
||||
|
||||
|
||||
class Ticket(models.Model):
|
||||
title = models.CharField(max_length=100, verbose_name=_('ticket title'))
|
||||
user = models.ForeignKey(Profile, verbose_name=_('ticket creator'), related_name='tickets',
|
||||
on_delete=models.CASCADE)
|
||||
time = models.DateTimeField(verbose_name=_('creation time'), auto_now_add=True)
|
||||
assignees = models.ManyToManyField(Profile, verbose_name=_('assignees'), related_name='assigned_tickets')
|
||||
notes = models.TextField(verbose_name=_('quick notes'), blank=True,
|
||||
help_text=_('Staff notes for this issue to aid in processing.'))
|
||||
content_type = models.ForeignKey(ContentType, verbose_name=_('linked item type'),
|
||||
on_delete=models.CASCADE)
|
||||
object_id = models.PositiveIntegerField(verbose_name=_('linked item ID'))
|
||||
linked_item = GenericForeignKey()
|
||||
is_open = models.BooleanField(verbose_name=_('is ticket open?'), default=True)
|
||||
|
||||
|
||||
class TicketMessage(models.Model):
|
||||
ticket = models.ForeignKey(Ticket, verbose_name=_('ticket'), related_name='messages',
|
||||
related_query_name='message', on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(Profile, verbose_name=_('poster'), related_name='ticket_messages',
|
||||
on_delete=models.CASCADE)
|
||||
body = models.TextField(verbose_name=_('message body'))
|
||||
time = models.DateTimeField(verbose_name=_('message time'), auto_now_add=True)
|
Loading…
Add table
Add a link
Reference in a new issue