@@ -107,7 +107,7 @@ address.</p>
<li><a href="{{ bundle.get_absolute_url }}">{{ bundle.name }}</a></li>
{% endfor %}
</ul>
-<p>Visit the <a href="{%url 'bundle-list' %}">bundles
+<p>Visit the <a href="{%url 'user-bundles' %}">bundles
page</a> to manage your bundles.</p>
{% else %}
<p>You have no bundles.</p>
@@ -42,6 +42,8 @@ urlpatterns = [
url(r'^$', project_views.list, name='project-list'),
url(r'^project/(?P<project_id>[^/]+)/list/$', patch_views.list,
name='patch-list'),
+ url(r'^project/(?P<project_id>[^/]+)/bundles/$', bundle_views.bundles,
+ name='bundle-list'),
url(r'^project/(?P<project_id>[^/]+)/$', project_views.project,
name='project-detail'),
@@ -53,15 +55,15 @@ urlpatterns = [
url(r'^patch/(?P<patch_id>\d+)/mbox/$', patch_views.mbox,
name='patch-mbox'),
+
# logged-in user stuff
url(r'^user/$', user_views.profile, name='user-profile'),
url(r'^user/todo/$', user_views.todo_lists,
name='user-todos'),
url(r'^user/todo/(?P<project_id>[^/]+)/$', user_views.todo_list,
name='user-todo'),
-
url(r'^user/bundles/$', bundle_views.bundles,
- name='bundle-list'),
+ name='user-bundles'),
url(r'^user/link/$', user_views.link,
name='user-link'),
@@ -102,12 +102,12 @@ def setbundle(request):
)
else:
return HttpResponseRedirect(
- django.core.urlresolvers.reverse('bundle-list')
+ django.core.urlresolvers.reverse('user-bundles')
)
@login_required
-def bundles(request):
+def bundles(request, project_id=None):
context = PatchworkRequestContext(request)
if request.method == 'POST':
@@ -120,12 +120,19 @@ def bundles(request):
id=form.cleaned_data['bundle_id'])
bundle.delete()
- bundles = Bundle.objects.filter(owner=request.user)
+ if project_id is None:
+ project = None
+ bundles = Bundle.objects.filter(owner=request.user)
+ else:
+ project = get_object_or_404(Project, linkname=project_id)
+ bundles = Bundle.objects.filter(owner=request.user, project=project)
+
for bundle in bundles:
bundle.delete_form = DeleteBundleForm(auto_id=False,
initial={'bundle_id': bundle.id})
context['bundles'] = bundles
+ context['project'] = project
return render_to_response('patchwork/bundles.html', context)