From 10baa54a0713d941e588f06596867298872ae80e Mon Sep 17 00:00:00 2001 From: Ryan Cross Date: Mon, 18 Jul 2016 11:39:36 +0000 Subject: [PATCH] Restrict session request options to groups of type WG,RG or AG. Add new mailtrigger to names fixture. Commit ready for merge. - Legacy-Id: 11708 --- ietf/name/fixtures/names.json | 11 +++++++++++ ietf/secr/sreq/views.py | 2 +- ietf/secr/utils/group.py | 12 ++++++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index 9d601c9bd..3895e1d10 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -5506,6 +5506,17 @@ "model": "mailtrigger.mailtrigger", "pk": "group_personnel_change" }, +{ + "fields": { + "cc": [], + "to": [ + "iesg_secretary" + ], + "desc": "Recipients when an interim meeting is approved and an announcement needs to be sent" + }, + "model": "mailtrigger.mailtrigger", + "pk": "interim_approved" +}, { "fields": { "cc": [], diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index 436cf9e8b..aa72fb7fb 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -498,7 +498,7 @@ def main(request): return redirect('sessions_new', acronym=request.POST['group']) meeting = get_meeting() - scheduled_groups,unscheduled_groups = groups_by_session(request.user, meeting) + scheduled_groups,unscheduled_groups = groups_by_session(request.user, meeting, types=['wg','rg','ag']) # 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 ac336ee65..cbe22aa4c 100644 --- a/ietf/secr/utils/group.py +++ b/ietf/secr/utils/group.py @@ -70,11 +70,11 @@ def get_my_groups(user,conclude=False): return list(my_groups) -def groups_by_session(user, meeting): +def groups_by_session(user, meeting, types=None): ''' - Takes a Django User object and a Meeting object - Returns a tuple scheduled_groups, unscheduled groups. sorted lists of those groups that - the user has access to, secretariat defaults to all groups + Takes a Django User object, Meeting object and optionally string of meeting types to + include. Returns a tuple scheduled_groups, unscheduled groups. sorted lists of those + groups that the user has access to, secretariat defaults to all groups If user=None than all groups are returned. For groups with a session, we must include "concluded" groups because we still want to know @@ -94,4 +94,8 @@ def groups_by_session(user, meeting): 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) + return groups_session, groups_no_session