Skip to content

Commit 67782ad

Browse files
committed
merge forward complete
- Legacy-Id: 8354
2 parents 5bf7c41 + 81119d6 commit 67782ad

14 files changed

Lines changed: 1128 additions & 16 deletions

File tree

ietf/doc/migrations/0020_archive_slides.py

Lines changed: 398 additions & 0 deletions
Large diffs are not rendered by default.

ietf/doc/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,15 @@ def active_ballot(self):
171171
return None
172172

173173
def meeting_related(self):
174+
if self.type_id in ("agenda","minutes",):
175+
return (self.name.split("-")[1] == "interim"
176+
or (self.session_set.exists() if isinstance(self, Document) else self.doc.session_set.exists()))
177+
elif self.type_id in ("slides",):
178+
return (self.name.split("-")[1] == "interim"
179+
or (self.get_state('slides') in ("sessonly","archived") ))
180+
else:
181+
return False
182+
174183
return(self.type_id in ("agenda", "minutes", "slides") and (
175184
self.name.split("-")[1] == "interim"
176185
or (self.session_set.exists() if isinstance(self, Document) else self.doc.session_set.exists())))

ietf/doc/templatetags/ietf_filters.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,11 @@ def format_history_text(text):
447447
if text.startswith("This was part of a ballot set with:"):
448448
full = urlize_ietf_docs(full)
449449

450-
full = mark_safe(keep_spacing(linebreaksbr(urlize(sanitize_html(full)))))
450+
return format_snippet(full)
451+
452+
@register.filter
453+
def format_snippet(text):
454+
full = mark_safe(keep_spacing(linebreaksbr(urlize(sanitize_html(text)))))
451455
snippet = truncatewords_html(full, 25)
452456
if snippet != full:
453457
return mark_safe(u'<div class="snippet">%s<span class="show-all">[show all]</span></div><div style="display:none" class="full">%s</div>' % (snippet, full))

ietf/group/info.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ def concluded_groups(request):
267267
dict(group_types=group_types))
268268

269269
def get_group_materials(group):
270-
return Document.objects.filter(group=group, type__in=group.features.material_types, session=None).exclude(states__slug="deleted")
270+
# return Document.objects.filter(group=group, type__in=group.features.material_types, session=None).exclude(states__slug="deleted")
271+
return Document.objects.filter(group=group, type__in=group.features.material_types).exclude(states__slug="deleted")
271272

272273
def construct_group_menu_context(request, group, selected, group_type, others):
273274
"""Return context with info for the group menu filled in."""
@@ -450,6 +451,8 @@ def materials(request, acronym, group_type=None):
450451
if d.type not in doc_types:
451452
doc_types[d.type] = []
452453
doc_types[d.type].append(d)
454+
# This needs to be better - probably looking at ScheduledSession, and perhaps ignoring future Sessions
455+
d.last_presented = d.sessionpresentation_set.order_by('-session__meeting__date').first()
453456

