def generate_report(request): report_type = request.POST["type"] course_handle = request.POST["course_handle"] course_handle_pretty = course_handle.replace('--','-') email_message = "The report is attached. You can also download it by going to the reports page under Course Administration->Reports, or by visiting https://class.stanford.edu/%s/browse_reports." % course_handle.replace('--', '/') attach_reports_to_email = True if report_type == 'dashboard': email_title = "[Class2Go] Dashboard Report for %s" % course_handle_pretty req_reports = [{'type': 'dashboard'}] elif report_type == 'video_full': slug = request.POST["slug"] email_title = "[Class2Go] Video Full Report for %s %s" % (course_handle_pretty, slug) # TODO: Remove the following message and attachment flag override after report email attachment is fixed attach_reports_to_email = False email_message = "The report has been generated. You can download it by going to the reports page under Course Administration->Reports, or by visiting https://class.stanford.edu/%s/browse_reports." % course_handle.replace('--', '/') req_reports = [{'type': 'video_full', 'slug': slug}] elif report_type == 'video_summary': slug = request.POST["slug"] email_title = "[Class2Go] Video Summary Report for %s %s" % (course_handle_pretty, slug) req_reports = [{'type': 'video_summary', 'slug': slug}] elif report_type == 'class_roster': email_title = "[Class2Go] Class Roster for %s" % (course_handle_pretty) req_reports = [{'type': 'class_roster'}] #Reports for the new assessments elif report_type == 'course_assessments': email_title = "[Class2Go] Course Assessments Report for %s" % course_handle_pretty req_reports = [{'type': 'course_assessments'}] elif report_type == 'assessment_full': slug = request.POST["slug"] email_title = "[Class2Go] Assessment Full Report for %s %s" % (course_handle_pretty, slug) # TODO: Remove the following message and attachment flag override after report email attachment is fixed attach_reports_to_email = False email_message = "The report has been generated. You can download it by going to the reports page under Course Administration->Reports, or by visiting https://class.stanford.edu/%s/browse_reports." % course_handle.replace('--', '/') req_reports = [{'type': 'assessment_full', 'slug': slug}] elif report_type == 'assessment_summary': slug = request.POST["slug"] email_title = "[Class2Go] Assessment Summary Report for %s %s" % (course_handle_pretty, slug) req_reports = [{'type': 'assessment_summary', 'slug': slug}] elif report_type == 'survey_summary': slug = request.POST["slug"] email_title = "[Class2Go] Survey Summary Report for %s %s" % (course_handle_pretty, slug) req_reports = [{'type': 'survey_summary', 'slug': slug}] elif report_type == 'assessment_student_scores': email_title = "[Class2Go] Assessment Student Scores Report for %s" % (course_handle_pretty) req_reports = [{'type': 'assessment_student_scores'}] generate_and_email_reports(request.user.username, course_handle, req_reports, email_title, email_message, attach_reports_to_email) return redirect(request.META.get('HTTP_REFERER', None))
def handle(self, *args, **options): now = datetime.now() active_courses = Course.objects.filter(mode='ready', calendar_end__gt=now) for ready_course in active_courses: email_title = "[Class2Go] Daily %s Reports" % ready_course.handle.replace('--', '-') email_message = "To generate or download any of Class2Go's report types, please visit your course's reports page from Course Administration->Reports, or by visiting https://class.stanford.edu/%s/browse_reports." % ready_course.handle.replace('--', '/') params = [{'type':'dashboard'}, {'type':'course_quizzes'}] if settings.AWS_ACCESS_KEY_ID == 'local': # do right here (note missing "delay" in next line) generate_and_email_reports('c2g_daily_report_mailer', ready_course.handle, params, email_title, email_message) else: # queue and run on util machine generate_and_email_reports.delay('c2g_daily_report_mailer', ready_course.handle, params, email_title, email_message)
def handle(self, *args, **options): now = datetime.now() active_courses = Course.objects.filter(mode='ready', calendar_end__gt=now) for ready_course in active_courses: email_title = "[Class2Go] Daily %s Reports" % ready_course.handle.replace( '--', '-') email_message = "To generate or download any of Class2Go's report types, please visit your course's reports page from Course Administration->Reports, or by visiting https://class.stanford.edu/%s/browse_reports." % ready_course.handle.replace( '--', '/') params = [{'type': 'dashboard'}, {'type': 'course_quizzes'}] if settings.AWS_ACCESS_KEY_ID == 'local': # do right here (note missing "delay" in next line) generate_and_email_reports('c2g_daily_report_mailer', ready_course.handle, params, email_title, email_message) else: # queue and run on util machine generate_and_email_reports.delay('c2g_daily_report_mailer', ready_course.handle, params, email_title, email_message)