コード例 #1
0
ファイル: views.py プロジェクト: baracoder/infoini-django
def sort(request):
    basepath = os.path.join(settings.MEDIA_ROOT, "lernhilfen_archiv")

    if request.POST.has_key("datei"):
        randomfile_url = request.POST["datei"]
    else:
        try:
            randomfile = get_random_file(basepath)
            randomfile_url = os.path.relpath(randomfile, settings.MEDIA_ROOT)
        except IndexError:
            return HttpResponse("keine unsortierten dateien gefunden", status=500)

    sort_form = forms.LernhilfenSort(request.POST or None)
    if request.POST and sort_form.is_valid():
        l = sort_form.save(commit=False)
        filename = request.POST["datei"]

        if ".." in filename or filename.startswith("/"):
            return HttpResponse(status=403)

        filename = os.path.join(settings.MEDIA_ROOT, filename)

        l.datei.save(models.get_full_path(l, filename), File(open(filename)))
        l.gesichtet = True
        l.save()
        os.remove(filename)
        messages.success(request, "Lernhilfe gespeichert")
        return HttpResponseRedirect("/lernhilfen/sort/")

    c = {"sort_form": sort_form, "src": randomfile_url}
    c.update(csrf(request))
    return render_response(request, "lernhilfen/sort.html", c)
コード例 #2
0
ファイル: views.py プロジェクト: baracoder/infoini-django
def upload(request):
    uploadform = forms.LernhilfenUpload(request.POST or None, request.FILES or None)
    if request.POST and uploadform.is_valid():
        uploadform.save()
        messages.success(request, "Lernhilfe hochgeladen")
        return HttpResponseRedirect("/lernhilfen/")

    c = {"uploadform": uploadform}
    c.update(csrf(request))
    return render_response(request, "lernhilfen/upload.html", c)
コード例 #3
0
ファイル: views.py プロジェクト: baracoder/infoini-django
def index(request):
    filterset = forms.LernhilfenFilterSet()
    c = {"filter": filterset, "q": request.GET.urlencode()}
    return render_response(request, "lernhilfen/index.html", c)