[extensions-web] Allow reviewers to download the zipfile
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [extensions-web] Allow reviewers to download the zipfile
- Date: Sat, 19 Nov 2011 21:58:24 +0000 (UTC)
commit 10c09fa4254b450fd8a92f4dcc30bdee8991f29d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sat Nov 19 16:50:10 2011 -0500
Allow reviewers to download the zipfile
sweettooth/review/templates/review/review.html | 7 ++++++-
sweettooth/review/urls.py | 3 +++
sweettooth/review/views.py | 14 +++++++++++++-
3 files changed, 22 insertions(+), 2 deletions(-)
---
diff --git a/sweettooth/review/templates/review/review.html b/sweettooth/review/templates/review/review.html
index fba40f9..31ba2f8 100644
--- a/sweettooth/review/templates/review/review.html
+++ b/sweettooth/review/templates/review/review.html
@@ -28,7 +28,12 @@
</div>
<h2 class="expanded"> Files </h2>
-<div id="files" data-pk="{{ version.pk }}">
+<div>
+ <div id="files" data-pk="{{ version.pk }}">
+ </div>
+ <p>Note: Binary files aren't showed on the web site. To see all
+ files, please <a href="{% url review-download pk=version.pk %}">download
+ the extension zipfile</a>.</p>
</div>
{% if previous_versions %}
diff --git a/sweettooth/review/urls.py b/sweettooth/review/urls.py
index 383bbc4..ce7d5df 100644
--- a/sweettooth/review/urls.py
+++ b/sweettooth/review/urls.py
@@ -15,6 +15,9 @@ urlpatterns = patterns('',
url(r'^ajax/get-file-diff/(?P<pk>\d+)', views.ajax_get_file_diff_view, name='review-ajax-file-diff'),
url(r'^submit/(?P<pk>\d+)', views.submit_review_view, name='review-submit'),
+ url(r'^download/(?P<uuid>.+)\.shell-extension\.zip$',
+ views.download_zipfile, name='review-zipfile'),
+
url(r'^(?P<pk>\d+)', views.review_version_view, name='review-version'),
)
diff --git a/sweettooth/review/views.py b/sweettooth/review/views.py
index f350b18..201c359 100644
--- a/sweettooth/review/views.py
+++ b/sweettooth/review/views.py
@@ -12,7 +12,7 @@ from django.core.mail import send_mail
from django.core.urlresolvers import reverse
from django.contrib import messages
from django.http import HttpResponseForbidden, Http404
-from django.shortcuts import redirect
+from django.shortcuts import redirect, get_object_or_404
from django.template.loader import render_to_string
from django.utils.html import escape
@@ -200,6 +200,18 @@ def ajax_get_file_view(request, obj):
raw = f.read()
return html_for_file(filename, raw)
+def download_zipfile(request, uuid):
+ pk = request.GET['pk']
+ version = get_object_or_404(models.ExtensionVersion, pk=pk)
+
+ if version.extension.uuid != uuid:
+ raise Http404()
+
+ if version.status == models.STATUS_NEW:
+ return HttpResponseForbidden()
+
+ return redirect(version.source.url)
+
@post_only_view
@model_view(models.ExtensionVersion)
def submit_review_view(request, obj):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]