X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/ac39503a5a9a16c1098e65ee16a866cf8eb19a8f..583f4d519b134720024e4fa387b5a00561bd00cf:/src/archive/views.py diff --git a/src/archive/views.py b/src/archive/views.py index 31ea9c3..8621f64 100644 --- a/src/archive/views.py +++ b/src/archive/views.py @@ -3,7 +3,7 @@ from datetime import datetime import os import os.path -from urllib import quote +from urllib.parse import quote from archive import settings from django.contrib.auth import logout @@ -65,7 +65,7 @@ def file_new(request, filename): d[tag] = None if not request.POST: - form = AudiobookForm(d) + form = AudiobookForm(initial=d) return render(request, "archive/file_new.html", locals()) @@ -166,13 +166,13 @@ def publish(request, aid, publish=True): 'url': audiobook.url, 'tags': audiobook.new_publish_tags(), } - audiobook.mp3_tags = tags - audiobook.ogg_tags = tags + audiobook.set_mp3_tags(tags) + audiobook.set_ogg_tags(tags) audiobook.mp3_status = audiobook.ogg_status = status.WAITING audiobook.save() # isn't there a race here? - audiobook.mp3_task = tasks.Mp3Task.delay(aid, publish).task_id - audiobook.ogg_task = tasks.OggTask.delay(aid, publish).task_id + audiobook.mp3_task = tasks.Mp3Task.delay(request.user.id, aid, publish).task_id + audiobook.ogg_task = tasks.OggTask.delay(request.user.id, aid, publish).task_id audiobook.save() return redirect(file_managed, aid) @@ -198,7 +198,7 @@ def download(request, aid, which="source"): if not file_: raise Http404 ext = file_.path.rsplit('.', 1)[-1] - response = HttpResponse(mimetype='application/force-download') + response = HttpResponse(content_type='application/force-download') response['Content-Disposition'] = "attachment; filename*=UTF-8''%s.%s" % ( quote(audiobook.title.encode('utf-8'), safe=''), ext) @@ -258,6 +258,10 @@ def file_managed(request, id): tags = {} form = AudiobookForm(instance=audiobook) + user_can_publish = ( + request.user.is_authenticated and + request.user.oauthconnection_set.filter(access=True).exists()) + return render(request, "archive/file_managed.html", locals())