From 1c193a550442594e07c4b0d22c42cbb5153ec962 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Thu, 20 Oct 2022 17:01:19 -0300 Subject: [PATCH 1/2] fix: include outbound constraints in sreq update notification email --- ietf/secr/sreq/views.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index fab408e03d7..e9819e8e602 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -267,6 +267,15 @@ def status_slug_for_new_session(session, session_number): return 'schedw' +def get_outbound_conflicts(form: SessionForm): + """extract wg conflict constraint data from a SessionForm""" + outbound_conflicts = [] + for conflictname, cfield_id in form.wg_constraint_field_ids(): + conflict_groups = form.cleaned_data[cfield_id] + if len(conflict_groups) > 0: + outbound_conflicts.append(dict(name=conflictname, groups=conflict_groups)) + return outbound_conflicts + @role_required(*AUTHORIZED_ROLES) def confirm(request, acronym): ''' @@ -299,12 +308,8 @@ def confirm(request, acronym): session_data['timeranges_display'] = [t.desc for t in form.cleaned_data['timeranges']] session_data['resources'] = [ ResourceAssociation.objects.get(pk=pk) for pk in request.POST.getlist('resources') ] - # extract wg conflict constraint data for the view - outbound_conflicts = [] - for conflictname, cfield_id in form.wg_constraint_field_ids(): - conflict_groups = form.cleaned_data[cfield_id] - if len(conflict_groups) > 0: - outbound_conflicts.append(dict(name=conflictname, groups=conflict_groups)) + # extract wg conflict constraint data for the view / notifications + outbound_conflicts = get_outbound_conflicts(form) button_text = request.POST.get('submit', '') if button_text == 'Cancel': @@ -359,6 +364,7 @@ def confirm(request, acronym): # clear not meeting add_event_info_to_session_qs(Session.objects.filter(group=group, meeting=meeting)).filter(current_status='notmeet').delete() + # send notification session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] send_notification( @@ -534,11 +540,14 @@ def edit(request, acronym, num=None): #add_session_activity(group,'Session Request was updated',meeting,user) # send notification + outbound_conflicts = get_outbound_conflicts(form) + session_data = form.cleaned_data.copy() # do not add things to the original cleaned_data + session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] send_notification( group, meeting, login, - form.cleaned_data, + session_data, [sf.cleaned_data for sf in form.session_forms.forms_to_keep], 'update', ) From fbdb1ac559e63c853cae81444d0a74c828d30033 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Thu, 20 Oct 2022 19:37:15 -0300 Subject: [PATCH 2/2] style: clean up whitespace --- ietf/secr/sreq/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ietf/secr/sreq/views.py b/ietf/secr/sreq/views.py index e9819e8e602..5a6c1ec0779 100644 --- a/ietf/secr/sreq/views.py +++ b/ietf/secr/sreq/views.py @@ -276,6 +276,7 @@ def get_outbound_conflicts(form: SessionForm): outbound_conflicts.append(dict(name=conflictname, groups=conflict_groups)) return outbound_conflicts + @role_required(*AUTHORIZED_ROLES) def confirm(request, acronym): ''' @@ -364,7 +365,6 @@ def confirm(request, acronym): # clear not meeting add_event_info_to_session_qs(Session.objects.filter(group=group, meeting=meeting)).filter(current_status='notmeet').delete() - # send notification session_data['outbound_conflicts'] = [f"{d['name']}: {d['groups']}" for d in outbound_conflicts] send_notification(