def main(request, course_prefix, course_suffix, slug): try: common_page_data = get_common_page_data(request, course_prefix, course_suffix) page = AdditionalPage.objects.get(course=common_page_data['course'], slug=slug) except: raise Http404 if not common_page_data['is_course_admin']: visit_log = PageVisitLog( course = common_page_data['ready_course'], user = request.user, page_type = 'additional_page', object_id = str(page.id), ) visit_log.save() if common_page_data['is_course_admin'] and common_page_data['course_mode'] == 'draft' and common_page_data['view_mode'] == 'edit': template = 'additional_pages/edit.html' else: template = 'additional_pages/view.html' course = common_page_data['course'] contentsection_list, video_list, pset_list, additional_pages, file_list, groups, exam_list, level2_items = get_left_nav_content(course) full_contentsection_list, full_index_list = get_full_contentsection_list(course, contentsection_list, video_list, pset_list, additional_pages, file_list, exam_list, level2_items) if request.user.is_authenticated(): is_logged_in = 1 else: is_logged_in = 0 return render_to_response(template, {'common_page_data': common_page_data, 'page': page, 'contentsection_list': full_contentsection_list, 'full_index_list': full_index_list, 'is_logged_in': is_logged_in}, context_instance=RequestContext(request))
def view(request, course_prefix, course_suffix, slug): common_page_data = request.common_page_data try: #getByCourse takes care of checking for draft vs live, is_deleted and live times video = Video.objects.getByCourse(course=common_page_data['course']).get(slug=slug) except Video.DoesNotExist: raise Http404 if not common_page_data['is_course_admin']: visit_log = PageVisitLog( course = common_page_data['ready_course'], user = request.user, page_type= 'video', object_id = str(video.id), ) visit_log.save() if not 'video_quiz_mode' in request.session: #Default to include quizzes in viewing videos request.session['video_quiz_mode'] = "quizzes included" videos = Video.objects.getByCourse(course=common_page_data['course']) #Get index of current video cur_index = None #just code safety for index, item in enumerate(videos): if item == video: cur_index = index break #code safety next_slug = None prev_slug = None if cur_index is not None: if cur_index > 0: prev_slug = videos[cur_index-1].slug else: prev_slug = None if cur_index < videos.count() - 1: next_slug = videos[cur_index+1].slug else: next_slug = None video_rec = request.user.videoactivity_set.filter(video=video) if video_rec: video_rec = video_rec[0] else: #note student field to be renamed to user, VideoActivity for all users now video_rec = VideoActivity(student=request.user, course=common_page_data['course'], video=video) video_rec.save() has_ex = VideoToExercise.objects.filter(is_deleted=False, video=video).exists() no_ex = 1 if (not has_ex) or request.session['video_quiz_mode'] != "quizzes included" else 0 course = common_page_data['course'] contentsection_list, video_list, pset_list, additional_pages, file_list, groups, exam_list, level2_items = get_left_nav_content(course) full_contentsection_list, full_index_list = get_full_contentsection_list(course, contentsection_list, video_list, pset_list, additional_pages, file_list, exam_list, level2_items) if request.user.is_authenticated(): is_logged_in = 1 else: is_logged_in = 0 return render_to_response('videos/view.html', {'common_page_data': common_page_data, 'video': video, 'video_rec':video_rec, 'prev_slug': prev_slug, 'next_slug': next_slug, 'no_ex': no_ex, 'contentsection_list': full_contentsection_list, 'full_index_list': full_index_list, 'is_logged_in': is_logged_in}, context_instance=RequestContext(request))