launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #04924
[Merge] lp:~rvb/launchpad/sync-bug-827608-credit-copy into lp:launchpad
Raphaël Victor Badin has proposed merging lp:~rvb/launchpad/sync-bug-827608-credit-copy into lp:launchpad with lp:~rvb/launchpad/sync-bug-827608-populate-ancestor as a prerequisite.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
Related bugs:
Bug #827608 in Launchpad itself: "Sync requester isn't credited with upload"
https://bugs.launchpad.net/launchpad/+bug/827608
For more details, see:
https://code.launchpad.net/~rvb/launchpad/sync-bug-827608-credit-copy/+merge/74769
This branch is another step towards fixing 827608. The goal of this branch is to refactor _latestSeriesQuery (lib/lp/registry/model/person.py) so that it returns SourcePackagePublishingHistory objects instead of SourcePackageRelease objects. We want that because we want to include (in another branch) in the returned SPPH objects the SPPHs which are the result of copying cross archive or cross distro, actions for which a user should be credit.
The only catch is that the order of the objects in lib/lp/registry/doc/person.txt has changed due to the fact that we order the result by spph.datecreated instead of spph.sourcepackagerelease.dateuploaded.
= Tests =
(lots of tests are affected by this change)
./bin/test -vvc -t person.txt
./bin/test -vvc test_person_view
= QA =
None.
--
https://code.launchpad.net/~rvb/launchpad/sync-bug-827608-credit-copy/+merge/74769
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~rvb/launchpad/sync-bug-827608-credit-copy into lp:launchpad.
=== modified file 'lib/lp/registry/browser/person.py'
--- lib/lp/registry/browser/person.py 2011-09-04 12:46:14 +0000
+++ lib/lp/registry/browser/person.py 2011-09-09 12:41:35 +0000
@@ -326,7 +326,7 @@
from lp.soyuz.interfaces.archive import IArchiveSet
from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
from lp.soyuz.interfaces.binarypackagebuild import IBinaryPackageBuildSet
-from lp.soyuz.interfaces.sourcepackagerelease import ISourcePackageRelease
+from lp.soyuz.interfaces.publishing import ISourcePackagePublishingHistory
COMMASPACE = ', '
@@ -5156,17 +5156,18 @@
return Link('+subscribedquestions', text, summary, icon='question')
-class SourcePackageReleaseWithStats:
- """An ISourcePackageRelease, with extra stats added."""
+class SourcePackagePublishingHistoryWithStats:
+ """An ISourcePackagePublishinghistory, with extra stats added."""
- implements(ISourcePackageRelease)
- delegates(ISourcePackageRelease)
+ implements(ISourcePackagePublishingHistory)
+ delegates(ISourcePackagePublishingHistory)
failed_builds = None
needs_building = None
- def __init__(self, sourcepackage_release, open_bugs, open_questions,
+ def __init__(self, spph, open_bugs, open_questions,
failed_builds, needs_building):
- self.context = sourcepackage_release
+ self.context = spph
+ self.spr = spph.sourcepackagerelease
self.open_bugs = open_bugs
self.open_questions = open_questions
self.failed_builds = failed_builds
@@ -5255,7 +5256,7 @@
return header_message
- def filterPPAPackageList(self, packages):
+ def filterPPAPackageList(self, spphs):
"""Remove packages that the user is not allowed to see.
Given a list of PPA packages, some might be in a PPA that the
@@ -5269,14 +5270,15 @@
# IPerson.getLatestUploadedPPAPackages() but formulating the SQL
# query is virtually impossible!
results = []
- for package in packages:
+ for spph in spphs:
+ package = spph.sourcepackagerelease
# Make a shallow copy to remove the Zope security.
archives = set(package.published_archives)
# Ensure the SPR.upload_archive is also considered.
archives.add(package.upload_archive)
for archive in archives:
if check_permission('launchpad.View', archive):
- results.append(package)
+ results.append(spph)
break
return results
@@ -5329,10 +5331,10 @@
self.uploaded_packages_header_message = header_message
return results
- def _calculateBuildStats(self, package_releases):
+ def _calculateBuildStats(self, spphs):
"""Calculate failed builds and needs_build state.
- For each of the package_releases, calculate the failed builds
+ For each of the spphs, calculate the failed builds
and the needs_build state, and return a tuple of two dictionaries,
one containing the failed builds and the other containing
True or False according to the needs_build state, both keyed by
@@ -5341,14 +5343,15 @@
# Calculate all the failed builds with one query.
build_set = getUtility(IBinaryPackageBuildSet)
package_release_ids = [
- package_release.id for package_release in package_releases]
+ spph.sourcepackagerelease.id for spph in spphs]
all_builds = build_set.getBuildsBySourcePackageRelease(
package_release_ids)
# Make a dictionary of lists of builds keyed by SourcePackageRelease
# and a dictionary of "needs build" state keyed by the same.
builds_by_package = {}
needs_build_by_package = {}
- for package in package_releases:
+ for spph in spphs:
+ package = spph.sourcepackagerelease
builds_by_package[package] = []
needs_build_by_package[package] = False
for build in all_builds:
@@ -5363,11 +5366,11 @@
return (builds_by_package, needs_build_by_package)
- def _addStatsToPackages(self, package_releases):
+ def _addStatsToPackages(self, spphs):
"""Add stats to the given package releases, and return them."""
distro_packages = [
- package_release.distrosourcepackage
- for package_release in package_releases]
+ spph.sourcepackagerelease.distrosourcepackage
+ for spph in spphs]
package_bug_counts = getUtility(IBugTaskSet).getBugCountsForPackages(
self.user, distro_packages)
open_bugs = {}
@@ -5380,15 +5383,17 @@
distro_packages)
builds_by_package, needs_build_by_package = self._calculateBuildStats(
- package_releases)
+ spphs)
return [
- SourcePackageReleaseWithStats(
- package, open_bugs[package.distrosourcepackage],
- package_question_counts[package.distrosourcepackage],
- builds_by_package[package],
- needs_build_by_package[package])
- for package in package_releases]
+ SourcePackagePublishingHistoryWithStats(
+ spph,
+ open_bugs[spph.sourcepackagerelease.distrosourcepackage],
+ package_question_counts[
+ spph.sourcepackagerelease.distrosourcepackage],
+ builds_by_package[spph.sourcepackagerelease],
+ needs_build_by_package[spph.sourcepackagerelease])
+ for spph in spphs]
def setUpBatch(self, packages):
"""Set up the batch navigation for the page being viewed.
=== modified file 'lib/lp/registry/doc/person.txt'
--- lib/lp/registry/doc/person.txt 2011-08-23 13:07:09 +0000
+++ lib/lp/registry/doc/person.txt 2011-09-09 12:41:35 +0000
@@ -958,31 +958,34 @@
question to any PPA.
>>> mark = personset.getByName('mark')
- >>> for sprelease in mark.getLatestMaintainedPackages():
+ >>> for spph in mark.getLatestMaintainedPackages():
+ ... sprelease = spph.sourcepackagerelease
... print (sprelease.name,
... sprelease.upload_distroseries.fullseriesname,
... sprelease.version)
+ (u'mozilla-firefox', u'Ubuntu Warty', u'0.9')
(u'alsa-utils', u'Debian Sid', u'1.0.9a-4')
+ (u'alsa-utils', u'Ubuntu Warty', u'1.0.8-1ubuntu1')
(u'pmount', u'Ubuntu Hoary', u'0.1-2')
+ (u'evolution', u'Ubuntu Hoary', u'1.0')
(u'netapplet', u'Ubuntu Warty', u'0.99.6-1')
(u'netapplet', u'Ubuntu Hoary', u'1.0-1')
- (u'alsa-utils', u'Ubuntu Warty', u'1.0.8-1ubuntu1')
- (u'mozilla-firefox', u'Ubuntu Warty', u'0.9')
- (u'evolution', u'Ubuntu Hoary', u'1.0')
- >>> for sprelease in mark.getLatestUploadedButNotMaintainedPackages():
+ >>> for spph in mark.getLatestUploadedButNotMaintainedPackages():
+ ... sprelease = spph.sourcepackagerelease
... print (sprelease.name,
... sprelease.upload_distroseries.fullseriesname,
... sprelease.version)
+ (u'cdrkit', u'Ubuntu Breezy-autotest', u'1.0')
(u'foobar', u'Ubuntu Breezy-autotest', u'1.0')
- (u'cdrkit', u'Ubuntu Breezy-autotest', u'1.0')
- (u'libstdc++', u'Ubuntu Hoary', u'b8p')
- (u'cnews', u'Ubuntu Hoary', u'cr.g7-37')
(u'linux-source-2.6.15', u'Ubuntu Hoary', u'2.6.15.3')
(u'alsa-utils', u'Ubuntu Hoary', u'1.0.9a-4ubuntu1')
+ (u'cnews', u'Ubuntu Hoary', u'cr.g7-37')
+ (u'libstdc++', u'Ubuntu Hoary', u'b8p')
- >>> mark_spreleases = mark.getLatestUploadedPPAPackages()
- >>> for sprelease in mark_spreleases:
+ >>> mark_spphs = mark.getLatestUploadedPPAPackages()
+ >>> for spph in mark_spphs:
+ ... sprelease = spph.sourcepackagerelease
... print (sprelease.name,
... sprelease.version,
... sprelease.creator.name,
@@ -995,13 +998,14 @@
issue mentioned in bug 157303, where source with same creator and
maintainer got omitted from the results:
- >>> any_spr = mark_spreleases[0]
- >>> naked_spr = removeSecurityProxy(any_spr)
- >>> naked_spr.maintainer = mark
+ >>> any_spph = mark_spphs[0]
+ >>> naked_spph = removeSecurityProxy(any_spph)
+ >>> naked_spph.sourcepackagerelease.maintainer = mark
>>> flush_database_updates()
- >>> mark_spreleases = mark.getLatestUploadedPPAPackages()
- >>> for sprelease in mark_spreleases:
+ >>> mark_spphs = mark.getLatestUploadedPPAPackages()
+ >>> for spph in mark_spphs:
+ ... sprelease = spph.sourcepackagerelease
... print (sprelease.name,
... sprelease.version,
... sprelease.creator.name,
=== modified file 'lib/lp/registry/interfaces/person.py'
--- lib/lp/registry/interfaces/person.py 2011-08-28 08:36:14 +0000
+++ lib/lp/registry/interfaces/person.py 2011-09-09 12:41:35 +0000
@@ -1234,24 +1234,26 @@
"""
def getLatestMaintainedPackages():
- """Return `SourcePackageRelease`s maintained by this person.
+ """Return `SourcePackagePublishingHistory`s related to SPRs maintained
+ by this person.
- This method will only include the latest source package release
+ This method will only include the latest source package publishings
for each source package name, distribution series combination.
"""
def getLatestUploadedButNotMaintainedPackages():
- """Return `SourcePackageRelease`s created by this person but
- not maintained by him.
+ """Return `SourcePackagePublishingHistory`s created by this person
+ but not maintained by him.
- This method will only include the latest source package release
+ This method will only include the latest source package publishings
for each source package name, distribution series combination.
"""
def getLatestUploadedPPAPackages():
- """Return `SourcePackageRelease`s uploaded by this person to any PPA.
+ """Return `SourcePackagePublishingHistory`s related to SPRs uploaded
+ by this person to any PPA.
- This method will only include the latest source package release
+ This method will only include the latest source package publishings
for each source package name, distribution series combination.
"""
=== modified file 'lib/lp/registry/model/person.py'
--- lib/lp/registry/model/person.py 2011-08-26 20:00:37 +0000
+++ lib/lp/registry/model/person.py 2011-09-09 12:41:35 +0000
@@ -33,7 +33,10 @@
datetime,
timedelta,
)
-from operator import attrgetter
+from operator import (
+ attrgetter,
+ itemgetter,
+ )
import random
import re
import subprocess
@@ -297,7 +300,7 @@
from lp.soyuz.interfaces.archivepermission import IArchivePermissionSet
from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
from lp.soyuz.model.archive import Archive
-from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
+from lp.soyuz.model.publishing import SourcePackagePublishingHistory
from lp.translations.model.hastranslationimports import (
HasTranslationImportsMixin,
)
@@ -2598,16 +2601,17 @@
uploader_only=True, ppa_only=True)
def _latestSeriesQuery(self, uploader_only=False, ppa_only=False):
- """Return the sourcepackagereleases (SPRs) related to this person.
+ """Return the sourcepackagepublishinghistory (SPPHs) related to this
+ person.
- :param uploader_only: controls if we are interested in SPRs where
- the person in question is only the uploader (creator) and not the
- maintainer (debian-syncs) if the `ppa_only` parameter is also
- False, or, if the flag is False, it returns all SPR maintained
- by this person.
+ :param uploader_only: controls if we are interested in SPPHs related
+ to SPRs where the person in question is only the uploader
+ (creator) and not the maintainer (debian-syncs) if the `ppa_only`
+ parameter is also False, or, if the flag is False, it returns
+ SPPHs related to SPRs maintained by this person.
:param ppa_only: controls if we are interested only in source
- package releases targeted to any PPAs or, if False, sources
+ package publishings targeted to any PPAs or, if False, sources
targeted to primary archives.
Active 'ppa_only' flag is usually associated with active
@@ -2639,11 +2643,10 @@
query_clauses = " AND ".join(clauses)
query = """
- SourcePackageRelease.id IN (
SELECT DISTINCT ON (upload_distroseries,
sourcepackagerelease.sourcepackagename,
upload_archive)
- sourcepackagerelease.id
+ spph.id
FROM sourcepackagerelease, archive,
sourcepackagepublishinghistory as spph
WHERE
@@ -2652,15 +2655,24 @@
%(more_query_clauses)s
ORDER BY upload_distroseries,
sourcepackagerelease.sourcepackagename,
- upload_archive, dateuploaded DESC
- )
+ upload_archive,
+ dateuploaded DESC, spph.datecreated DESC
""" % dict(more_query_clauses=query_clauses)
- rset = SourcePackageRelease.select(
- query,
- orderBy=['-SourcePackageRelease.dateuploaded',
- 'SourcePackageRelease.id'],
- prejoins=['sourcepackagename', 'maintainer', 'upload_archive'])
+ cur = cursor()
+ cur.execute(query)
+ spph_ids = map(itemgetter(0), cur.fetchall())
+
+ rset = SourcePackagePublishingHistory.select(
+ SourcePackagePublishingHistory.id.is_in(spph_ids),
+ orderBy=[
+ '-datecreated',
+ ],
+ prejoins=[
+ 'sourcepackagerelease.sourcepackagename',
+ 'sourcepackagerelease.maintainer',
+ 'sourcepackagerelease.upload_archive',
+ ])
return rset
=== modified file 'lib/lp/registry/templates/person-macros.pt'
--- lib/lp/registry/templates/person-macros.pt 2011-07-14 05:12:43 +0000
+++ lib/lp/registry/templates/person-macros.pt 2011-09-09 12:41:35 +0000
@@ -120,15 +120,15 @@
</div>
</metal:macro>
-<metal:macro define-macro="sourcepackagerelease-rows">
+<metal:macro define-macro="spph-rows">
<tal:comment replace="nothing">
This macro expects the following variables defined:
- :sourcepackagereleases: A list of SourcePackageRelease objects
+ :spphs: A list of SourcePackagePublishingHistory objects
</tal:comment>
- <tr tal:repeat="sourcepackagerelease sourcepackagereleases">
- <tal:define define="spr sourcepackagerelease;
+ <tr tal:repeat="spph spphs">
+ <tal:define define="spr spph/sourcepackagerelease;
distroseries spr/upload_distroseries">
<td>
<a tal:attributes="href string:${distroseries/distribution/fmt:url}/+source/${spr/name}"
@@ -154,27 +154,27 @@
2005-10-24
</td>
<td>
- <tal:needs_building condition="spr/needs_building">
+ <tal:needs_building condition="spph/needs_building">
Not yet built
</tal:needs_building>
- <tal:built condition="not: spr/needs_building">
- <tal:failed repeat="build spr/failed_builds">
+ <tal:built condition="not: spph/needs_building">
+ <tal:failed repeat="build spph/failed_builds">
<a tal:attributes="href build/fmt:url"
tal:content="build/distro_arch_series/architecturetag" />
</tal:failed>
- <tal:not_failed condition="not: spr/failed_builds">
+ <tal:not_failed condition="not: spph/failed_builds">
None
</tal:not_failed>
</tal:built>
</td>
<td style="text-align: right">
<a tal:attributes="href string:${spr/distrosourcepackage/fmt:url}/+bugs"
- tal:content="spr/open_bugs">
+ tal:content="spph/open_bugs">
</a>
</td>
<td style="text-align: right">
<a tal:attributes="href string:${spr/distrosourcepackage/fmt:url}/+questions"
- tal:content="spr/open_questions">
+ tal:content="spph/open_questions">
</a>
</td>
</tal:define>
=== modified file 'lib/lp/registry/templates/person-related-software.pt'
--- lib/lp/registry/templates/person-related-software.pt 2010-09-29 20:59:15 +0000
+++ lib/lp/registry/templates/person-related-software.pt 2011-09-09 12:41:35 +0000
@@ -21,8 +21,8 @@
<div id="packages">
<tal:maintained-packages
- define="sourcepackagereleases view/latest_maintained_packages_with_stats"
- condition="sourcepackagereleases">
+ define="spphs view/latest_maintained_packages_with_stats"
+ condition="spphs">
<div class="top-portlet">
<h2>Maintained packages</h2>
@@ -41,15 +41,15 @@
</tr>
</thead>
<tbody>
- <div metal:use-macro="context/@@+person-macros/sourcepackagerelease-rows" />
+ <div metal:use-macro="context/@@+person-macros/spph-rows" />
</tbody>
</table>
</div>
</tal:maintained-packages>
<tal:uploaded-packages
- define="sourcepackagereleases view/latest_uploaded_but_not_maintained_packages_with_stats"
- condition="sourcepackagereleases">
+ define="spphs view/latest_uploaded_but_not_maintained_packages_with_stats"
+ condition="spphs">
<div class="top-portlet">
<h2>Uploaded packages</h2>
@@ -68,14 +68,14 @@
</tr>
</thead>
- <div metal:use-macro="context/@@+person-macros/sourcepackagerelease-rows" />
+ <div metal:use-macro="context/@@+person-macros/spph-rows" />
</table>
</div>
</tal:uploaded-packages>
<tal:ppa-packages
- define="sourcepackagereleases view/latest_uploaded_ppa_packages_with_stats"
- condition="sourcepackagereleases">
+ define="spphs view/latest_uploaded_ppa_packages_with_stats"
+ condition="spphs">
<div class="top-portlet">
<h2>PPA packages</h2>
@@ -94,7 +94,7 @@
</tr>
</thead>
- <div metal:use-macro="template/macros/sourcepackagerelease-ppa-rows" />
+ <div metal:use-macro="template/macros/spph-ppa-rows" />
</table>
</div>
</tal:ppa-packages>
@@ -153,14 +153,14 @@
</div>
<metal:macros fill-slot="bogus">
-<metal:macro define-macro="sourcepackagerelease-ppa-rows">
+<metal:macro define-macro="spph-ppa-rows">
<tal:comment replace="nothing">
This macro expects the following variables defined:
- :sourcepackagereleases: A list of SourcePackageRelease objects
+ :spphs: A list of SourcePackagePublishingHistory objects
</tal:comment>
- <tr tal:repeat="sourcepackagerelease sourcepackagereleases"
+ <tr tal:repeat="spph spphs"
class="ppa_row">
- <tal:block define="spr sourcepackagerelease;
+ <tal:block define="spr spph/sourcepackagerelease;
distroseries spr/upload_distroseries;
ppa spr/upload_archive">
<td tal:content="spr/sourcepackagename/name">
@@ -180,15 +180,15 @@
2005-10-24
</td>
<td>
- <tal:block condition="spr/needs_building">
+ <tal:block condition="spph/needs_building">
Not yet built
</tal:block>
- <tal:block condition="not: spr/needs_building">
- <tal:block repeat="build spr/failed_builds">
+ <tal:block condition="not: spph/needs_building">
+ <tal:block repeat="build spph/failed_builds">
<a tal:attributes="href build/fmt:url"
tal:content="build/distro_arch_series/architecturetag" />
</tal:block>
- <tal:block condition="not: spr/failed_builds">
+ <tal:block condition="not: spph/failed_builds">
None
</tal:block>
</tal:block>
=== modified file 'lib/lp/soyuz/templates/person-maintained-packages.pt'
--- lib/lp/soyuz/templates/person-maintained-packages.pt 2009-09-08 14:37:17 +0000
+++ lib/lp/soyuz/templates/person-maintained-packages.pt 2011-09-09 12:41:35 +0000
@@ -25,9 +25,9 @@
replace="structure view/batchnav/@@+navigation-links-upper" />
<tal:maintained-packages
- define="sourcepackagereleases view/batch">
+ define="spphs view/batch">
- <table class="listing" condition="sourcepackagereleases">
+ <table class="listing" condition="spphs">
<thead>
<tr>
<th>Name</th>
@@ -40,14 +40,14 @@
</tr>
</thead>
<tbody>
- <div metal:use-macro="context/@@+person-macros/sourcepackagerelease-rows"/>
+ <div metal:use-macro="context/@@+person-macros/spph-rows"/>
</tbody>
</table>
<tal:navigation_bottom
replace="structure view/batchnav/@@+navigation-links-lower" />
- <tal:no_packages condition="not: sourcepackagereleases">
+ <tal:no_packages condition="not: spphs">
<tal:name replace="context/fmt:displayname"/>
does not maintain any packages.
</tal:no_packages>
=== modified file 'lib/lp/soyuz/templates/person-ppa-packages.pt'
--- lib/lp/soyuz/templates/person-ppa-packages.pt 2010-06-10 08:29:19 +0000
+++ lib/lp/soyuz/templates/person-ppa-packages.pt 2011-09-09 12:41:35 +0000
@@ -25,9 +25,9 @@
replace="structure view/batchnav/@@+navigation-links-upper" />
<tal:ppa-packages
- define="sourcepackagereleases view/batch">
+ define="spphs view/batch">
- <table class="listing" condition="sourcepackagereleases">
+ <table class="listing" condition="spphs">
<thead>
<tr>
<th>Name</th>
@@ -38,14 +38,14 @@
</tr>
</thead>
<tbody>
- <div metal:use-macro="template/macros/sourcepackagerelease-ppa-rows" />
+ <div metal:use-macro="template/macros/spph-ppa-rows" />
</tbody>
</table>
<tal:navigation_bottom
replace="structure view/batchnav/@@+navigation-links-lower" />
- <tal:no_packages condition="not: sourcepackagereleases">
+ <tal:no_packages condition="not: spphs">
<tal:name replace="context/fmt:displayname"/> has no related PPA packages.
</tal:no_packages>
@@ -55,14 +55,14 @@
</div>
<metal:macros fill-slot="bogus">
-<metal:macro define-macro="sourcepackagerelease-ppa-rows">
+<metal:macro define-macro="spph-ppa-rows">
<tal:comment replace="nothing">
This macro expects the following variables defined:
- :sourcepackagereleases: A list of SourcePackageRelease objects
+ :spphs: A list of SourcePackagePublishingHistory objects
</tal:comment>
- <tr tal:repeat="sourcepackagerelease sourcepackagereleases"
+ <tr tal:repeat="spph spphs"
class="ppa_row">
- <tal:block define="spr sourcepackagerelease;
+ <tal:block define="spr spph/sourcepackagerelease;
distroseries spr/upload_distroseries;
ppa spr/upload_archive">
<td tal:content="spr/sourcepackagename/name">
@@ -82,15 +82,15 @@
2005-10-24
</td>
<td>
- <tal:block condition="spr/needs_building">
+ <tal:block condition="spph/needs_building">
Not yet built
</tal:block>
- <tal:block condition="not: spr/needs_building">
- <tal:block repeat="build spr/failed_builds">
+ <tal:block condition="not: spph/needs_building">
+ <tal:block repeat="build spph/failed_builds">
<a tal:attributes="href build/fmt:url"
tal:content="build/distro_arch_series/architecturetag" />
</tal:block>
- <tal:block condition="not: spr/failed_builds">
+ <tal:block condition="not: spph/failed_builds">
None
</tal:block>
</tal:block>
=== modified file 'lib/lp/soyuz/templates/person-uploaded-packages.pt'
--- lib/lp/soyuz/templates/person-uploaded-packages.pt 2009-09-08 14:37:17 +0000
+++ lib/lp/soyuz/templates/person-uploaded-packages.pt 2011-09-09 12:41:35 +0000
@@ -25,9 +25,9 @@
replace="structure view/batchnav/@@+navigation-links-upper" />
<tal:uploaded-packages
- define="sourcepackagereleases view/batch">
+ define="spphs view/batch">
- <table class="listing" condition="sourcepackagereleases">
+ <table class="listing" condition="spphs">
<thead>
<tr>
<th>Name</th>
@@ -40,14 +40,14 @@
</tr>
</thead>
<tbody>
- <div metal:use-macro="context/@@+person-macros/sourcepackagerelease-rows" />
+ <div metal:use-macro="context/@@+person-macros/spph-rows" />
</tbody>
</table>
<tal:navigation_bottom
replace="structure view/batchnav/@@+navigation-links-lower" />
- <tal:no_packages condition="not: sourcepackagereleases">
+ <tal:no_packages condition="not: spphs">
<tal:name replace="context/fmt:displayname"/> has not uploaded any packages.
</tal:no_packages>