summaryrefslogtreecommitdiff
path: root/devel/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'devel/utils.py')
-rw-r--r--devel/utils.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/devel/utils.py b/devel/utils.py
index eaa7d07e..3326987a 100644
--- a/devel/utils.py
+++ b/devel/utils.py
@@ -6,13 +6,16 @@ from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.db import connection
from django.db.models import Count, Q
+from devel.models import UserProfile
from main.utils import cache_function
from main.models import Package
from packages.models import PackageRelation
@cache_function(283)
def get_annotated_maintainers():
- maintainers = User.objects.filter(is_active=True).order_by(
+ profile_ids = UserProfile.allowed_repos.through.objects.values('userprofile_id')
+ maintainers = User.objects.filter(
+ is_active=True, userprofile__id__in=profile_ids).order_by(
'first_name', 'last_name')
# annotate the maintainers with # of maintained and flagged packages
@@ -43,7 +46,8 @@ SELECT pr.user_id, COUNT(*), COUNT(p.flag_date)
m.flagged_count = flag_count.get(m.id, 0)
m.updated_count = update_count.get(m.id, 0)
- return maintainers
+ # force non-QS context, otherwise pickling doesn't work
+ return list(maintainers)
def ignore_does_not_exist(func):