@@ -47,21 +47,32 @@ def show_html_materials(request, meeting_num=None):
4747 sub_began = 1
4848 # List of WG sessions and Plenary sessions
4949 if settings .USE_DB_REDESIGN_PROXY_CLASSES :
50+ seen_materials = set ()
51+
5052 queryset_list = []
5153 queryset_irtf = []
5254 queryset_interim = [] # currently ignored, have no way of handling interim here
5355 queryset_training = []
5456 for item in WgMeetingSession .objects .filter (meeting = meeting_num ):
55- if item .type_id in ( "session" , "plenary" ) :
56- if item . session and item . session . group and item . session . group . type_id == "rg" :
57- queryset_irtf . append ( item )
58- else :
59- queryset_list .append (item )
60- else :
61- if item .type_id == "other" and item . slides ():
57+ if not item .session or not item . session . group :
58+ continue
59+
60+ if item . session . group . type_id == "rg" :
61+ queryset_irtf .append (item )
62+ elif item . session . group . acronym == "edu" :
63+ if item .slides ():
6264 queryset_training .append (item )
65+ else :
66+ if item .session .name and not item .slides ():
67+ continue
68+ t = tuple (x .pk for x in item .session .materials .all ())
69+ if t and t in seen_materials :
70+ continue
71+ seen_materials .add (t )
72+ queryset_list .append (item )
73+
6374 from redesign .doc .models import Document
64- cache_version = Document .objects .filter (timeslot__meeting__number = meeting_num ).aggregate (Max ('time' ))["time__max" ]
75+ cache_version = Document .objects .filter (session__meeting__number = meeting_num ).aggregate (Max ('time' ))["time__max" ]
6576 else :
6677 queryset_list = WgMeetingSession .objects .filter (Q (meeting = meeting_num , group_acronym_id__gte = - 2 , status__id = 4 ), Q (irtf__isnull = True ) | Q (irtf = 0 ))
6778 queryset_irtf = WgMeetingSession .objects .filter (meeting = meeting_num , group_acronym_id__gte = - 2 , status__id = 4 , irtf__gt = 0 )
0 commit comments