Enhance task numbers, enable late submissions with badges, and fix overdue badges
This commit is contained in:
+8
-5
@@ -68,9 +68,11 @@ def assignment_detail(request, pk):
|
||||
can_submit = True
|
||||
time_left_seconds = None
|
||||
needs_start = False
|
||||
is_late = False
|
||||
|
||||
if assignment.deadline and now > assignment.deadline:
|
||||
can_submit = False
|
||||
is_late = True
|
||||
# can_submit = False # Allow late submissions
|
||||
|
||||
if assignment.time_limit:
|
||||
if not submission:
|
||||
@@ -85,11 +87,10 @@ def assignment_detail(request, pk):
|
||||
if request.method == 'POST':
|
||||
# Allow saving this final POST, but mark it as expired
|
||||
submission.is_time_expired = True
|
||||
# We don't set can_submit = False here so the POST is processed
|
||||
else:
|
||||
can_submit = False
|
||||
submission.is_time_expired = True
|
||||
submission.status = 'PENDING' # Or graded with 0
|
||||
submission.status = 'PENDING'
|
||||
submission.save()
|
||||
else:
|
||||
time_left_seconds = int(allowed - elapsed)
|
||||
@@ -104,7 +105,8 @@ def assignment_detail(request, pk):
|
||||
assignment=assignment,
|
||||
student=request.user,
|
||||
status='IN_PROGRESS',
|
||||
started_at=now
|
||||
started_at=now,
|
||||
is_late=is_late
|
||||
)
|
||||
return redirect('lms:assignment_detail', pk=pk)
|
||||
|
||||
@@ -115,7 +117,7 @@ def assignment_detail(request, pk):
|
||||
form = AnswersForm(request.POST, request.FILES, questions=questions)
|
||||
if form.is_valid():
|
||||
if not submission:
|
||||
submission = Submission.objects.create(assignment=assignment, student=request.user)
|
||||
submission = Submission.objects.create(assignment=assignment, student=request.user, is_late=is_late)
|
||||
|
||||
all_auto = True
|
||||
total_points = 0
|
||||
@@ -211,4 +213,5 @@ def assignment_detail(request, pk):
|
||||
'can_submit': can_submit,
|
||||
'needs_start': needs_start,
|
||||
'time_left_seconds': time_left_seconds,
|
||||
'is_late': is_late,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user