Skip to content

Commit 9369255

Browse files
committed
In order to make it possible to enter meeting important dates and have the IESG see and approve them before they are generally visible, a flag has been added to the Meeting model, and code has been added to show the important dates as appropriate. A menu link to the important dates has also been added.
- Legacy-Id: 14315
1 parent 3487380 commit 9369255

4 files changed

Lines changed: 45 additions & 3 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.8 on 2017-11-06 08:26
3+
from __future__ import unicode_literals
4+
5+
import datetime
6+
7+
from django.db import migrations, models
8+
9+
def forwards(apps, schema_editor):
10+
Meeting = apps.get_model('meeting', 'Meeting')
11+
stop_date = datetime.date.today() + datetime.timedelta(days=180)
12+
for m in Meeting.objects.filter(show_important_dates=False):
13+
if m.date < today:
14+
m.show_important_dates = True
15+
m.save()
16+
17+
def backwards(apps, schema_editor):
18+
pass
19+
20+
21+
class Migration(migrations.Migration):
22+
23+
dependencies = [
24+
('meeting', '0058_set_new_field_meeting_days_values'),
25+
]
26+
27+
operations = [
28+
migrations.AddField(
29+
model_name='meeting',
30+
name='show_important_dates',
31+
field=models.BooleanField(default=False),
32+
),
33+
migrations.RunPython(forwards, backwards),
34+
]

ietf/meeting/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ class Meeting(models.Model):
9393
proceedings_final = models.BooleanField(default=False, help_text=u"Are the proceedings for this meeting complete?")
9494
acknowledgements = models.TextField(blank=True, help_text="Acknowledgements for use in meeting proceedings. Use ReStructuredText markup.")
9595
overview = models.ForeignKey(DBTemplate, related_name='overview', null=True, editable=False)
96+
show_important_dates = models.BooleanField(default=False)
9697

9798
def __unicode__(self):
9899
if self.type_id == "ietf":

ietf/meeting/views.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,16 +2181,22 @@ def api_import_recordings(request, number):
21812181

21822182
def important_dates(request, num=None):
21832183
assert num is None or num.isdigit()
2184+
preview_roles = ['Area Director', 'Secretariat', 'IETF Chair', 'IAD', ]
21842185

21852186
meeting = get_ietf_meeting(num)
21862187
if not meeting:
21872188
raise Http404
21882189
base_num = int(meeting.number)
21892190

2190-
meetings=[meeting]
2191+
user = request.user
2192+
today = datetime.date.today()
2193+
meetings = []
2194+
if meeting.show_important_dates or meeting.date < today:
2195+
meetings.append(meeting)
21912196
for i in range(1,3):
21922197
future_meeting = get_ietf_meeting(base_num+i)
2193-
if future_meeting:
2198+
if future_meeting and ( future_meeting.show_important_dates
2199+
or (user and user.is_authenticated and has_role(user, preview_roles))):
21942200
meetings.append(future_meeting)
21952201

21962202
context={'meetings':meetings}

ietf/templates/base/menu.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@
9696

9797
<li><a href="/meeting/agenda/">Agenda</a></li>
9898
<li><a href="/meeting/materials/">Materials</a></li>
99-
<li><a href="/meeting/floor-plan/">Floor Plan</a></li>
99+
<li><a href="/meeting/floor-plan/">Floor plan</a></li>
100+
<li><a href="{% url 'ietf.meeting.views.important_dates' %}">Important dates</a></li>
100101
<li><a href="https://www.ietf.org/meeting/proceedings.html">Past proceedings</a></li>
101102
<li><a href="/meeting/upcoming">Upcoming</a></li>
102103
<li><a href="/meeting/past">Past</a></li>

0 commit comments

Comments
 (0)