454457
return render(request, 'group/materials.html',
455458
construct_group_menu_context(request, group, "materials", group_type, {

ietf/meeting/migrations/0019_version_materials.py

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

ietf/meeting/migrations/0020_snapshot_material_revisions.py

Lines changed: 338 additions & 0 deletions
Large diffs are not rendered by default.

ietf/meeting/models.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,18 @@ def json_dict(self, host_scheme):
777777
ct1['meeting_href'] = urljoin(host_scheme, self.meeting.json_url())
778778
return ct1
779779

780+
781+
class SessionPresentation(models.Model):
782+
session = models.ForeignKey('Session')
783+
document = models.ForeignKey(Document)
784+
rev = models.CharField(verbose_name="revision", max_length=16, blank=True)
785+
786+
class Meta:
787+
db_table = 'meeting_session_materials'
788+
789+
def __unicode__(self):
790+
return u"%s -> %s-%s" % (self.session, self.document.name, self.rev)
791+
780792
constraint_cache_uses = 0
781793
constraint_cache_initials = 0
782794

@@ -800,7 +812,7 @@ class Session(models.Model):
800812
scheduled = models.DateTimeField(null=True, blank=True)
801813
modified = models.DateTimeField(default=datetime.datetime.now)
802814

803-
materials = models.ManyToManyField(Document, blank=True)
815+
materials = models.ManyToManyField(Document, through=SessionPresentation, blank=True)
804816
resources = models.ManyToManyField(ResourceAssociation)
805817

806818
unique_constraints_dict = None
@@ -1172,4 +1184,3 @@ def badness_fast(self, timeslot, scheduleslot, session_pk_list):
11721184
if self.badness_test(1):
11731185
self.badness_log(1, "badgroup: %s badness = %u\n" % (self.group.acronym, badness))
11741186
return badness
1175-

ietf/meeting/test_data.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from ietf.doc.models import Document, State
44
from ietf.group.models import Group
5-
from ietf.meeting.models import Meeting, Room, TimeSlot, Session, Schedule, ScheduledSession, ResourceAssociation
5+
from ietf.meeting.models import Meeting, Room, TimeSlot, Session, Schedule, ScheduledSession, ResourceAssociation, SessionPresentation
66
from ietf.name.models import RoomResourceName
77
from ietf.person.models import Person
88
from ietf.utils.test_data import make_test_data
@@ -46,15 +46,15 @@ def make_meeting_test_data():
4646

4747
doc = Document.objects.create(name='agenda-mars-ietf-42', type_id='agenda', title="Agenda", external_url="agenda-mars")
4848
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
49-
mars_session.materials.add(doc)
49+
mars_session.sessionpresentation_set.add(SessionPresentation(session=mars_session,document=doc,rev=doc.rev))
5050

5151
doc = Document.objects.create(name='minutes-mars-ietf-42', type_id='minutes', title="Minutes", external_url="minutes-mars")
5252
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
53-
mars_session.materials.add(doc)
53+
mars_session.sessionpresentation_set.add(SessionPresentation(session=mars_session,document=doc,rev=doc.rev))
5454

5555
doc = Document.objects.create(name='slides-mars-ietf-42', type_id='slides', title="Slideshow", external_url="slides-mars")
5656
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
57-
mars_session.materials.add(doc)
57+
mars_session.sessionpresentation_set.add(SessionPresentation(session=mars_session,document=doc,rev=doc.rev))
5858

5959
return meeting
6060

ietf/secr/proceedings/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from ietf.doc.models import Document, DocAlias, DocEvent, State, NewRevisionDocEvent
2424
from ietf.group.models import Group
2525
from ietf.ietfauth.utils import has_role
26-
from ietf.meeting.models import Meeting, Session, TimeSlot, ScheduledSession
26+
from ietf.meeting.models import Meeting, Session, TimeSlot, ScheduledSession, SessionPresentation
2727
from ietf.secr.proceedings.forms import EditSlideForm, InterimMeetingForm, ReplaceSlideForm, UnifiedUploadForm
2828
from ietf.secr.proceedings.proc_utils import ( gen_acknowledgement, gen_agenda, gen_areas, gen_attendees,
2929
gen_group_pages, gen_index, gen_irtf, gen_overview, gen_plenaries, gen_progress, gen_research,
@@ -842,9 +842,9 @@ def upload_unified(request, meeting_num, acronym=None, session_id=None):
842842
# for the current meeting (until tools support different materials for diff sessions)
843843
if sessions:
844844
for s in sessions:
845-
s.materials.add(doc)
845+
s.materials.sessionpresentation_set.add(SessionPresentation(session=s,document=doc,rev=doc.rev))
846846
else:
847-
session.materials.add(doc)
847+
session.materials.sessionpresentation_set.add(SessionPresentation(session=session,document=doc,rev=doc.rev))
848848

849849
# create NewRevisionDocEvent instead of uploaded, per Ole
850850
NewRevisionDocEvent.objects.create(type='new_revision',

ietf/templates/doc/document_history.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,5 @@ <h2>Document history</h2>
7777
{% endblock content %}
7878

7979
{% block content_end %}
80-
<script type="text/javascript" src="/js/history.js"></script>
80+
<script type="text/javascript" src="/js/snippet.js"></script>
8181
{% endblock content_end %}

0 commit comments

Comments
 (0)