diff --git a/ietf/meeting/helpers.py b/ietf/meeting/helpers.py index 283a57b9d..85c687d42 100644 --- a/ietf/meeting/helpers.py +++ b/ietf/meeting/helpers.py @@ -194,7 +194,6 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe for a in assignments: if a.session: a.session.historic_group = None - a.session.order_number = None if a.session.group and a.session.group not in groups: groups.append(a.session.group) @@ -217,9 +216,6 @@ def preprocess_assignments_for_agenda(assignments_queryset, meeting, extra_prefe if a.session.historic_group.parent_id: parent_id_set.add(a.session.historic_group.parent_id) - l = sessions_for_groups.get((a.session.group, a.session.type_id), []) - a.session.order_number = l.index(a) + 1 if a in l else 0 - parents = Group.objects.filter(pk__in=parent_id_set) parent_replacements = find_history_replacements_active_at(parents, meeting_time) @@ -264,6 +260,9 @@ def filter_keywords_for_session(session): if group.state_id == 'bof': keywords.add('bof') keywords.add(group.acronym.lower()) + token = session.docname_token_only_for_multiple() + if token is not None: + keywords.add(group.acronym.lower() + "-" + token) area = getattr(group, 'historic_parent', group.parent) # Only sessions belonging to "regular" groups should respond to the diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index cdfedd107..c0ef3282b 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1193,6 +1193,13 @@ class Session(models.Model): sess_mtg = Session.objects.filter(meeting=self.meeting, group=self.group).order_by('pk') index = list(sess_mtg).index(self) return 'sess%s' % (string.ascii_lowercase[index]) + + def docname_token_only_for_multiple(self): + sess_mtg = Session.objects.filter(meeting=self.meeting, group=self.group).order_by('pk') + if len(list(sess_mtg)) > 1: + index = list(sess_mtg).index(self) + return 'sess%s' % (string.ascii_lowercase[index]) + return None def constraints(self): return Constraint.objects.filter(source=self.group, meeting=self.meeting).order_by('name__name', 'target__acronym', 'person__name').prefetch_related("source","target","person") diff --git a/ietf/meeting/tests_helpers.py b/ietf/meeting/tests_helpers.py index 1ba18f62d..1e7705c5e 100644 --- a/ietf/meeting/tests_helpers.py +++ b/ietf/meeting/tests_helpers.py @@ -81,6 +81,9 @@ class HelpersTests(TestCase): ]) if bof: expected_filter_keywords.add('bof') + token = assignment.session.docname_token_only_for_multiple() + if token is not None: + expected_filter_keywords.update([expected_group.acronym + "-" + token]) self.assertCountEqual( assignment.filter_keywords, diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index a569d06e4..79493cd74 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -2167,8 +2167,6 @@ def session_details(request, num, acronym): qs = [p for p in qs if p.document.get_state_slug(p.document.type_id)!='deleted'] session.type_counter.update([p.document.type.slug for p in qs]) - session.order_number = session.order_in_meeting() - # we somewhat arbitrarily use the group of the last session we get from # get_sessions() above when checking can_manage_session_materials() can_manage = can_manage_session_materials(request.user, session.group, session) diff --git a/ready-for-merge b/ready-for-merge index 5fccd2d48..eb72852cc 100644 --- a/ready-for-merge +++ b/ready-for-merge @@ -5,15 +5,16 @@ # to this file in trunk/ by the merge master, and it will also be included in # the merge list. +/personal/kivinen/7.30.1.dev0@19074 + +# --- Add entries at the top --- +# /personal/housley/7.30.1.dev0@19052 /personal/housley/7.30.1.dev0@19048 - /personal/housley/7.26.1.dev0@18993 -# --- Add entries at the top --- - #/personal/rcross/7.30.1.dev0@19035 (manually merged at 19059 /personal/housley/7.26.1.dev0@18913