You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

27 lines
830 B

"""Utils for workgroups"""
from newsletter.models import WorkGroup
def request_workgroups(request):
return WorkGroup.objects.filter(group__in=request.user.groups.all())
def request_workgroups_contacts_pk(request):
contacts = []
for workgroup in request_workgroups(request):
contacts.extend([c.pk for c in workgroup.contacts.all()])
return set(contacts)
def request_workgroups_mailinglists_pk(request):
mailinglists = []
for workgroup in request_workgroups(request):
mailinglists.extend([ml.pk for ml in workgroup.mailinglists.all()])
return set(mailinglists)
def request_workgroups_newsletters_pk(request):
newsletters = []
for workgroup in request_workgroups(request):
newsletters.extend([n.pk for n in workgroup.newsletters.all()])
return set(newsletters)