def load_adjustment_log(request): rows = [] logs = AdjustmentTimeLog.objects.filter(user_id=request.POST.get('user_id')).order_by('-create_date') for d in logs: create_date = d.create_date.strftime('%b-%d-%y %H:%M:%S') rows.append({"user_email": d.user_email, "admin_email": d.admin_email, "adjustment_time": study_time_format(d.adjustment_time, True), "type": d.type, "course_number": d.course_number, "create_date": create_date, "comments": d.comments }) return HttpResponse(json.dumps({'rows': rows}), content_type="application/json")
def load_single_user_time(request): user = User.objects.get(id=request.POST.get('user_id')) row = {} rts = record_time_store() external_time = 0 all_external_time = 0 user_id = str(user.id) course_id = str(request.POST.get('course_id', None)) if course_id: for enrollment in CourseEnrollment.enrollments_for_user(user): try: course = course_from_id(enrollment.course_id) all_external_time += rts.get_external_time(user_id, course.id) except ItemNotFoundError: #log.error("User {0} enrolled in non-existent course {1}".format(p.user.username, enrollment.course_id)) pass all_course_time, all_discussion_time, portfolio_time = rts.get_stats_time(user_id) adjustment_time_totle = rts.get_adjustment_time(user_id, 'total', None) external_time = rts.get_external_time(user_id, course_id) course_time = rts.get_course_time(user_id, course_id, 'courseware') discussion_time = rts.get_course_time(user_id, course_id, 'discussion') collaboration_time = all_discussion_time + portfolio_time all_course_time = all_course_time + all_external_time total_time = all_course_time + collaboration_time + adjustment_time_totle else: for enrollment in CourseEnrollment.enrollments_for_user(user): try: course = course_from_id(enrollment.course_id) external_time += rts.get_external_time(user_id, course.id) except ItemNotFoundError: #log.error("User {0} enrolled in non-existent course {1}".format(p.user.username, enrollment.course_id)) pass adjustment_time_totle = rts.get_adjustment_time(user_id, 'total', None) course_time, discussion_time, portfolio_time = rts.get_stats_time(user_id) all_course_time = course_time + external_time collaboration_time = discussion_time + portfolio_time total_time = all_course_time + collaboration_time + adjustment_time_totle row = {"id": user_id, "total_time": study_time_format(total_time, True), "collaboration_time": study_time_format(collaboration_time, True), "discussion_time": study_time_format(discussion_time, True), "portfolio_time": study_time_format(portfolio_time, True), "external_time": study_time_format(external_time, True), "course_time": study_time_format(course_time, True) } return HttpResponse(json.dumps({'row': row}), content_type="application/json")
def load_adjustment_time(request): rts = record_time_store() user_id = str(request.POST.get('user_id')) adjustment_time = rts.get_adjustment_time(user_id, request.POST.get('type'), request.POST.get('course_id')) return HttpResponse(json.dumps({'time': study_time_format(adjustment_time, True)}), content_type="application/json")
def do_get_report_data(task, data, request, course_id=None): gevent.sleep(0) count_success = 0 rows = [] rts = record_time_store() for i, p in enumerate(data): try: external_time = 0 all_external_time = 0 complete_course_num = 0 current_course_num = 0 user_id = str(p.user.id) if course_id: for enrollment in CourseEnrollment.enrollments_for_user(p.user): try: course = course_from_id(enrollment.course_id) all_external_time += rts.get_external_time(user_id, course.id) field_data_cache = FieldDataCache([course], course.id, p.user) course_instance = get_module(p.user, request, course.location, field_data_cache, course.id, grade_bucket_type='ajax') if course_instance.complete_course: complete_course_num += 1 else: current_course_num += 1 except ItemNotFoundError: #log.error("User {0} enrolled in non-existent course {1}".format(p.user.username, enrollment.course_id)) pass all_course_time, all_discussion_time, portfolio_time = rts.get_stats_time(user_id) external_time = rts.get_external_time(user_id, course_id) course_time = rts.get_course_time(user_id, course_id, 'courseware') discussion_time = rts.get_course_time(user_id, course_id, 'discussion') collaboration_time = all_discussion_time + portfolio_time all_course_time = all_course_time + all_external_time #@begin:add pd_time in time_report #@date:2016-06-03 pd_time = 0; pd_time_tmp = PepRegStudent.objects.values('student_id').annotate(credit_sum=Sum('student_credit')).filter(student_id=user_id) if pd_time_tmp: pd_time = pd_time_tmp[0]['credit_sum'] * 3600 total_time = all_course_time + collaboration_time + rts.get_adjustment_time(user_id, 'total') + pd_time #total_time = all_course_time + collaboration_time + rts.get_adjustment_time(user_id, 'total') #@end else: for enrollment in CourseEnrollment.enrollments_for_user(p.user): try: course = course_from_id(enrollment.course_id) external_time += rts.get_external_time(user_id, course.id) field_data_cache = FieldDataCache([course], course.id, p.user) course_instance = get_module(p.user, request, course.location, field_data_cache, course.id, grade_bucket_type='ajax') if course_instance.complete_course: complete_course_num += 1 else: current_course_num += 1 except ItemNotFoundError: #log.error("User {0} enrolled in non-existent course {1}".format(p.user.username, enrollment.course_id)) pass course_time, discussion_time, portfolio_time = rts.get_stats_time(user_id) all_course_time = course_time + external_time collaboration_time = discussion_time + portfolio_time #@begin:add pd_time in time_report #@date:2016-06-03 pd_time = 0; pd_time_tmp = PepRegStudent.objects.values('student_id').annotate(credit_sum=Sum('student_credit')).filter(student_id=user_id) if pd_time_tmp: pd_time = pd_time_tmp[0]['credit_sum'] * 3600 total_time = all_course_time + collaboration_time + rts.get_adjustment_time(user_id, 'total') + pd_time #total_time = all_course_time + collaboration_time + rts.get_adjustment_time(user_id, 'total') #@end rows.append({'id': p.user.id, 'user_first_name': p.user.first_name, 'user_last_name': p.user.last_name, 'user_email': p.user.email, 'district': attstr(p, "district.name"), 'school': attstr(p, "school.name"), "total_time": study_time_format(total_time, True), "collaboration_time": study_time_format(collaboration_time, True), "discussion_time": study_time_format(discussion_time, True), "portfolio_time": study_time_format(portfolio_time, True), "pd_time": study_time_format(pd_time, True), #2016-06-03 add pd_time in time_report "external_time": study_time_format(external_time, True), "course_time": study_time_format(course_time, True), "complete_course_num": complete_course_num, "current_course_num": current_course_num }) task.process_num = i + 1 except Exception as e: db.transaction.rollback() finally: count_success += 1 task.success_num = count_success task.update_time = datetime.now(UTC) task.save() rts.set_time_report_result(str(request.user.id), rows) task.task_read = True task.save() db.transaction.commit()