297
297
from lp.soyuz.interfaces.archivepermission import IArchivePermissionSet
298
298
from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
299
299
from lp.soyuz.model.archive import Archive
300
from lp.soyuz.model.publishing import SourcePackagePublishingHistory
300
301
from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
301
302
from lp.translations.model.hastranslationimports import (
302
303
HasTranslationImportsMixin,
2586
2587
"""See `IPerson`."""
2587
2588
return self._latestSeriesQuery()
2590
def getLatestSynchronisedPublishings(self):
2591
"""See `IPerson`."""
2593
SourcePackagePublishingHistory.id IN (
2594
SELECT DISTINCT ON (spph.distroseries,
2595
spr.sourcepackagename)
2598
SourcePackagePublishingHistory as spph, archive,
2599
SourcePackagePublishingHistory as ancestor_spph,
2600
SourcePackageRelease as spr
2602
spph.sourcepackagerelease = spr.id AND
2603
spph.creator = %(creator)s AND
2604
spph.ancestor = ancestor_spph.id AND
2605
spph.archive = archive.id AND
2606
ancestor_spph.archive != spph.archive AND
2607
archive.purpose = %(archive_purpose)s
2608
ORDER BY spph.distroseries,
2609
spr.sourcepackagename,
2610
spph.datecreated DESC,
2614
creator=quote(self.id),
2615
archive_purpose=quote(ArchivePurpose.PRIMARY),
2618
return SourcePackagePublishingHistory.select(
2620
orderBy=['-SourcePackagePublishingHistory.datecreated',
2621
'-SourcePackagePublishingHistory.id'],
2622
prejoins=['sourcepackagerelease', 'archive'])
2589
2624
def getLatestUploadedButNotMaintainedPackages(self):
2590
2625
"""See `IPerson`."""
2591
2626
return self._latestSeriesQuery(uploader_only=True)