def process_complete_tasks(self, student, complete_task_ids, completed_date): """Add coursework for any tasks that do not have it.""" has_work_to_grade = False existing_complete_task_ids = set( Coursework.objects.filter( student=student, course_task__in=complete_task_ids).values_list( "course_task_id", flat=True)) newly_complete_task_ids = set( complete_task_ids) - existing_complete_task_ids if newly_complete_task_ids: new_coursework = [] for task_id in newly_complete_task_ids: new_coursework.append( Coursework( student=student, course_task_id=task_id, completed_date=completed_date, )) Coursework.objects.bulk_create(new_coursework) graded_work_ids = set( GradedWork.objects.filter( course_task__in=newly_complete_task_ids).values_list( "id", flat=True)) already_graded_work_ids = set( Grade.objects.filter( student=student, graded_work__in=graded_work_ids).values_list( "graded_work_id", flat=True)) has_work_to_grade = bool(graded_work_ids - already_graded_work_ids) return has_work_to_grade
def process_complete_tasks(self, student, complete_task_ids, completed_date): """Add coursework for any tasks that do not have it.""" existing_complete_task_ids = set( Coursework.objects.filter( student=student, course_task__in=complete_task_ids).values_list( "course_task_id", flat=True)) newly_complete_task_ids = set( complete_task_ids) - existing_complete_task_ids if newly_complete_task_ids: new_coursework = [] for task_id in newly_complete_task_ids: new_coursework.append( Coursework( student=student, course_task_id=task_id, completed_date=completed_date, )) Coursework.objects.bulk_create(new_coursework)
def process_complete_tasks(self, student, complete_task_ids, completed_date): """Add coursework for any tasks that do not have it.""" has_work_to_grade = False existing_complete_task_ids = set( Coursework.objects.filter( student=student, course_task__in=complete_task_ids ).values_list("course_task_id", flat=True) ) newly_complete_task_ids = set(complete_task_ids) - existing_complete_task_ids if newly_complete_task_ids: new_coursework = [] for task_id in newly_complete_task_ids: new_coursework.append( Coursework( student=student, course_task_id=task_id, completed_date=completed_date, ) ) Coursework.objects.bulk_create(new_coursework) pluralized = pluralize(len(newly_complete_task_ids)) message = "Completed {} task{} for {}.".format( len(newly_complete_task_ids), pluralized, student.full_name ) messages.add_message(self.request, messages.SUCCESS, message) graded_work_ids = set( GradedWork.objects.filter( course_task__in=newly_complete_task_ids ).values_list("id", flat=True) ) already_graded_work_ids = set( Grade.objects.filter( student=student, graded_work__in=graded_work_ids ).values_list("graded_work_id", flat=True) ) has_work_to_grade = bool(graded_work_ids - already_graded_work_ids) return has_work_to_grade