From patchwork Mon Oct 3 16:48:17 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zygmunt Krynicki X-Patchwork-Id: 4505 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 4BD8923EF6 for ; Mon, 3 Oct 2011 16:48:20 +0000 (UTC) Received: from mail-yx0-f180.google.com (mail-yx0-f180.google.com [209.85.213.180]) by fiordland.canonical.com (Postfix) with ESMTP id 05D8EA189FC for ; Mon, 3 Oct 2011 16:48:19 +0000 (UTC) Received: by yxm34 with SMTP id 34so5742255yxm.11 for ; Mon, 03 Oct 2011 09:48:19 -0700 (PDT) Received: by 10.223.94.134 with SMTP id z6mr206574fam.8.1317660499036; Mon, 03 Oct 2011 09:48:19 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.152.23.170 with SMTP id n10cs20551laf; Mon, 3 Oct 2011 09:48:18 -0700 (PDT) Received: by 10.14.17.162 with SMTP id j34mr77989eej.102.1317660497950; Mon, 03 Oct 2011 09:48:17 -0700 (PDT) Received: from indium.canonical.com (indium.canonical.com. [91.189.90.7]) by mx.google.com with ESMTPS id t9si11024060weq.104.2011.10.03.09.48.17 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 03 Oct 2011 09:48:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of bounces@canonical.com designates 91.189.90.7 as permitted sender) client-ip=91.189.90.7; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of bounces@canonical.com designates 91.189.90.7 as permitted sender) smtp.mail=bounces@canonical.com Received: from ackee.canonical.com ([91.189.89.26]) by indium.canonical.com with esmtp (Exim 4.71 #1 (Debian)) id 1RAlgf-0006Hg-DM for ; Mon, 03 Oct 2011 16:48:17 +0000 Received: from ackee.canonical.com (localhost [127.0.0.1]) by ackee.canonical.com (Postfix) with ESMTP id 5A039E2474 for ; Mon, 3 Oct 2011 16:48:17 +0000 (UTC) MIME-Version: 1.0 X-Launchpad-Project: lava-server X-Launchpad-Branch: ~linaro-validation/lava-server/trunk X-Launchpad-Message-Rationale: Subscriber X-Launchpad-Branch-Revision-Number: 249 X-Launchpad-Notification-Type: branch-revision To: Linaro Patch Tracker From: noreply@launchpad.net Subject: [Branch ~linaro-validation/lava-server/trunk] Rev 249: Add bread crumbs to all project views Message-Id: <20111003164817.1881.30577.launchpad@ackee.canonical.com> Date: Mon, 03 Oct 2011 16:48:17 -0000 Reply-To: noreply@launchpad.net Sender: bounces@canonical.com Errors-To: bounces@canonical.com Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="14071"; Instance="launchpad-lazr.conf" X-Launchpad-Hash: 626bfb6a8f5e7a2507c3c67c90217e322616bedf ------------------------------------------------------------ revno: 249 committer: Zygmunt Krynicki branch nick: trunk timestamp: Mon 2011-10-03 16:05:03 +0200 message: Add bread crumbs to all project views modified: lava_projects/views.py --- lp:lava-server https://code.launchpad.net/~linaro-validation/lava-server/trunk You are subscribed to branch lp:lava-server. To unsubscribe from this branch go to https://code.launchpad.net/~linaro-validation/lava-server/trunk/+edit-subscription === modified file 'lava_projects/views.py' --- lava_projects/views.py 2011-10-03 12:35:31 +0000 +++ lava_projects/views.py 2011-10-03 14:05:03 +0000 @@ -49,14 +49,21 @@ return HttpResponse(t.render(c)) +@BreadCrumb("List of all projects", project_root) def project_list(request): return object_list( request, queryset=Project.objects.accessible_by_principal(request.user), template_name="lava_projects/project_list.html", + extra_context={ + 'bread_crumb_trail': BreadCrumbTrail.leading_to(project_list) + }, template_object_name="project") +@BreadCrumb("{project}", + parent=project_root, + needs=['project_identifier']) def project_detail(request, identifier): # A get by identifier, looking at renames, if needed. try: @@ -81,10 +88,16 @@ 'project': project, 'former_identifier': former_identifier, 'belongs_to_user': project.is_owned_by(request.user), + 'bread_crumb_trail': BreadCrumbTrail.leading_to( + project_detail, + project=project, + project_identifier=project.identifier) }) return HttpResponse(t.render(c)) +@BreadCrumb("Register new project", + parent=project_root) @login_required def project_register(request): if request.method == 'POST': @@ -109,10 +122,14 @@ t = loader.get_template(template_name) c = RequestContext(request, { 'form': form, + 'bread_crumb_trail': BreadCrumbTrail.leading_to(project_register), }) return HttpResponse(t.render(c)) +@BreadCrumb("Reconfigure", + parent=project_detail, + needs=['project_identifier']) @login_required def project_update(request, identifier): project = get_object_or_404( @@ -143,10 +160,17 @@ c = RequestContext(request, { 'form': form, 'project': project, + 'bread_crumb_trail': BreadCrumbTrail.leading_to( + project_update, + project=project, + project_identifier=project.identifier) }) return HttpResponse(t.render(c)) +@BreadCrumb("Change identifier", + parent=project_update, + needs=['project_identifier']) @login_required def project_rename(request, identifier): project = get_object_or_404( @@ -181,5 +205,9 @@ c = RequestContext(request, { 'form': form, 'project': project, + 'bread_crumb_trail': BreadCrumbTrail.leading_to( + project_rename, + project=project, + project_identifier=project.identifier) }) return HttpResponse(t.render(c))