def recalculateGCIStudentRanking(request, *args, **kwargs): """Recalculates GCI Student Ranking for the specified student. """ student = gci_student_logic.getFromKeyName(kwargs['key_name']) if not student: return responses.terminateTask() # find ranking entity for the student and clear it filter = {'student': student} ranking = gci_student_ranking_logic.getForFields(filter=filter, unique=True) ranking.points = 0 ranking.tasks = [] ranking.put() # get all the tasks that the student has completed filter = { 'student': student, 'status': 'Closed', } tasks = gci_task_logic.getForFields(filter=filter) for task in tasks: gci_student_ranking_logic.updateRanking(task) return responses.terminateTask()
def recalculateGCIStudentRanking(request, *args, **kwargs): """Recalculates GCI Student Ranking for the specified student. """ student = gci_student_logic.getFromKeyName(kwargs['key_name']) if not student: return responses.terminateTask() # find ranking entity for the student and clear it filter = { 'student': student } ranking = gci_student_ranking_logic.getForFields(filter=filter, unique=True) ranking.points = 0 ranking.tasks = [] ranking.put() # get all the tasks that the student has completed filter = { 'student': student, 'status': 'Closed', } tasks = gci_task_logic.getForFields(filter=filter) for task in tasks: gci_student_ranking_logic.updateRanking(task) return responses.terminateTask()
def updateGCIRanking(request, *args, **kwargs): """Updates student ranking based on the task passed as post argument. """ post_dict = request.POST task_keyname = post_dict.get('task_keyname') if not task_keyname: responses.terminateTask() task = gci_task_logic.getFromKeyName(str(task_keyname)) gci_student_ranking_logic.updateRanking(task) return responses.terminateTask()