Use the unpublish flag on presentations to hide them from the schedule grid/mobile view as well as the schedule lists. Show unpublished indicator for staff.
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% load lca2018_tags %}
 | 
						|
{% load lca2019_tags %}
 | 
						|
{% load waffle_tags %}
 | 
						|
 | 
						|
 | 
						|
{% with timetable|day_has_tracks:timetable.day as has_tracks %}
 | 
						|
 | 
						|
{% for row in timetable %}
 | 
						|
{% for slot in row.slots %}
 | 
						|
<div class="mobile-slot my-3">
 | 
						|
  {% if forloop.first %}
 | 
						|
    <h3>{{ row.time|date:"h:iA" }}–{{ row.end|date:"h:iA" }}</h3>
 | 
						|
  {% endif %}
 | 
						|
  {% with slot.kind.label.lower as label %}
 | 
						|
  {% if label == "talk" or label == "tutorial" %}
 | 
						|
    {% if slot.content.unpublish and not request.user.is_staff %}
 | 
						|
    <p><em>To be announced</em></p>
 | 
						|
    {% elif slot.content %}
 | 
						|
    <p>
 | 
						|
      <a href="{% url "schedule_presentation_detail" slot.content.pk %}">{{ slot.content.title }}</a>
 | 
						|
      <br>
 | 
						|
      {{ slot.content.speakers|join:", "}}
 | 
						|
    </p>
 | 
						|
    {% if slot.content.unpublish %}
 | 
						|
    <span class="badge badge-pill badge-warning">Unpublished</span>
 | 
						|
    {% endif %}
 | 
						|
    {% endif %}
 | 
						|
  {% elif label == "shortbreak" %}
 | 
						|
  {% else %}
 | 
						|
    {% if slot.content_override %}
 | 
						|
      {{ slot.content_override_html|safe }}
 | 
						|
    {% else %}
 | 
						|
    <div class="d-flex align-items-center">
 | 
						|
      <p>{{ slot.kind.label }}</p>
 | 
						|
    </div>
 | 
						|
    {% endif %}
 | 
						|
  {% endif %}
 | 
						|
  {% endwith %}
 | 
						|
 | 
						|
  <p><em>
 | 
						|
    {% if has_tracks and not slot.exclusive %}
 | 
						|
    {% with slot.rooms.0|trackname:timetable.day as track_name %}
 | 
						|
    {% if track_name %}{{ track_name }} — {% endif %}
 | 
						|
    {% endwith %}
 | 
						|
    {% endif %}
 | 
						|
    {{ slot.rooms|join:", "}}
 | 
						|
    <br />
 | 
						|
    ends {{ slot.end }}
 | 
						|
  </em></p>
 | 
						|
 | 
						|
  {% if edit_schedule %}
 | 
						|
  <a class="btn btn-secondary btn-sm edit-slot" role="button" data-action="{% url "schedule_slot_edit" schedule.section.slug slot.pk %}" href="#">Edit</a>
 | 
						|
  {% endif %}
 | 
						|
</div>
 | 
						|
{% endfor %}
 | 
						|
{% if forloop.last %}
 | 
						|
<div class="mobile-slot my-3">
 | 
						|
  <h3>{{ row.time|date:"h:iA" }}</h3>
 | 
						|
  <p><em>Day End</em></p>
 | 
						|
</div>
 | 
						|
{% endif %}
 | 
						|
{% endfor %}
 | 
						|
 | 
						|
{% endwith %}
 |