From f9cd72168fc25fbb1d19283ae41b14e8a152212e Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz <henrik@levkowetz.com> Date: Sun, 23 Jun 2019 11:52:58 +0000 Subject: [PATCH] Updated some functions and views in secr/srec/ to use GroupFeatures instead of harcoded lists of group types. - Legacy-Id: 16301 --- ietf/secr/sreq/views.py | 3 ++- ietf/secr/utils/group.py | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 52b817d35..c4bf30c81 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -491,7 +491,8 @@ def main(request): ) meeting = get_meeting() - scheduled_groups,unscheduled_groups = groups_by_session(request.user, meeting, types=['wg','rg','ag']) + + scheduled_groups, unscheduled_groups = groups_by_session(request.user, meeting) # warn if there are no associated groups if not scheduled_groups and not unscheduled_groups: diff --git a/ietf/secr/utils/group.py b/ietf/secr/utils/group.py index 172f1bf3f..593f280d9 100644 --- a/ietf/secr/utils/group.py +++ b/ietf/secr/utils/group.py @@ -1,3 +1,6 @@ +# Copyright The IETF Trust 2013-2019, All Rights Reserved +# -*- coding: utf-8 -*- + # Python imports import os @@ -6,7 +9,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist # Datatracker imports -from ietf.group.models import Group +from ietf.group.models import Group, GroupFeatures from ietf.meeting.models import Session from ietf.ietfauth.utils import has_role @@ -49,9 +52,8 @@ def get_my_groups(user,conclude=False): states = ['bof','proposed','active'] if conclude: states.extend(['conclude','bof-conc']) - types = ['wg','rg','ag','team','iab'] - - all_groups = Group.objects.filter(type__in=types,state__in=states).order_by('acronym') + + all_groups = Group.objects.filter(type__features__has_meetings=True, state__in=states).order_by('acronym') if user == None or has_role(user,'Secretariat'): return all_groups @@ -94,8 +96,10 @@ def groups_by_session(user, meeting, types=None): if group.state_id not in ('conclude','bof-conc'): groups_no_session.append(group) - if types: - groups_session = filter(lambda x: x.type_id in types,groups_session) - groups_no_session = filter(lambda x: x.type_id in types,groups_no_session) + if not types: + types = GroupFeatures.objects.filter(has_meetings=True).values_list('type', flat=True) + + groups_session = filter(lambda g: g.type_id in types, groups_session) + groups_no_session = filter(lambda g: g.type_id in types, groups_no_session) return groups_session, groups_no_session