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 %}