... > === modified file 'lib/lp/registry/browser/sourcepackage.py' > --- lib/lp/registry/browser/sourcepackage.py 2010-01-29 15:03:49 +0000 > +++ lib/lp/registry/browser/sourcepackage.py 2010-02-11 20:08:17 +0000 ... > @@ -349,3 +348,22 @@ > 'The project %s was linked to this source package.' % > upstream.displayname) > self.next_url = self.request.getURL() > + > + @property > + def has_bugtracker(self): > + """Does the product have a bugtracker set?""" > + def getTrackerName(bugtracker): > + if bugtracker is None: > + return False > + else: > + return True > + product = self.context.productseries.product > + if product.official_malone: > + return True > + bugtracker = product.bugtracker > + if bugtracker is None: > + if product.project is not None: > + bugtracker = product.project.bugtracker > + if bugtracker is None: > + return False > + return True I see that I underestimated the complexity of this connection. I think this needs better test coverage. I think a test of a new factory-made product that gets a project without a bug tracker will work. Change the official_malone and bug tracker a few times to show that has_bugtracker returns the expected state. ... > === modified file 'lib/lp/registry/templates/sourcepackage-portlet-associations.pt' > --- lib/lp/registry/templates/sourcepackage-portlet-associations.pt 2010-02-01 13:13:23 +0000 > +++ lib/lp/registry/templates/sourcepackage-portlet-associations.pt 2010-02-11 20:08:17 +0000 > @@ -5,37 +5,51 @@ > omit-tag=""> > >