def edit_session(request, course_b36, session_id): course_id = base36_to_int(course_b36) cis = CourseInfoSession.objects.get(pk=session_id) session = cis.session course = CourseInfo.objects.get(pk=course_id) if course.is_editor(request.user): if request.method == 'POST': form = SessionForm(request.POST) session_aux_form = SessionAux_Form(request.POST) if form.is_valid() and session_aux_form.is_valid(): del_links, add_links = [], [] print request.POST for key in request.POST: keysp = key.split('_') value = request.POST[key] if keysp[0] == 'add': add_links.append((value, request.POST['title_'+keysp[1]+'_'+keysp[2]])) elif keysp[0] == 'del': del_links.append(value) print add_links new_session = form.save(session=session, add_links=add_links, del_links=del_links) cis.session = new_session cis.save() return HttpResponseRedirect('/c/edit-session/%s/%s/' % (course_b36, session_id)) else: form = SessionForm({'title': session.title, 'description':session.description, 'video_url':session.video_url }) session_aux_form = SessionAuxForm({'session_number':cis.session_number}) print session.link.all() render_dict = { 'course': course, 'session': session, 'form': form, 'session_aux_form':session_aux_form } editors = course.editor.all() editors = [editor.editor for editor in editors] render_dict['editors'] = editors return render_to_response('classes/edit.html', render_dict , context_instance=RequestContext(request))
def new_session(request, course_b36): course_id = base36_to_int(course_b36) from classes.forms import SessionForm course = CourseInfo.objects.get(pk=course_id) if course.is_editor(request.user): if request.method == 'POST': form = SessionForm(request.POST) session_aux_form = SessionAuxForm(request.POST) if form.is_valid() and session_aux_form.is_valid(): add_links = [] for key in request.POST: keysp = key.split('_') value = request.POST[key] if keysp[0] == 'add': add_links.append((value, request.POST['title_'+keysp[1]+'_'+keysp[2]])) new_session = form.save(session=None, add_links=add_links) cis = CourseInfoSession.objects.create(session=new_session, course_info=course, session_number=form.cleaned_data['session_number']) cis.save() return HttpResponseRedirect('/c/edit-session/%s/%s/' % (course_b36, cis.pk)) else: form = SessionForm() session_aux_form = SessionAuxForm({'session_number': len(course.course_info_session.all())+1}) render_dict = { 'course': course, 'form': form, 'session':True, 'session_aux_form':session_aux_form } editors = course.editor.all() editors = [editor.editor for editor in editors] render_dict['editors'] = editors return render_to_response('classes/edit.html', render_dict , context_instance=RequestContext(request))