chore: Remove references to settings.SECR_VIRTUAL_MEETINGS. Fixes #3717. (#3741)

This commit is contained in:
Russ Housley 2022-03-25 05:26:50 -04:00 committed by GitHub
parent 8989f2fd72
commit 0024cc9ea1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 37 deletions

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2013-2020, All Rights Reserved # Copyright The IETF Trust 2013-2022, All Rights Reserved
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
@ -19,11 +19,13 @@ from ietf.utils import log
# ------------------------------------------------- # -------------------------------------------------
NUM_SESSION_CHOICES = (('','--Please select'),('1','1'),('2','2')) NUM_SESSION_CHOICES = (('','--Please select'),('1','1'),('2','2'))
# LENGTH_SESSION_CHOICES = (('','--Please select'),('1800','30 minutes'),('3600','1 hour'),('5400','1.5 hours'), ('7200','2 hours'),('9000','2.5 hours'))
LENGTH_SESSION_CHOICES = (('','--Please select'),('3600','60 minutes'),('7200','120 minutes'))
VIRTUAL_LENGTH_SESSION_CHOICES = (('','--Please select'),('3000','50 minutes'),('6000','100 minutes'))
SESSION_TIME_RELATION_CHOICES = (('', 'No preference'),) + Constraint.TIME_RELATION_CHOICES SESSION_TIME_RELATION_CHOICES = (('', 'No preference'),) + Constraint.TIME_RELATION_CHOICES
JOINT_FOR_SESSION_CHOICES = (('1', 'First session'), ('2', 'Second session'), ('3', 'Third session'), ) JOINT_FOR_SESSION_CHOICES = (('1', 'First session'), ('2', 'Second session'), ('3', 'Third session'), )
# Used for traditional face-to-face meetings:
# LENGTH_SESSION_CHOICES = (('','--Please select'),('1800','30 minutes'),('3600','1 hour'),('5400','1.5 hours'), ('7200','2 hours'),('9000','2.5 hours'))
# Used for totally virtual meetings during COVID-19:
# LENGTH_SESSION_CHOICES = (('','--Please select'),('3000','50 minutes'),('6000','100 minutes'))
LENGTH_SESSION_CHOICES = (('','--Please select'),('3600','60 minutes'),('7200','120 minutes'))
# ------------------------------------------------- # -------------------------------------------------
# Helper Functions # Helper Functions
@ -290,9 +292,12 @@ class SessionForm(forms.Form):
return super().media + self.session_forms.media + forms.Media(js=('secr/js/session_form.js',)) return super().media + self.session_forms.media + forms.Media(js=('secr/js/session_form.js',))
class VirtualSessionForm(SessionForm): # Used for totally virtual meetings during COVID-19 to omit the expected
'''A SessionForm customized for special virtual meeting requirements''' # number of attendees since there were no room size limitations
attendees = forms.IntegerField(required=False) #
# class VirtualSessionForm(SessionForm):
# '''A SessionForm customized for special virtual meeting requirements'''
# attendees = forms.IntegerField(required=False)
class ToolStatusForm(forms.Form): class ToolStatusForm(forms.Form):

View file

@ -1,10 +1,9 @@
# Copyright The IETF Trust 2013-2020, All Rights Reserved # Copyright The IETF Trust 2013-2022, All Rights Reserved
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import datetime import datetime
from django.test import override_settings
from django.urls import reverse from django.urls import reverse
import debug # pyflakes:ignore import debug # pyflakes:ignore
@ -77,7 +76,6 @@ class SessionRequestTestCase(TestCase):
self.assertRedirects(r,reverse('ietf.secr.sreq.views.main')) self.assertRedirects(r,reverse('ietf.secr.sreq.views.main'))
self.assertEqual(SchedulingEvent.objects.filter(session=session).order_by('-id')[0].status_id, 'deleted') self.assertEqual(SchedulingEvent.objects.filter(session=session).order_by('-id')[0].status_id, 'deleted')
@override_settings(SECR_VIRTUAL_MEETINGS=tuple()) # ensure not unexpectedly testing a virtual meeting session
def test_edit(self): def test_edit(self):
meeting = MeetingFactory(type_id='ietf', date=datetime.date.today()) meeting = MeetingFactory(type_id='ietf', date=datetime.date.today())
mars = RoleFactory(name_id='chair', person__user__username='marschairman', group__acronym='mars').group mars = RoleFactory(name_id='chair', person__user__username='marschairman', group__acronym='mars').group
@ -243,7 +241,6 @@ class SessionRequestTestCase(TestCase):
self.assertContains(r, 'First session with: {}'.format(group2.acronym)) self.assertContains(r, 'First session with: {}'.format(group2.acronym))
@override_settings(SECR_VIRTUAL_MEETINGS=tuple()) # ensure not unexpectedly testing a virtual meeting session
def test_edit_constraint_bethere(self): def test_edit_constraint_bethere(self):
meeting = MeetingFactory(type_id='ietf', date=datetime.date.today()) meeting = MeetingFactory(type_id='ietf', date=datetime.date.today())
mars = RoleFactory(name_id='chair', person__user__username='marschairman', group__acronym='mars').group mars = RoleFactory(name_id='chair', person__user__username='marschairman', group__acronym='mars').group

