Add private bit to time slot types so that it can be configured in the
admin instead of hardcoding the list of private sessions types in the code. - Legacy-Id: 18402
This commit is contained in:
parent
a39fa7f967
commit
2029fb74fa
|
@ -1344,9 +1344,8 @@ def agenda(request, num=None, name=None, base=None, ext=None, owner=None, utc=""
|
|||
|
||||
updated = meeting.updated()
|
||||
filtered_assignments = SchedTimeSessAssignment.objects.filter(
|
||||
schedule__in=[schedule, schedule.base]
|
||||
).exclude(
|
||||
timeslot__type__in=['lead', 'offagenda']
|
||||
schedule__in=[schedule, schedule.base],
|
||||
timeslot__type__private=False,
|
||||
)
|
||||
filtered_assignments = preprocess_assignments_for_agenda(filtered_assignments, meeting)
|
||||
|
||||
|
@ -1641,9 +1640,8 @@ def week_view(request, num=None, name=None, owner=None):
|
|||
raise Http404
|
||||
|
||||
filtered_assignments = SchedTimeSessAssignment.objects.filter(
|
||||
schedule__in=[schedule, schedule.base]
|
||||
).exclude(
|
||||
timeslot__type__in=['lead','offagenda']
|
||||
schedule__in=[schedule, schedule.base],
|
||||
timeslot__type__private=False,
|
||||
)
|
||||
# Only show assignments from the traditional meeting "week" (Sat-Fri).
|
||||
# We'll determine this using the saturday before the first scheduled regular session.
|
||||
|
@ -1815,7 +1813,10 @@ def agenda_ical(request, num=None, name=None, acronym=None, session_id=None):
|
|||
elif len(item) > 1 and item[0] == '~':
|
||||
include_types |= set([item[1:]])
|
||||
|
||||
assignments = SchedTimeSessAssignment.objects.filter(schedule__in=[schedule, schedule.base]).exclude(timeslot__type__in=['lead','offagenda'])
|
||||
assignments = SchedTimeSessAssignment.objects.filter(
|
||||
schedule__in=[schedule, schedule.base],
|
||||
timeslot__type__private=False,
|
||||
)
|
||||
assignments = preprocess_assignments_for_agenda(assignments, meeting)
|
||||
|
||||
if q:
|
||||
|
@ -1848,9 +1849,10 @@ def agenda_json(request, num=None):
|
|||
locations = set()
|
||||
parent_acronyms = set()
|
||||
assignments = SchedTimeSessAssignment.objects.filter(
|
||||
schedule__in=[meeting.schedule, meeting.schedule.base if meeting.schedule else None]
|
||||
schedule__in=[meeting.schedule, meeting.schedule.base if meeting.schedule else None],
|
||||
timeslot__type__private=False,
|
||||
).exclude(
|
||||
session__type__in=['lead','offagenda','break','reg']
|
||||
session__type__in=['break', 'reg']
|
||||
)
|
||||
# Update the assignments with historic information, i.e., valid at the
|
||||
# time of the meeting
|
||||
|
|
|
@ -12372,6 +12372,7 @@
|
|||
"desc": "",
|
||||
"name": "Break",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12382,6 +12383,7 @@
|
|||
"desc": "Leadership Meetings",
|
||||
"name": "Leadership",
|
||||
"order": 0,
|
||||
"private": true,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12392,6 +12394,7 @@
|
|||
"desc": "Other Meetings Not Published on Agenda",
|
||||
"name": "Off Agenda",
|
||||
"order": 0,
|
||||
"private": true,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12402,6 +12405,7 @@
|
|||
"desc": "",
|
||||
"name": "Other",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12412,6 +12416,7 @@
|
|||
"desc": "",
|
||||
"name": "Plenary",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12422,6 +12427,7 @@
|
|||
"desc": "",
|
||||
"name": "Registration",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12432,6 +12438,7 @@
|
|||
"desc": "",
|
||||
"name": "Regular",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12442,6 +12449,7 @@
|
|||
"desc": "A room has been reserved for use by another body the timeslot indicated",
|
||||
"name": "Room Reserved",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
@ -12452,6 +12460,7 @@
|
|||
"desc": "A room was not booked for the timeslot indicated",
|
||||
"name": "Room Unavailable",
|
||||
"order": 0,
|
||||
"private": false,
|
||||
"used": true
|
||||
},
|
||||
"model": "name.timeslottypename",
|
||||
|
|
26
ietf/name/migrations/0018_add_timeslottypename_private.py
Normal file
26
ietf/name/migrations/0018_add_timeslottypename_private.py
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Generated by Django 2.2.15 on 2020-08-20 02:40
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
def set_private_bit_on_timeslottypename(apps, schema_editor):
|
||||
TimeSlotTypeName = apps.get_model('name', 'TimeSlotTypeName')
|
||||
|
||||
TimeSlotTypeName.objects.filter(slug__in=['lead', 'offagenda']).update(private=True)
|
||||
|
||||
def noop(apps, schema_editor):
|
||||
pass
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('name', '0017_update_constraintname_order_and_label'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='timeslottypename',
|
||||
name='private',
|
||||
field=models.BooleanField(default=False, help_text='Whether sessions of this type should be kept off the public agenda'),
|
||||
),
|
||||
migrations.RunPython(set_private_bit_on_timeslottypename, noop),
|
||||
]
|
|
@ -6,7 +6,7 @@ from django.db import migrations
|
|||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('name', '0017_update_constraintname_order_and_label'),
|
||||
('name', '0018_add_timeslottypename_private'),
|
||||
]
|
||||
|
||||
def add_rescheduled_session_status_name(apps, schema_editor):
|
|
@ -66,6 +66,7 @@ class SessionStatusName(NameModel):
|
|||
"""Waiting for Approval, Approved, Waiting for Scheduling, Scheduled, Cancelled, Disapproved"""
|
||||
class TimeSlotTypeName(NameModel):
|
||||
"""Session, Break, Registration, Other, Reserved, unavail"""
|
||||
private = models.BooleanField(default=False, help_text="Whether sessions of this type should be kept off the public agenda")
|
||||
class ConstraintName(NameModel):
|
||||
"""conflict, conflic2, conflic3, bethere, timerange, time_relation, wg_adjacent"""
|
||||
penalty = models.IntegerField(default=0, help_text="The penalty for violating this kind of constraint; for instance 10 (small penalty) or 10000 (large penalty)")
|
||||
|
|
Loading…
Reference in a new issue