From 446ac7a47ead8e0c01cfc8426a7149aa9aa15f33 Mon Sep 17 00:00:00 2001
From: Jennifer Richards <jennifer@painless-security.com>
Date: Tue, 19 Oct 2021 14:39:17 +0000
Subject: [PATCH] Disable session purpose/timeslot type hiding on schedule
 editor when only 0 or 1 options  - Legacy-Id: 19439

---
 ietf/static/ietf/js/edit-meeting-schedule.js  | 14 ++++++----
 .../meeting/edit_meeting_schedule.html        | 28 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/ietf/static/ietf/js/edit-meeting-schedule.js b/ietf/static/ietf/js/edit-meeting-schedule.js
index 1b92f2a4a..add0957b1 100644
--- a/ietf/static/ietf/js/edit-meeting-schedule.js
+++ b/ietf/static/ietf/js/edit-meeting-schedule.js
@@ -737,9 +737,10 @@ jQuery(document).ready(function () {
         timeslots.filter(checked.join(",")).removeClass('hidden-timeslot-type');
         timeslots.not(checked.join(",")).addClass('hidden-timeslot-type');
     }
-
-    timeSlotTypeInputs.on("click", updateTimeSlotTypeToggling);
-    updateTimeSlotTypeToggling();
+    if (timeSlotTypeInputs.length > 0) {
+        timeSlotTypeInputs.on("click", updateTimeSlotTypeToggling);
+        updateTimeSlotTypeToggling();
+    }
 
     // Toggling session purposes
     let sessionPurposeInputs = content.find('.session-purpose-toggles input');
@@ -752,9 +753,10 @@ jQuery(document).ready(function () {
         sessions.filter(checked.join(",")).removeClass('hidden-purpose');
         sessions.not(checked.join(",")).addClass('hidden-purpose');
     }
-
-    sessionPurposeInputs.on("click", updateSessionPurposeToggling);
-    updateSessionPurposeToggling();
+    if (sessionPurposeInputs.length > 0) {
+        sessionPurposeInputs.on("click", updateSessionPurposeToggling);
+        updateSessionPurposeToggling();
+    }
 
     // toggling visible timeslots
     let timeslotGroupInputs = content.find("#timeslot-group-toggles-modal .modal-body input");
diff --git a/ietf/templates/meeting/edit_meeting_schedule.html b/ietf/templates/meeting/edit_meeting_schedule.html
index f354d4451..3bea2dba5 100644
--- a/ietf/templates/meeting/edit_meeting_schedule.html
+++ b/ietf/templates/meeting/edit_meeting_schedule.html
@@ -199,19 +199,23 @@
               {% endfor %}
             </span>
 
-            <span class="toggle-inputs session-purpose-toggles">
-              Purpose:
-              {% for purpose in session_purposes %}
-                <label class="purpose-{{ purpose.slug }}"><input type="checkbox" checked value="{{ purpose.slug }}"> {{ purpose }}</label>
-              {% endfor %}
-            </span>
+            {% if session_purposes|length > 1 %}
+              <span class="toggle-inputs session-purpose-toggles">
+                Purpose:
+                {% for purpose in session_purposes %}
+                  <label class="purpose-{{ purpose.slug }}"><input type="checkbox" checked value="{{ purpose.slug }}"> {{ purpose }}</label>
+                {% endfor %}
+              </span>
+            {% endif %}
 
-            <span class="toggle-inputs timeslot-type-toggles">
-              Type:
-              {% for type in timeslot_types %}
-                <label class="timeslot-type-{{ type.slug }}"><input type="checkbox" checked value="{{ type.slug }}"> {{ type }}</label>
-              {% endfor %}
-            </span>
+            {% if timeslot_types|length > 1 %}
+              <span class="toggle-inputs timeslot-type-toggles">
+                Type:
+                {% for type in timeslot_types %}
+                  <label class="timeslot-type-{{ type.slug }}"><input type="checkbox" checked value="{{ type.slug }}"> {{ type }}</label>
+                {% endfor %}
+              </span>
+            {% endif %}
           </div>
         </div>
       </div>