Example #1
0
def post_metadata(request, ef_id):
    ef = get_object_or_404(ExamFile, id=ef_id)
    try:
        e = Exam.objects.get(file=ef)
    except Exam.DoesNotExist:
        e = Exam()
        e.file = ef
    e.professor, c = Professor.objects.get_or_create(name=request.POST['professor'])
    e.subject, c = Subject.objects.get_or_create(name=request.POST['subject'])
    e.degree, c = Degree.objects.get_or_create(name=request.POST['degree'])
    try:
        e.year = int(request.POST['year'])
    except ValueError:
        r = HttpResponse("invalid year")
        r.status_code = 405
        return r
    e.hws = True if request.POST['hws'] == "true" else False 
    e.solution = True if request.POST['solution'] == "true" else False 
    e.note = request.POST['note'] 
    e.save()
    return HttpResponse("OK")