From baf67d1cd5ad9484d372ba9aa26878ecfa4c28b2 Mon Sep 17 00:00:00 2001
From: Lars Eggert <lars@eggert.org>
Date: Tue, 6 Sep 2022 20:11:59 +0300
Subject: [PATCH] fix: Use new schedule editor icons picked by @flynnliz
 (#4407)

Also clean up the related layout somewhat.

Fixes #4378
---
 ietf/meeting/templatetags/editor_tags.py      |  8 ++--
 ietf/meeting/templatetags/tests.py            | 14 +++----
 ietf/meeting/tests_views.py                   |  4 +-
 .../edit_meeting_schedule_session.html        | 42 ++++++++++++-------
 4 files changed, 40 insertions(+), 28 deletions(-)

diff --git a/ietf/meeting/templatetags/editor_tags.py b/ietf/meeting/templatetags/editor_tags.py
index c972fab6e..b30e14f49 100644
--- a/ietf/meeting/templatetags/editor_tags.py
+++ b/ietf/meeting/templatetags/editor_tags.py
@@ -17,13 +17,13 @@ def constraint_icon_for(constraint_name, count=None):
         'conflict': '<span class="encircled">{reversed}1</span>',
         'conflic2': '<span class="encircled">{reversed}2</span>',
         'conflic3': '<span class="encircled">{reversed}3</span>',
-        'bethere': '<i class="bi bi-person"></i>{count}',
+        'bethere': '<i class="bi bi-people-fill"></i>{count}',
         'timerange': '<i class="bi bi-calendar"></i>',
         'time_relation': '&Delta;',
         'wg_adjacent': '{reversed}<i class="bi bi-skip-end"></i>',
-        'chair_conflict': '{reversed}<i class="bi bi-person-circle"></i>',
-        'tech_overlap': '{reversed}<i class="bi bi-link"></i>',
-        'key_participant': '{reversed}<i class="bi bi-key"></i>',
+        'chair_conflict': '{reversed}<i class="bi bi-circle-fill"></i>',
+        'tech_overlap': '{reversed}<i class="bi bi-link-45deg"></i>',
+        'key_participant': '{reversed}<i class="bi bi-star"></i>',
         'joint_with_groups': '<i class="bi bi-merge"></i>',
         'responsible_ad': '<span class="encircled">AD</span>',
     }
diff --git a/ietf/meeting/templatetags/tests.py b/ietf/meeting/templatetags/tests.py
index 22cfc3567..5093ecd4b 100644
--- a/ietf/meeting/templatetags/tests.py
+++ b/ietf/meeting/templatetags/tests.py
@@ -87,17 +87,17 @@ class EditorTagsTests(TestCase):
             ('conflict-reversed', '', '<span class="encircled">-1</span>'),
             ('conflic2-reversed', '', '<span class="encircled">-2</span>'),
             ('conflic3-reversed', '', '<span class="encircled">-3</span>'),
-            ('bethere', '27', '<i class="bi bi-person"></i>27'),
+            ('bethere', '27', '<i class="bi bi-people-fill"></i>27'),
             ('timerange', '', '<i class="bi bi-calendar"></i>'),
             ('time_relation', '', '\u0394'),  # \u0394 is a capital Greek Delta
             ('wg_adjacent', '', '<i class="bi bi-skip-end"></i>'),
             ('wg_adjacent-reversed', '', '-<i class="bi bi-skip-end"></i>'),
-            ('chair_conflict', '', '<i class="bi bi-person-circle"></i>'),
-            ('chair_conflict-reversed', '', '-<i class="bi bi-person-circle"></i>'),
-            ('tech_overlap', '', '<i class="bi bi-link"></i>'),
-            ('tech_overlap-reversed', '', '-<i class="bi bi-link"></i>'),
-            ('key_participant', '', '<i class="bi bi-key"></i>'),
-            ('key_participant-reversed', '', '-<i class="bi bi-key"></i>'),
+            ('chair_conflict', '', '<i class="bi bi-circle-fill"></i>'),
+            ('chair_conflict-reversed', '', '-<i class="bi bi-circle-fill"></i>'),
+            ('tech_overlap', '', '<i class="bi bi-link-45deg"></i>'),
+            ('tech_overlap-reversed', '', '-<i class="bi bi-link-45deg"></i>'),
+            ('key_participant', '', '<i class="bi bi-star"></i>'),
+            ('key_participant-reversed', '', '-<i class="bi bi-star"></i>'),
             ('joint_with_groups', '', '<i class="bi bi-merge"></i>'),
             ('responsible_ad', '', '<span class="encircled">AD</span>'),
         )
