From patchwork Wed Nov 9 00:12:13 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zygmunt Krynicki X-Patchwork-Id: 4961 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 8882C23E13 for ; Wed, 9 Nov 2011 00:12:15 +0000 (UTC) Received: from mail-fx0-f52.google.com (mail-fx0-f52.google.com [209.85.161.52]) by fiordland.canonical.com (Postfix) with ESMTP id 71B3EA18029 for ; Wed, 9 Nov 2011 00:12:15 +0000 (UTC) Received: by faan26 with SMTP id n26so1613796faa.11 for ; Tue, 08 Nov 2011 16:12:15 -0800 (PST) Received: by 10.152.145.233 with SMTP id sx9mr72803lab.6.1320797535254; Tue, 08 Nov 2011 16:12:15 -0800 (PST) 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.14.103 with SMTP id o7cs110486lac; Tue, 8 Nov 2011 16:12:15 -0800 (PST) Received: by 10.180.105.9 with SMTP id gi9mr110145wib.21.1320797533584; Tue, 08 Nov 2011 16:12:13 -0800 (PST) Received: from indium.canonical.com (indium.canonical.com. [91.189.90.7]) by mx.google.com with ESMTPS id i7si1784068wiz.6.2011.11.08.16.12.13 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 08 Nov 2011 16:12:13 -0800 (PST) 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 1RNvm1-0003MW-3G for ; Wed, 09 Nov 2011 00:12:13 +0000 Received: from ackee.canonical.com (localhost [127.0.0.1]) by ackee.canonical.com (Postfix) with ESMTP id 0ACA9E04DF for ; Wed, 9 Nov 2011 00:12:13 +0000 (UTC) MIME-Version: 1.0 X-Launchpad-Project: lava-scheduler X-Launchpad-Branch: ~linaro-validation/lava-scheduler/trunk X-Launchpad-Message-Rationale: Subscriber X-Launchpad-Branch-Revision-Number: 91 X-Launchpad-Notification-Type: branch-revision To: Linaro Patch Tracker From: noreply@launchpad.net Subject: [Branch ~linaro-validation/lava-scheduler/trunk] Rev 91: Scheduler lifting: Message-Id: <20111109001213.12469.34294.launchpad@ackee.canonical.com> Date: Wed, 09 Nov 2011 00:12:13 -0000 Reply-To: noreply@launchpad.net Sender: bounces@canonical.com Errors-To: bounces@canonical.com Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="14263"; Instance="launchpad-lazr.conf" X-Launchpad-Hash: 37cc2c291ea12c04947f7af9af19eec5fc0222db ------------------------------------------------------------ revno: 91 committer: Zygmunt Krynicki branch nick: lava-scheduler timestamp: Fri 2011-10-28 02:24:13 +0200 message: Scheduler lifting: 1) Apply breadcrumbs to placese user can visit and drop manual breadcrumbs 2) Use get_objeect_or_404 whenever we fetch something by id 3) Use URL names instead of view names everywhere 4) Add permalinks to Device and TestJob and use them instead of raw links 5) Use easier form of redirect 6) Move recent_test_jobs for a device to Device model modified: lava_scheduler_app/models.py lava_scheduler_app/templates/lava_scheduler_app/_content.html lava_scheduler_app/templates/lava_scheduler_app/alljobs.html lava_scheduler_app/templates/lava_scheduler_app/device.html lava_scheduler_app/templates/lava_scheduler_app/index.html lava_scheduler_app/templates/lava_scheduler_app/job.html lava_scheduler_app/urls.py lava_scheduler_app/views.py --- lp:lava-scheduler https://code.launchpad.net/~linaro-validation/lava-scheduler/trunk You are subscribed to branch lp:lava-scheduler. To unsubscribe from this branch go to https://code.launchpad.net/~linaro-validation/lava-scheduler/trunk/+edit-subscription === modified file 'lava_scheduler_app/models.py' --- lava_scheduler_app/models.py 2011-10-19 20:45:42 +0000 +++ lava_scheduler_app/models.py 2011-10-28 00:24:13 +0000 @@ -57,6 +57,25 @@ verbose_name = _(u"Device status"), ) + def __unicode__(self): + return self.hostname + + @models.permalink + def get_absolute_url(self): + return ("lava.scheduler.device.detail", [self.pk]) + + def recent_jobs(self): + return TestJob.objects.select_related( + "actual_device", + "requested_device", + "requested_device_type", + "submitter", + ).filter( + actual_device=self + ).order_by( + '-start_time' + ) + def can_admin(self, user): return user.has_perm('lava_scheduler_app.change_device') @@ -71,9 +90,6 @@ self.status = self.IDLE self.save() - def __unicode__(self): - return self.hostname - #@classmethod #def find_devices_by_type(cls, device_type): # return device_type.device_set.all() @@ -169,6 +185,10 @@ r += " for %s" % (self.requested_device.hostname,) return r + @models.permalink + def get_absolute_url(self): + return ("lava.scheduler.job.detail", [self.pk]) + @classmethod def from_json_and_user(cls, json_data, user): job_data = simplejson.loads(json_data) === modified file 'lava_scheduler_app/templates/lava_scheduler_app/_content.html' --- lava_scheduler_app/templates/lava_scheduler_app/_content.html 2011-08-01 16:15:44 +0000 +++ lava_scheduler_app/templates/lava_scheduler_app/_content.html 2011-10-28 00:24:13 +0000 @@ -23,9 +23,3 @@ }; {% endblock %} - - -{% block breadcrumbs %} -{{ block.super }} -
  • Scheduler
  • -{% endblock %} === modified file 'lava_scheduler_app/templates/lava_scheduler_app/alljobs.html' --- lava_scheduler_app/templates/lava_scheduler_app/alljobs.html 2011-10-11 04:17:40 +0000 +++ lava_scheduler_app/templates/lava_scheduler_app/alljobs.html 2011-10-28 00:24:13 +0000 @@ -1,10 +1,5 @@ {% extends "lava_scheduler_app/_content.html" %} -{% block breadcrumbs %} -{{ block.super }} -
  • All Jobs
  • -{% endblock %} - {% block content %}

    All Jobs

    @@ -23,14 +18,14 @@ {% for job in jobs %} - {{ job.id }} + {{ job.id }} {{ job.get_status_display }} - {% if job.actual_device.pk %} - - {{ job.actual_device }} - {% else %}{% if job.requested_device.pk %} - - {{ job.requested_device }} + {% if job.actual_device %} + {{ job.actual_device }} + {% else %}{% if job.requested_device %} + {{ job.requested_device }} {% else %} {{ job.requested_device_type|default:'' }} {% endif %}{% endif %} === modified file 'lava_scheduler_app/templates/lava_scheduler_app/device.html' --- lava_scheduler_app/templates/lava_scheduler_app/device.html 2011-08-22 05:20:36 +0000 +++ lava_scheduler_app/templates/lava_scheduler_app/device.html 2011-10-28 00:24:13 +0000 @@ -13,18 +13,18 @@ {% endblock %} {% block content %} -

    Device {{ device.hostname }}

    +

    Device {{ device }}

    {% if show_maintenance %}
    + action="{% url lava.scheduler.device.maintenance device.pk %}"> {% csrf_token %}
    {% endif %} {% if show_online %}
    + action="{% url lava.scheduler.device.online device.pk %}"> {% csrf_token %}
    @@ -41,15 +41,11 @@
    Status:
    {{ device.get_status_display }}
    - -{% if device.current_job %} + {% if device.current_job %}
    Currently running:
    -
    - - Job {{ device.current_job.id }} - -
    -{% endif %} +
    Job {{ device.current_job }}
    + {% endif %}
    @@ -66,9 +62,9 @@ - {% for job in recent_jobs %} + {% for job in recent_job_list %} - {{ job.id }} + {{ job.id }} {{ job.get_status_display }} {{ job.actual_device|default:'' }} {{ job.submitter }} === modified file 'lava_scheduler_app/templates/lava_scheduler_app/index.html' --- lava_scheduler_app/templates/lava_scheduler_app/index.html 2011-10-11 04:17:40 +0000 +++ lava_scheduler_app/templates/lava_scheduler_app/index.html 2011-10-28 00:24:13 +0000 @@ -15,9 +15,7 @@ {% for device in devices %} - - {{ device.hostname }} - + {{ device.hostname }} {{ device.device_type }} {{ device.get_status_display }} @@ -42,14 +40,14 @@ {% for job in jobs %} - {{ job.id }} + {{ job.id }} {{ job.get_status_display }} - {% if job.actual_device.pk %} - - {{ job.actual_device }} - {% else %}{% if job.requested_device.pk %} - - {{ job.requested_device }} + {% if job.actual_device %} + {{ job.actual_device }} + {% else %}{% if job.requested_device %} + {{ job.requested_device }} {% else %} {{ job.requested_device_type|default:'' }} {% endif %}{% endif %} @@ -61,7 +59,7 @@ -All jobs +All jobs