diff --git a/lmsege/lms/admin.py b/lmsege/lms/admin.py
index 34ef588..4ea4fe5 100644
--- a/lmsege/lms/admin.py
+++ b/lmsege/lms/admin.py
@@ -18,9 +18,9 @@ class QuestionInline(StackedInline):
@admin.register(Assignment)
class AssignmentAdmin(ModelAdmin):
- list_display = ('title', 'subject', 'is_published', 'time_limit', 'deadline', 'created_at')
+ list_display = ('title', 'subject', 'is_published', 'time_limit', 'deadline', 'allow_late_submissions', 'created_at')
list_display_links = ('title',)
- list_filter = ('subject', 'is_published')
+ list_filter = ('subject', 'is_published', 'allow_late_submissions')
search_fields = ('title', 'description')
exclude = ('created_by',)
filter_horizontal = ('assigned_students',)
diff --git a/lmsege/lms/models.py b/lmsege/lms/models.py
index ab1114e..5b36d57 100644
--- a/lmsege/lms/models.py
+++ b/lmsege/lms/models.py
@@ -24,6 +24,7 @@ class Assignment(models.Model):
created_at = models.DateTimeField('Дата создания', auto_now_add=True)
deadline = models.DateTimeField('Дедлайн', blank=True, null=True, help_text='После этого времени ответы не принимаются.')
time_limit = models.PositiveIntegerField('Лимит времени (минуты)', blank=True, null=True, help_text='Например, 235 для 3ч 55м. Оставьте пустым, если без таймера.')
+ allow_late_submissions = models.BooleanField('Разрешить дорешивание', default=True, help_text='Если включено, ученики смогут сдавать задание после дедлайна с пометкой "После дедлайна".')
class Meta:
verbose_name = 'Задание'
diff --git a/lmsege/lms/templates/lms/dashboard.html b/lmsege/lms/templates/lms/dashboard.html
index 49b2518..9f96c4c 100644
--- a/lmsege/lms/templates/lms/dashboard.html
+++ b/lmsege/lms/templates/lms/dashboard.html
@@ -47,9 +47,16 @@
{% endif %}
{% else %}
{% if assignment.deadline and now > assignment.deadline %}
-
- Дедлайн прошел
-
+ {% if assignment.allow_late_submissions %}
+
+ Дедлайн прошел
+
+ {% else %}
+
+
+ Прием закрыт
+
+ {% endif %}
{% else %}
diff --git a/lmsege/lms/views.py b/lmsege/lms/views.py
index 229023f..c16f2b6 100644
--- a/lmsege/lms/views.py
+++ b/lmsege/lms/views.py
@@ -72,7 +72,8 @@ def assignment_detail(request, pk):
if assignment.deadline and now > assignment.deadline:
is_late = True
- # can_submit = False # Allow late submissions
+ if not assignment.allow_late_submissions:
+ can_submit = False
if assignment.time_limit:
if not submission: