diff options
-rw-r--r-- | packages/models.py | 9 | ||||
-rw-r--r-- | packages/utils.py | 3 | ||||
-rw-r--r-- | templates/packages/stale_relations.html | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/packages/models.py b/packages/models.py index 6477d41..da8adc5 100644 --- a/packages/models.py +++ b/packages/models.py @@ -28,6 +28,9 @@ class PackageRelation(models.Model): type = models.PositiveIntegerField(choices=TYPE_CHOICES, default=MAINTAINER) created = models.DateTimeField(editable=False) + class Meta: + unique_together = (('pkgbase', 'user', 'type'),) + def get_associated_packages(self): return Package.objects.normal().filter(pkgbase=self.pkgbase) @@ -35,13 +38,13 @@ class PackageRelation(models.Model): packages = self.get_associated_packages() return sorted({p.repo for p in packages}) + def last_update(self): + return Update.objects.filter(pkgbase=self.pkgbase).latest() + def __unicode__(self): return u'%s: %s (%s)' % ( self.pkgbase, self.user, self.get_type_display()) - class Meta: - unique_together = (('pkgbase', 'user', 'type'),) - class SignoffSpecificationManager(models.Manager): def get_from_package(self, pkg): diff --git a/packages/utils.py b/packages/utils.py index 6ec3948..0f47f17 100644 --- a/packages/utils.py +++ b/packages/utils.py @@ -243,7 +243,8 @@ SELECT DISTINCT id cursor = connection.cursor() cursor.execute(sql, [PackageRelation.MAINTAINER]) to_fetch = [row[0] for row in cursor.fetchall()] - relations = PackageRelation.objects.select_related('user').filter( + relations = PackageRelation.objects.select_related( + 'user', 'user__userprofile').filter( id__in=to_fetch) return relations diff --git a/templates/packages/stale_relations.html b/templates/packages/stale_relations.html index 76f3205..f1ad437 100644 --- a/templates/packages/stale_relations.html +++ b/templates/packages/stale_relations.html @@ -52,6 +52,7 @@ <th>User</th> <th>Type</th> <th>Created</th> + <th>Latest Update</th> </tr> </thead> <tbody> @@ -62,6 +63,7 @@ <td>{{ relation.user.get_full_name }}</td> <td>{{ relation.get_type_display }}</td> <td>{{ relation.created }}</td> + <td>{{ relation.last_update.created }}</td> </tr> {% empty %} <tr class="empty"><td colspan="4"><em>No non-existent pkgbase relations.</em></td></tr> |