diff --git a/ietf/meeting/tests_views.py b/ietf/meeting/tests_views.py
index b5df0809b..785cf8fcc 100644
--- a/ietf/meeting/tests_views.py
+++ b/ietf/meeting/tests_views.py
@@ -3326,7 +3326,7 @@ class EditTests(TestCase):
             s_other = s2 if s == s1 else s1
             self.assertEqual(len(constraints), 3)
             self.assertEqual(constraints.eq(0).attr("data-sessions"), str(s_other.pk))
-            self.assertEqual(constraints.eq(0).find(".bi-person").parent().text(), "1") # 1 person in the constraint
+            self.assertEqual(constraints.eq(0).find(".bi-people-fill").parent().text(), "1") # 1 person in the constraint
             self.assertEqual(constraints.eq(1).attr("data-sessions"), str(s_other.pk))
             self.assertEqual(constraints.eq(1).find(".encircled").text(), "1" if s_other == s2 else "-1")
             self.assertEqual(constraints.eq(2).attr("data-sessions"), str(s_other.pk))
@@ -3662,7 +3662,7 @@ class EditTests(TestCase):
 
         # Now enable the 'chair_conflict' constraint only
         chair_conflict = ConstraintName.objects.get(slug='chair_conflict')
-        chair_conf_label = b'<i class="bi bi-person-circle"/>'  # result of etree.tostring(etree.fromstring(editor_label))
+        chair_conf_label = b'<i class="bi bi-circle-fill"/>'  # result of etree.tostring(etree.fromstring(editor_label))
         meeting.group_conflict_types.add(chair_conflict)
         r = self.client.get(url)
         q = PyQuery(r.content)
diff --git a/ietf/templates/meeting/edit_meeting_schedule_session.html b/ietf/templates/meeting/edit_meeting_schedule_session.html
index 80bab3d1b..7f2c3bd9a 100644
--- a/ietf/templates/meeting/edit_meeting_schedule_session.html
+++ b/ietf/templates/meeting/edit_meeting_schedule_session.html
@@ -47,35 +47,47 @@
                 {% if not session.on_agenda %}&middot; <i>off agenda</i>{% endif %}
             </div>
         {% endif %}
+        {% if session.comments %}<div class="comments">{{ session.comments|linebreaksbr }}</div>{% endif %}
         {% if session.requested_by_person %}
-            <div>
-                <i title="Requested by" class="bi bi-person-circle"></i> {% person_link session.requested_by_person %}
-                {% if session.requested_time %}({{ session.requested_time|date:"Y-m-d" }}){% endif %}
+            <div class="row">
+                <div class="col-1">
+                    <i title="Requested by" class="bi bi-person-circle"></i>
+                </div>
+                <div class="col">
+                    {% person_link session.requested_by_person %}
+                    {% if session.requested_time %}({{ session.requested_time|date:"Y-m-d" }}){% endif %}
+                </div>
             </div>
         {% endif %}
         {% if session.resources.all %}
-            <div>
-                Resources:
-                {% for r in session.resources.all %}
-                    {{ r.name }}{% if not forloop.last %},{% endif %}
-                {% endfor %}
+            <div class="row">
+                <div class="col-1"><i class="bi bi-layers-fill" title="Resources"></i></div>
+                <div class="col">
+                    {% for r in session.resources.all %}
+                        {{ r.name }}{% if not forloop.last %}, {% endif %}
+                    {% endfor %}
+                </div>
             </div>
         {% endif %}
-        {% if session.comments %}<div class="comments">{{ session.comments|linebreaksbr }}</div>{% endif %}
         {% if session.formatted_constraints %}
             <div class="formatted-constraints">
                 {% for constraint_name, values in session.formatted_constraints.items %}
-                    <div>
-                        <span title="{{ constraint_name.name }}">{% constraint_icon_for constraint_name %}</span>: {{ values|join:", " }}
+                    <div class="row">
+                        <div class="col-1" title="{{ constraint_name.name }}">{% constraint_icon_for constraint_name %}</div><div class="col">{{ values|join:", " }}</div>
                     </div>
                 {% endfor %}
             </div>
         {% endif %}
         {% for s in session.other_sessions %}
-            <div class="other-session" data-othersessionid="{{ s.pk }}">
-                <i class="bi bi-calendar"></i> Other session <span class="time"
-       data-scheduled="scheduled: {time}"
-       data-notscheduled="not yet scheduled"></span>
+            <div class="other-session row" data-othersessionid="{{ s.pk }}">
+                <div class="col-1">
+                    <i class="bi bi-calendar" title="Other session"></i>
+                </div>
+                <div class="col">
+                    <span class="time"
+                          data-scheduled="scheduled: {time}"
+                          data-notscheduled="not yet scheduled"></span>
+               </div>
             </div>
         {% endfor %}
         <a class="btn btn-primary btn-sm mt-2"