@@ -279,14 +279,10 @@ def change_profile(request):
279279 'profile_form' : profile_form })
280280
281281
282- def get_report_packages (report , username ):
283- packages = Package .objects .normal ()
282+ def get_report_packages (report , packages , username ):
284283 if report .slug in ('uncompressed-man' , 'uncompressed-info' ):
285- packages = report .packages (packages , username )
286- else :
287- packages = report .packages (packages )
288-
289- return packages
284+ return report .packages (packages , username )
285+ return report .packages (packages )
290286
291287
292288@login_required
@@ -295,7 +291,14 @@ def report_pkgbases(request, report_name: str, username: str | None = None) -> H
295291 if report is None :
296292 raise Http404
297293
298- packages = get_report_packages (report , username )
294+ packages = Package .objects .normal ()
295+ if username :
296+ user = get_object_or_404 (User , username = username , is_active = True )
297+ maintained = PackageRelation .objects .filter (
298+ user = user , type = PackageRelation .MAINTAINER ).values ('pkgbase' )
299+ packages = packages .filter (pkgbase__in = maintained )
300+
301+ packages = get_report_packages (report , packages , username )
299302 pkgbases = sorted ({pkg .pkgbase for pkg in packages })
300303 return HttpResponse ('\n ' .join (pkgbases ), content_type = 'text/plain' )
301304
@@ -318,7 +321,7 @@ def report(request, report_name, username=None):
318321 maints = User .objects .filter (id__in = PackageRelation .objects .filter (
319322 type = PackageRelation .MAINTAINER ).values ('user' ))
320323
321- packages = get_report_packages (report , username )
324+ packages = get_report_packages (report , packages , username )
322325 arches = {pkg .arch for pkg in packages }
323326 repos = {pkg .repo for pkg in packages }
324327 context = {
0 commit comments