From d179db39d4c81a7b46e3c0ac0c5b190a3347ea63 Mon Sep 17 00:00:00 2001
From: Robert Sparks
Date: Tue, 9 Oct 2018 22:08:45 +0000
Subject: [PATCH] Added meeting.agenda_info_note. Commit ready for merge. -
Legacy-Id: 15550
---
.../migrations/0009_add_agenda_info_note.py | 25 +++++++++++++++++
.../0010_set_ietf_103_agenda_info_note.py | 28 +++++++++++++++++++
ietf/meeting/models.py | 3 +-
ietf/meeting/resources.py | 1 +
ietf/templates/meeting/agenda.html | 6 ++++
ietf/templates/meeting/agenda.txt | 2 ++
ietf/templates/meeting/no-agenda.txt | 2 ++
7 files changed, 66 insertions(+), 1 deletion(-)
create mode 100644 ietf/meeting/migrations/0009_add_agenda_info_note.py
create mode 100644 ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
diff --git a/ietf/meeting/migrations/0009_add_agenda_info_note.py b/ietf/meeting/migrations/0009_add_agenda_info_note.py
new file mode 100644
index 000000000..ae1f32676
--- /dev/null
+++ b/ietf/meeting/migrations/0009_add_agenda_info_note.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.16 on 2018-10-09 14:07
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('meeting', '0008_rename_meeting_agenda_note'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='meeting',
+ name='agenda_info_note',
+ field=models.TextField(blank=True, help_text=b'Text in this field will be placed at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
+ ),
+ migrations.AlterField(
+ model_name='meeting',
+ name='agenda_warning_note',
+ field=models.TextField(blank=True, help_text=b'Text in this field will be placed more prominently at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.'),
+ ),
+ ]
diff --git a/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
new file mode 100644
index 000000000..4ebf6c29c
--- /dev/null
+++ b/ietf/meeting/migrations/0010_set_ietf_103_agenda_info_note.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.16 on 2018-10-09 14:23
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+def forward(apps,schema_editor):
+ Meeting = apps.get_model('meeting','Meeting')
+ Meeting.objects.filter(number=103).update(agenda_info_note=
+ 'To see the list of unofficial side meetings, or to reserve meeting '
+ 'space, please see the '
+ ''
+ 'meeting wiki.'
+ )
+
+def reverse(apps,schema_editor):
+ Meeting = apps.get_model('meeting','Meeting')
+ Meeting.objects.filter(number=103).update(agenda_info_note="")
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('meeting', '0009_add_agenda_info_note'),
+ ]
+
+ operations = [
+ migrations.RunPython(forward,reverse),
+ ]
diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py
index 82eb864f2..46ed6052b 100644
--- a/ietf/meeting/models.py
+++ b/ietf/meeting/models.py
@@ -93,7 +93,8 @@ class Meeting(models.Model):
venue_addr = models.TextField(blank=True)
break_area = models.CharField(blank=True, max_length=255)
reg_area = models.CharField(blank=True, max_length=255)
- agenda_warning_note = models.TextField(blank=True, help_text="Text in this field will be placed at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.")
+ agenda_info_note = models.TextField(blank=True, help_text="Text in this field will be placed at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.")
+ agenda_warning_note = models.TextField(blank=True, help_text="Text in this field will be placed more prominently at the top of the html agenda page for the meeting. HTML can be used, but will not be validated.")
agenda = ForeignKey('Schedule',null=True,blank=True, related_name='+')
session_request_lock_message = models.CharField(blank=True,max_length=255) # locked if not empty
proceedings_final = models.BooleanField(default=False, help_text=u"Are the proceedings for this meeting complete?")
diff --git a/ietf/meeting/resources.py b/ietf/meeting/resources.py
index e2fa8d819..08744bce6 100644
--- a/ietf/meeting/resources.py
+++ b/ietf/meeting/resources.py
@@ -40,6 +40,7 @@ class MeetingResource(ModelResource):
"venue_addr": ALL,
"break_area": ALL,
"reg_area": ALL,
+ "agenda_info_note": ALL,
"agenda_warning_note": ALL,
"session_request_lock_message": ALL,
"type": ALL_WITH_RELATIONS,
diff --git a/ietf/templates/meeting/agenda.html b/ietf/templates/meeting/agenda.html
index ea5b602ca..6ca396fdd 100644
--- a/ietf/templates/meeting/agenda.html
+++ b/ietf/templates/meeting/agenda.html
@@ -54,6 +54,12 @@
Note: IETF agendas are subject to change, up to and during a meeting.
+ {% if schedule.meeting.agenda_info_note %}
+
+ {{ schedule.meeting.agenda_info_note|removetags:"h1"|safe }}
+
+ {% endif %}
+
diff --git a/ietf/templates/meeting/agenda.txt b/ietf/templates/meeting/agenda.txt
index 1e71adb2f..96cf3dd20 100644
--- a/ietf/templates/meeting/agenda.txt
+++ b/ietf/templates/meeting/agenda.txt
@@ -3,6 +3,8 @@
{% filter center:72 %} Agenda of the {{ schedule.meeting.number|ordinal }} IETF Meeting {% endfilter %}
{% if schedule.meeting.agenda_warning_note %}
{% filter center:72 %}{{ schedule.meeting.agenda_warning_note|striptags|wordwrap:72|safe }}{% endfilter %}
+{% endif %}{% if schedule.meeting.agenda_info_note %}
+{% filter center:72 %}{{ schedule.meeting.agenda_info_note|striptags|wordwrap:72|safe }}{% endfilter %}
{% endif %}
{% filter center:72 %}{{ schedule.meeting.date|date:"F j" }}-{% if schedule.meeting.date.month != schedule.meeting.end_date.month %}{{ schedule.meeting.end_date|date:"F " }}{% endif %}{{ schedule.meeting.end_date|date:"j, Y" }}{% endfilter %}
{% filter center:72 %}Updated {{ updated|date:"Y-m-d H:i:s T" }}{% endfilter %}
diff --git a/ietf/templates/meeting/no-agenda.txt b/ietf/templates/meeting/no-agenda.txt
index ce8095cb4..3bdb366ae 100644
--- a/ietf/templates/meeting/no-agenda.txt
+++ b/ietf/templates/meeting/no-agenda.txt
@@ -3,6 +3,8 @@
{% filter center:72 %} Agenda of the {{ meeting.number|ordinal }} IETF Meeting {% endfilter %}
{% if meeting.agenda_warning_note %}
{% filter center:72 %}{{ meeting.agenda_warning_note|striptags|wordwrap:72|safe }}{% endfilter %}
+{% endif %}{% if meeting.agenda_info_note %}
+{% filter center:72 %}{{ meeting.agenda_info_note|striptags|wordwrap:72|safe }}{% endfilter %}
{% endif %}
{% filter center:72 %}{{ meeting.date|date:"F j" }}-{% if meeting.date.month != meeting.end_date.month %}{{ meeting.end_date|date:"F " }}{% endif %}{{ meeting.end_date|date:"j, Y" }}{% endfilter %}