Beispiel #1
0
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))
Beispiel #2
0
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))