View file

@ -1,4 +1,4 @@
# Copyright The IETF Trust 2013-2020, All Rights Reserved # Copyright The IETF Trust 2013-2022, All Rights Reserved
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
@ -20,7 +20,7 @@ from ietf.meeting.helpers import get_meeting
from ietf.meeting.utils import add_event_info_to_session_qs from ietf.meeting.utils import add_event_info_to_session_qs
from ietf.name.models import SessionStatusName, ConstraintName from ietf.name.models import SessionStatusName, ConstraintName
from ietf.secr.sreq.forms import (SessionForm, ToolStatusForm, allowed_conflicting_groups, from ietf.secr.sreq.forms import (SessionForm, ToolStatusForm, allowed_conflicting_groups,
JOINT_FOR_SESSION_CHOICES, VirtualSessionForm) JOINT_FOR_SESSION_CHOICES)
from ietf.secr.utils.decorators import check_permissions from ietf.secr.utils.decorators import check_permissions
from ietf.secr.utils.group import get_my_groups from ietf.secr.utils.group import get_my_groups
from ietf.utils.mail import send_mail from ietf.utils.mail import send_mail
@ -118,13 +118,6 @@ def get_requester_text(person,group):
if person.role_set.filter(name='secr',group__acronym='secretariat'): if person.role_set.filter(name='secr',group__acronym='secretariat'):
return '%s, on behalf of the %s working group' % (person.ascii, group.acronym) return '%s, on behalf of the %s working group' % (person.ascii, group.acronym)
def get_session_form_class():
meeting = get_meeting(days=14)
if meeting.number in settings.SECR_VIRTUAL_MEETINGS:
return VirtualSessionForm
else:
return SessionForm
def save_conflicts(group, meeting, conflicts, name): def save_conflicts(group, meeting, conflicts, name):
''' '''
This function takes a Group, Meeting a string which is a list of Groups acronyms (conflicts), This function takes a Group, Meeting a string which is a list of Groups acronyms (conflicts),
@ -285,9 +278,7 @@ def confirm(request, acronym):
if len(group.features.session_purposes) == 0: if len(group.features.session_purposes) == 0:
raise Http404(f'Cannot request sessions for group "{acronym}"') raise Http404(f'Cannot request sessions for group "{acronym}"')
meeting = get_meeting(days=14) meeting = get_meeting(days=14)
FormClass = get_session_form_class() form = SessionForm(group, meeting, request.POST, hidden=True)
form = FormClass(group, meeting, request.POST, hidden=True)
form.is_valid() form.is_valid()
login = request.user.person login = request.user.person
@ -392,7 +383,6 @@ def confirm(request, acronym):
return render(request, 'sreq/confirm.html', { return render(request, 'sreq/confirm.html', {
'form': form, 'form': form,
'is_virtual': meeting.number in settings.SECR_VIRTUAL_MEETINGS,
'session': session_data, 'session': session_data,
'group': group, 'group': group,
'session_conflicts': session_conflicts}, 'session_conflicts': session_conflicts},
@ -430,7 +420,6 @@ def edit(request, acronym, num=None):
Q(current_status__isnull=True) | ~Q(current_status__in=['canceled', 'notmeet', 'deleted']) Q(current_status__isnull=True) | ~Q(current_status__in=['canceled', 'notmeet', 'deleted'])
).order_by('id') ).order_by('id')
initial = get_initial_session(sessions) initial = get_initial_session(sessions)
FormClass = get_session_form_class()
if 'resources' in initial: if 'resources' in initial:
initial['resources'] = [x.pk for x in initial['resources']] initial['resources'] = [x.pk for x in initial['resources']]
@ -455,7 +444,7 @@ def edit(request, acronym, num=None):
if button_text == 'Cancel': if button_text == 'Cancel':
return redirect('ietf.secr.sreq.views.view', acronym=acronym) return redirect('ietf.secr.sreq.views.view', acronym=acronym)
form = FormClass(group, meeting, request.POST, initial=initial) form = SessionForm(group, meeting, request.POST, initial=initial)
if form.is_valid(): if form.is_valid():
if form.has_changed(): if form.has_changed():
changed_session_forms = [sf for sf in form.session_forms.forms_to_keep if sf.has_changed()] changed_session_forms = [sf for sf in form.session_forms.forms_to_keep if sf.has_changed()]
@ -568,11 +557,10 @@ def edit(request, acronym, num=None):
if not sessions: if not sessions:
return redirect('ietf.secr.sreq.views.new', acronym=acronym) return redirect('ietf.secr.sreq.views.new', acronym=acronym)
form = FormClass(group, meeting, initial=initial) form = SessionForm(group, meeting, initial=initial)
return render(request, 'sreq/edit.html', { return render(request, 'sreq/edit.html', {
'is_locked': is_locked and not has_role(request.user,'Secretariat'), 'is_locked': is_locked and not has_role(request.user,'Secretariat'),
'is_virtual': meeting.number in settings.SECR_VIRTUAL_MEETINGS,
'meeting': meeting, 'meeting': meeting,
'form': form, 'form': form,
'group': group, 'group': group,
@ -657,8 +645,6 @@ def new(request, acronym):
raise Http404(f'Cannot request sessions for group "{acronym}"') raise Http404(f'Cannot request sessions for group "{acronym}"')
meeting = get_meeting(days=14) meeting = get_meeting(days=14)
session_conflicts = dict(inbound=inbound_session_conflicts_as_string(group, meeting)) session_conflicts = dict(inbound=inbound_session_conflicts_as_string(group, meeting))
is_virtual = meeting.number in settings.SECR_VIRTUAL_MEETINGS
FormClass = get_session_form_class()
# check if app is locked # check if app is locked
is_locked = check_app_locked() is_locked = check_app_locked()
@ -671,7 +657,7 @@ def new(request, acronym):
if button_text == 'Cancel': if button_text == 'Cancel':
return redirect('ietf.secr.sreq.views.main') return redirect('ietf.secr.sreq.views.main')
form = FormClass(group, meeting, request.POST) form = SessionForm(group, meeting, request.POST)
if form.is_valid(): if form.is_valid():
return confirm(request, acronym) return confirm(request, acronym)
@ -695,16 +681,15 @@ def new(request, acronym):
add_essential_people(group,initial) add_essential_people(group,initial)
if 'resources' in initial: if 'resources' in initial:
initial['resources'] = [x.pk for x in initial['resources']] initial['resources'] = [x.pk for x in initial['resources']]
form = FormClass(group, meeting, initial=initial) form = SessionForm(group, meeting, initial=initial)
else: else:
initial={} initial={}
add_essential_people(group,initial) add_essential_people(group,initial)
form = FormClass(group, meeting, initial=initial) form = SessionForm(group, meeting, initial=initial)
return render(request, 'sreq/new.html', { return render(request, 'sreq/new.html', {
'meeting': meeting, 'meeting': meeting,
'is_virtual': is_virtual,
'form': form, 'form': form,
'group': group, 'group': group,
'session_conflicts': session_conflicts}, 'session_conflicts': session_conflicts},
@ -857,7 +842,6 @@ def view(request, acronym, num = None):
return render(request, 'sreq/view.html', { return render(request, 'sreq/view.html', {
'is_locked': is_locked, 'is_locked': is_locked,
'is_virtual': meeting.number in settings.SECR_VIRTUAL_MEETINGS,
'session': session, # legacy processed data 'session': session, # legacy processed data
'sessions': sessions, # actual session instances 'sessions': sessions, # actual session instances
'activities': activities, 'activities': activities,

View file

@ -24,7 +24,7 @@
{% block content %} {% block content %}
<div class="module interim-container"> <div class="module interim-container">
<h2>IETF {{ meeting.number }}: New {% if is_virtual %}Virtual {% endif %}Session Request</h2> <h2>IETF {{ meeting.number }}: New Session Request</h2>
<div class="inline-related"> <div class="inline-related">
<br> <br>
<ul class="session-buttons"> <ul class="session-buttons">

View file

@ -1015,7 +1015,6 @@ SECR_INTERIM_LISTING_DIR = '/a/www/www6/meeting/interim'
SECR_MAX_UPLOAD_SIZE = 40960000 SECR_MAX_UPLOAD_SIZE = 40960000
SECR_PROCEEDINGS_DIR = '/a/www/www6s/proceedings/' SECR_PROCEEDINGS_DIR = '/a/www/www6s/proceedings/'
SECR_PPT2PDF_COMMAND = ['/usr/bin/soffice','--headless','--convert-to','pdf:writer_globaldocument_pdf_Export','--outdir'] SECR_PPT2PDF_COMMAND = ['/usr/bin/soffice','--headless','--convert-to','pdf:writer_globaldocument_pdf_Export','--outdir']
SECR_VIRTUAL_MEETINGS = ['108']
STATS_REGISTRATION_ATTENDEES_JSON_URL = 'https://registration.ietf.org/{number}/attendees/' STATS_REGISTRATION_ATTENDEES_JSON_URL = 'https://registration.ietf.org/{number}/attendees/'
PROCEEDINGS_VERSION_CHANGES = [ PROCEEDINGS_VERSION_CHANGES = [
0, # version 1 0, # version 1