Esempio n. 1
0
def edit_ass(request, assID):
    if request.method == 'GET':
        assignment = spec.Assignment.objects.get(id=assID)
        form = spec.AssignmentModifyForm(instance=assignment)
        return make_response(request, 'editass.html', {
            'form': form,
            'next': request.GET.get('next', settings.LOGIN_REDIRECT_URL),
            })
    elif request.method == 'POST':
        assignment = spec.Assignment.objects.get(id=assID)
        form = spec.AssignmentModifyForm(request.POST, request.FILES, instance=assignment)
        if form.is_valid():
            success, msg = spec.make_ass_dir(assignment)
            if success:
                assignment = form.save()
                redirect_to = urljoin(settings.ASSIGNMENT_URL, str(assignment.id))
                return HttpResponseRedirect(redirect_to)
            else:
                return error_response(request, msg)
        return make_response(request, 'editass.html', {
            'form': form,
            'next': request.GET['next'],
            })
Esempio n. 2
0
def post_ass(request):
    if request.method == 'GET':
        form = spec.AssignmentCreationForm()
        redirect_to = request.GET.get('next', settings.LOGIN_REDIRECT_URL)
        return make_response(request, 'addass.html', {
            'form': form,
            'next': redirect_to,
            })
    elif request.method == 'POST':
        form = spec.AssignmentCreationForm(request.POST, request.FILES)
        if form.is_valid():
            assignment = form.save(commit=False)
            success, msg = spec.make_ass_dir(assignment)
            if success:
                assignment.save()
                redirect_to = urljoin(settings.ASSIGNMENT_URL, str(assignment.id))
                return HttpResponseRedirect(redirect_to)
            else:
                return error_response(request, msg)
        return make_response(request, 'addass.html', {
            'form': form,
            'next': request.POST['next'],
            })