From 3181e970ce9dcc4fd996499ee536e4c2454e89dd Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 23 Feb 2011 12:09:29 -0600 Subject: Add stale package relations status screen For now it is read only. Display a few tables of various ways of detecting stale package relations. These include inactive users, pkgbase values that no longer exist, and users that are listed as maintainers that don't have the proper permissions for that package anymore. Signed-off-by: Dan McGee --- packages/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'packages/models.py') diff --git a/packages/models.py b/packages/models.py index 0afdee0..5dbdea4 100644 --- a/packages/models.py +++ b/packages/models.py @@ -19,6 +19,16 @@ class PackageRelation(models.Model): user = models.ForeignKey(User, related_name="package_relations") type = models.PositiveIntegerField(choices=TYPE_CHOICES, default=MAINTAINER) + def get_associated_packages(self): + # TODO: delayed import to avoid circular reference + from main.models import Package + return Package.objects.filter(pkgbase=self.pkgbase).select_related( + 'arch', 'repo') + + def repositories(self): + packages = self.get_associated_packages() + return sorted(set([p.repo for p in packages])) + def __unicode__(self): return "%s: %s (%s)" % ( self.pkgbase, self.user, self.get_type_display()) -- cgit v1.2.3-24-g4f1b