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)
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)
def index(request): filterset = forms.LernhilfenFilterSet() c = {"filter": filterset, "q": request.GET.urlencode()} return render_response(request, "lernhilfen/index.html", c)