diff options
author | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-05-12 15:52:08 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-05-12 15:52:08 -0300 |
commit | 57804e82978727001fc62e5b1106d69531a9cd97 (patch) | |
tree | 770756414046565af864487a0020f2ef7be8df0a /packages/models.py | |
parent | 37075e5f3423a69fec03faf31ce2133c55374dfc (diff) | |
parent | f6464da0e14047e9db803f4b40c18ba644e75f24 (diff) |
Merge branch 'master' of git://projects.archlinux.org/archweb
Conflicts:
templates/packages/packages_list.html
templates/public/index.html
Diffstat (limited to 'packages/models.py')
-rw-r--r-- | packages/models.py | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/packages/models.py b/packages/models.py index 5dbdea45..79e8abca 100644 --- a/packages/models.py +++ b/packages/models.py @@ -45,7 +45,7 @@ class PackageGroup(models.Model): name = models.CharField(max_length=255) def __unicode__(self): - return "%s: %s" % (name, pkg) + return "%s: %s" % (self.name, self.pkg) class License(models.Model): pkg = models.ForeignKey('main.Package', related_name='licenses') @@ -57,6 +57,50 @@ class License(models.Model): class Meta: ordering = ['name'] +class Conflict(models.Model): + pkg = models.ForeignKey('main.Package', related_name='conflicts') + name = models.CharField(max_length=255, db_index=True) + comparison = models.CharField(max_length=255, default='') + version = models.CharField(max_length=255, default='') + + def __unicode__(self): + if self.version: + return u'%s%s%s' % (self.name, self.comparison, self.version) + return self.name + + class Meta: + ordering = ['name'] + +class Provision(models.Model): + pkg = models.ForeignKey('main.Package', related_name='provides') + name = models.CharField(max_length=255, db_index=True) + # comparison must be '=' for provides + comparison = '=' + version = models.CharField(max_length=255, default='') + + def __unicode__(self): + if self.version: + return u'%s=%s' % (self.name, self.version) + return self.name + + class Meta: + ordering = ['name'] + +class Replacement(models.Model): + pkg = models.ForeignKey('main.Package', related_name='replaces') + name = models.CharField(max_length=255, db_index=True) + comparison = models.CharField(max_length=255, default='') + version = models.CharField(max_length=255, default='') + + def __unicode__(self): + if self.version: + return u'%s%s%s' % (self.name, self.comparison, self.version) + return self.name + + class Meta: + ordering = ['name'] + + def remove_inactive_maintainers(sender, instance, created, **kwargs): # instance is an auth.models.User; we want to remove any existing # maintainer relations if the user is no longer active |