feat(lms): replace is_closed with timer limit and auto-submit logic
This commit is contained in:
@@ -23,7 +23,7 @@ class Assignment(models.Model):
|
||||
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, limit_choices_to={'role__in': ['TEACHER', 'ADMIN']}, verbose_name='Кем создано')
|
||||
created_at = models.DateTimeField('Дата создания', auto_now_add=True)
|
||||
deadline = models.DateTimeField('Дедлайн', blank=True, null=True, help_text='После этого времени ответы не принимаются.')
|
||||
is_closed = models.BooleanField('Прием ответов закрыт', default=False, help_text='Включите, чтобы вручную закрыть прием ответов на задание.')
|
||||
time_limit = models.PositiveIntegerField('Лимит времени (минуты)', blank=True, null=True, help_text='Например, 235 для 3ч 55м. Оставьте пустым, если без таймера.')
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Задание'
|
||||
@@ -56,6 +56,7 @@ class Question(models.Model):
|
||||
|
||||
class Submission(models.Model):
|
||||
STATUS_CHOICES = (
|
||||
('IN_PROGRESS', 'В процессе выполнения'),
|
||||
('PENDING', 'Ожидает проверки'),
|
||||
('GRADED', 'Проверено'),
|
||||
)
|
||||
@@ -64,7 +65,9 @@ class Submission(models.Model):
|
||||
grade = models.CharField('Оценка', max_length=10, blank=True, null=True)
|
||||
teacher_feedback = models.TextField('Комментарий учителя', blank=True, null=True)
|
||||
status = models.CharField('Статус', max_length=20, choices=STATUS_CHOICES, default='PENDING')
|
||||
started_at = models.DateTimeField('Время начала', blank=True, null=True)
|
||||
submitted_at = models.DateTimeField('Дата отправки', auto_now_add=True)
|
||||
is_time_expired = models.BooleanField('Время вышло', default=False)
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Ответ ученика'
|
||||
|
||||
Reference in New Issue
Block a user