From 5e85c5ac9ed09551d65ec07767094770d248f3b1 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 29 Jun 2011 10:52:30 -0500 Subject: Move set_created_field() to shared utils class Signed-off-by: Dan McGee --- releng/models.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'releng/models.py') diff --git a/releng/models.py b/releng/models.py index 07ede1c5..5510db6a 100644 --- a/releng/models.py +++ b/releng/models.py @@ -1,6 +1,7 @@ -from datetime import datetime - from django.db import models +from django.db.models.signals import pre_save + +from main.utils import set_created_field class IsoOption(models.Model): name = models.CharField(max_length=200) @@ -104,14 +105,6 @@ class Test(models.Model): success = models.BooleanField() comments = models.TextField(null=True, blank=True) -def set_created_field(sender, **kwargs): - # We use this same callback for both Isos and Tests - obj = kwargs['instance'] - if not obj.created: - obj.created = datetime.utcnow() - -from django.db.models.signals import pre_save - pre_save.connect(set_created_field, sender=Iso, dispatch_uid="releng.models") pre_save.connect(set_created_field, sender=Test, -- cgit v1.2.3-2-g168b From f7626c05719ebb4362836d2ba7e1d297bd8a92a6 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 16 Aug 2011 14:39:23 -0500 Subject: Add a removed date for releng ISOs Signed-off-by: Dan McGee --- releng/models.py | 1 + 1 file changed, 1 insertion(+) (limited to 'releng/models.py') diff --git a/releng/models.py b/releng/models.py index 5510db6a..ceac948b 100644 --- a/releng/models.py +++ b/releng/models.py @@ -45,6 +45,7 @@ class RollbackOption(IsoOption): class Iso(models.Model): name = models.CharField(max_length=255) created = models.DateTimeField(editable=False) + removed = models.DateTimeField(null=True, blank=True, default=None) active = models.BooleanField(default=True) def __unicode__(self): -- cgit v1.2.3-2-g168b From a489f355ec52dd54946bc7476615aa7cab9e384c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 17 Aug 2011 07:57:41 -0500 Subject: Implement get_absolute_url for Iso model Signed-off-by: Dan McGee --- releng/models.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'releng/models.py') diff --git a/releng/models.py b/releng/models.py index ceac948b..3afef55e 100644 --- a/releng/models.py +++ b/releng/models.py @@ -1,3 +1,4 @@ +from django.core.urlresolvers import reverse from django.db import models from django.db.models.signals import pre_save @@ -48,6 +49,9 @@ class Iso(models.Model): removed = models.DateTimeField(null=True, blank=True, default=None) active = models.BooleanField(default=True) + def get_absolute_url(self): + return reverse('releng-results-iso', args=[self.pk]) + def __unicode__(self): return self.name -- cgit v1.2.3-2-g168b From c80afa08c7aec23984e84bfb3ab5683c9c392115 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 17 Aug 2011 09:01:07 -0500 Subject: releng: refactor results overview page for performance Use some annotation stuff and trickeration to reduce the number of queries we need on the results overview page by quite a bit. Signed-off-by: Dan McGee --- releng/models.py | 26 -------------------------- 1 file changed, 26 deletions(-) (limited to 'releng/models.py') diff --git a/releng/models.py b/releng/models.py index 3afef55e..a958288b 100644 --- a/releng/models.py +++ b/releng/models.py @@ -10,36 +10,10 @@ class IsoOption(models.Model): def __unicode__(self): return self.name - def get_test_result(self, success): - try: - return self.test_set.filter(success=success).select_related( - 'iso').latest('iso__id').iso - except Test.DoesNotExist: - return None - - def get_last_success(self): - return self.get_test_result(True) - - def get_last_failure(self): - return self.get_test_result(False) - class Meta: abstract = True class RollbackOption(IsoOption): - def get_rollback_test_result(self, success): - try: - return self.rollback_test_set.filter(success=success).select_related( - 'iso').latest('iso__id').iso - except Test.DoesNotExist: - return None - - def get_last_rollback_success(self): - return self.get_rollback_test_result(True) - - def get_last_rollback_failure(self): - return self.get_rollback_test_result(False) - class Meta: abstract = True -- cgit v1.2.3-2-g168b From c5b370f432215eb69dabd6bcb911b6429b16447a Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 22 Aug 2011 16:42:06 -0500 Subject: Admin setup tweaks Signed-off-by: Dan McGee --- releng/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'releng/models.py') diff --git a/releng/models.py b/releng/models.py index a958288b..56187766 100644 --- a/releng/models.py +++ b/releng/models.py @@ -29,11 +29,15 @@ class Iso(models.Model): def __unicode__(self): return self.name + class Meta: + verbose_name = 'ISO' + class Architecture(IsoOption): pass class IsoType(IsoOption): - pass + class Meta: + verbose_name = 'ISO type' class BootType(IsoOption): pass -- cgit v1.2.3-2-g168b