def uncomplete_task(request, task_id): """Uncompletes a task.""" task = get_object_or_404(Task, pk=task_id) task_progress = task.progress_for_user(request.user) if task_progress: task_progress.delete() # Log dropping of task CourseLog.drop_task(request.user) # Uncomplete the lesson if it has already been completed lesson_progress = task.lesson.progress_for_user(request.user) if lesson_progress and lesson_progress.completed: lesson_progress.completed = None lesson_progress.save() # Uncomplete the course if it has already been completed course_progress = task.lesson.course.progress_for_user(request.user) if course_progress and course_progress.completed: course_progress.completed = None course_progress.calc_progress(request.user) course_progress.save() return HttpResponseRedirect( reverse('lesson', args=(task.lesson.course.slug, task.lesson.slug,)) )
def uncomplete_task(request, task_id): """Uncompletes a task.""" task = get_object_or_404(Task, pk=task_id) task_progress = task.progress_for_user(request.user) if task_progress: task_progress.delete() # Log dropping of task CourseLog.drop_task(request.user) # Uncomplete the lesson if it has already been completed lesson_progress = task.lesson.progress_for_user(request.user) if lesson_progress and lesson_progress.completed: lesson_progress.completed = None lesson_progress.save() # Uncomplete the course if it has already been completed course_progress = task.lesson.course.progress_for_user(request.user) if course_progress and course_progress.completed: course_progress.completed = None course_progress.calc_progress(request.user) course_progress.save() return HttpResponseRedirect( reverse('lesson', args=( task.lesson.course.slug, task.lesson.slug, )))
def complete_task(request, task_id): """Completes a task.""" task = get_object_or_404(Task, pk=task_id) # Check to see if a user isn't already enrolled in the course course_progress = task.lesson.course.progress_for_user(request.user) if not course_progress: course_progress = task.lesson.course.enroll(request.user) # Grab the lesson progress lesson_progress = task.lesson.progress_for_user(request.user) if not lesson_progress: # If the lesson progress doesn't exist, create it LessonProgress.objects.create(user=request.user, lesson=task.lesson) # Log the course was started CourseLog.start_lesson(request.user) # Check to see if a user hasn't already completed the task. # If they are just ignore and redirect. task_progress = task.progress_for_user(request.user) if not task_progress: task.complete(request.user, course_progress) return HttpResponseRedirect(reverse('lesson', args=(task.lesson.course.slug, task.lesson.slug,)))
def complete_task(request, task_id): """Completes a task.""" task = get_object_or_404(Task, pk=task_id) # Check to see if a user isn't already enrolled in the course course_progress = task.lesson.course.progress_for_user(request.user) if not course_progress: course_progress = task.lesson.course.enroll(request.user) # Grab the lesson progress lesson_progress = task.lesson.progress_for_user(request.user) if not lesson_progress: # If the lesson progress doesn't exist, create it LessonProgress.objects.create(user=request.user, lesson=task.lesson) # Log the course was started CourseLog.start_lesson(request.user) # Check to see if a user hasn't already completed the task. # If they are just ignore and redirect. task_progress = task.progress_for_user(request.user) if not task_progress: task.complete(request.user, course_progress) return HttpResponseRedirect( reverse('lesson', args=( task.lesson.course.slug, task.lesson.slug, )))