diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/patchwork/urls.py | 2 | ||||
-rw-r--r-- | apps/patchwork/views/bundle.py | 18 |
2 files changed, 15 insertions, 5 deletions
diff --git a/apps/patchwork/urls.py b/apps/patchwork/urls.py index 10fc3b9..3209830 100644 --- a/apps/patchwork/urls.py +++ b/apps/patchwork/urls.py @@ -67,6 +67,8 @@ urlpatterns = patterns('', # public view for bundles (r'^bundle/(?P<username>[^/]*)/(?P<bundlename>[^/]*)/$', 'patchwork.views.bundle.public'), + (r'^bundle/(?P<username>[^/]*)/(?P<bundlename>[^/]*)/mbox/$', + 'patchwork.views.bundle.public_mbox'), (r'^confirm/(?P<key>[0-9a-f]+)/$', 'patchwork.views.confirm'), diff --git a/apps/patchwork/views/bundle.py b/apps/patchwork/views/bundle.py index e418b3a..058153b 100644 --- a/apps/patchwork/views/bundle.py +++ b/apps/patchwork/views/bundle.py @@ -168,15 +168,18 @@ def bundle(request, bundle_id): return render_to_response('patchwork/bundle.html', context) -@login_required -def mbox(request, bundle_id): - bundle = get_object_or_404(Bundle, id = bundle_id) +def mbox_response(bundle): response = HttpResponse(mimetype='text/plain') - response['Content-Disposition'] = 'attachment; filename=bundle-%d.mbox' % \ - bundle.id + response['Content-Disposition'] = \ + 'attachment; filename=bundle-%d-%s.mbox' % (bundle.id, bundle.name) response.write(bundle.mbox()) return response +@login_required +def mbox(request, bundle_id): + bundle = get_object_or_404(Bundle, id = bundle_id) + return mbox_response(bundle) + def public(request, username, bundlename): user = get_object_or_404(User, username = username) bundle = get_object_or_404(Bundle, name = bundlename, owner = user, @@ -191,3 +194,8 @@ def public(request, username, bundlename): context['bundle'] = bundle return render_to_response('patchwork/bundle-public.html', context) + +def public_mbox(request, username, bundlename): + bundle = get_object_or_404(Bundle, name = bundlename, public = True) + return mbox_response(bundle) + return response |