- Legacy-Id: 6344 Note: SVN reference [6337] has been migrated to Git commit d0d1d949a9328da6c4e30d8f5e0d14ffb204e678
370 lines
13 KiB
HTML
370 lines
13 KiB
HTML
{# -*- html -*- #}
|
|
{% extends "base.html" %}
|
|
{% load ietf_filters %}
|
|
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
|
{% load humanize %}
|
|
|
|
{% load dajaxice_templatetags %}
|
|
|
|
{% block morecss %}
|
|
{% for area in area_list %}
|
|
.{{ area.upcase_acronym}}-scheme, .meeting_event th.{{ area.upcase_acronym}}-scheme, #{{ area.upcase_acronym }}-groups, #selector-{{ area.upcase_acronym }} { color:{{ area.fg_color }}; background-color: {{ area.bg_color }} }
|
|
.director-mark-{{ area.upcase_acronym}} {
|
|
border: 2px solid {{ area.fg_color}};
|
|
color:{{ area.fg_color }};
|
|
background-color: {{ area.bg_color }}
|
|
}
|
|
{% endfor %}
|
|
{% endblock morecss %}
|
|
|
|
{% block title %}IETF {{ meeting.number }} Meeting Agenda{% endblock %}
|
|
{% load agenda_custom_tags %}
|
|
{% block pagehead %}
|
|
<link rel='stylesheet' type='text/css' href='/css/jquery-ui-themes/jquery-ui-1.8.11.custom.css' />
|
|
<link rel="stylesheet" type="text/css" href="/css/base2.css"></link>
|
|
<link rel='stylesheet' type='text/css' href='/css/agenda.css' />
|
|
|
|
|
|
<script type='text/javascript' src='/js/lib/jquery-1.8.2.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery-ui.custom.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery.ui.widget.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery.ui.droppable.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery.ui.sortable.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery.ui.accordion.min.js'></script>
|
|
<script type='text/javascript' src='/js/jquery-ui-1.9.0.custom/minified/jquery.ui.draggable.min.js'></script>
|
|
<!-- <script type='text/javascript' src='/js/jquery-ui-1.8.11.custom.min.js'></script> -->
|
|
|
|
{% dajaxice_js_import %}
|
|
|
|
<script type='text/javascript' src='/js/spin/dist/spin.min.js'></script>
|
|
<script type='text/javascript' src='/js/agenda/agenda_edit.js'></script>
|
|
<script type='text/javascript' src='/js/agenda/agenda_helpers.js'></script>
|
|
<script type='text/javascript' src='/js/agenda/agenda_objects.js'></script>
|
|
<script type='text/javascript' src='/js/agenda/agenda_listeners.js'></script>
|
|
|
|
|
|
<script type='text/javascript'>
|
|
|
|
|
|
meeting_number = {{ meeting.number }};
|
|
schedule_id = {{ schedule.id }};
|
|
var meeting_base_url = "{{ meeting_base_url }}";
|
|
var site_base_url = "{{ site_base_url }}";
|
|
total_days = {{time_slices|length}};
|
|
total_rooms = {{rooms|length}};
|
|
|
|
function setup_slots(){
|
|
{% for day in time_slices %}
|
|
days.push("{{day}}");
|
|
{% endfor %}
|
|
|
|
{% for ad in area_directors %}
|
|
area_directors["{{ad.area}}"] = [];
|
|
{% endfor %}
|
|
{% for ad in area_directors %}
|
|
area_directors["{{ad.area}}"].push(find_person_by_href("{{ad.defurl}}"));
|
|
{% endfor %}
|
|
|
|
{% autoescape off %}
|
|
{% for s in session_jsons %}
|
|
session_obj({{s}});
|
|
{% endfor %}
|
|
{% endautoescape %}
|
|
|
|
{% for s in scheduledsessions %}
|
|
make_ss({ "scheduledsession_id": "{{s.id}}",
|
|
"empty": "{{s.empty_str}}",
|
|
"timeslot_id":"{{s.timeslot.id}}",
|
|
"session_id" :"{{s.session.id}}",
|
|
"pinned" :"{{s.pinned}}",
|
|
{% if s.session %}{% if s.extendedfrom %}"extendedfrom_id":"{{s.extendedfrom.id}}",
|
|
{% endif %}{% endif %}"room" :"{{s.timeslot.location.name|slugify}}",
|
|
{% if s.slot_to_the_right %}"following_timeslot_id":"{{s.slot_to_the_right.id}}",
|
|
{% endif %}"roomtype" :"{{s.slottype}}",
|
|
"time" :"{{s.timeslot.time|date:'Hi' }}",
|
|
"date" :"{{s.timeslot.time|date:'Y-m-d'}}",
|
|
"domid" :"{{s.timeslot.js_identifier}}"});
|
|
{% endfor %}
|
|
|
|
make_ss({ "scheduledsession_id": 0,
|
|
"empty": true,
|
|
"timeslot_id":"Unassigned",
|
|
"session_id" :null,
|
|
"room" :"unassigned",
|
|
"time" :null,
|
|
"date" :null,
|
|
"domid" :"sortable-list"});
|
|
|
|
console.log("setup_slots run");
|
|
|
|
calculate_room_select_box();
|
|
|
|
{% for area in area_list %}
|
|
legend_status["{{area.upcase_acronym}}"] = true;
|
|
{% endfor %}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
<style type='text/css'>
|
|
|
|
</style>
|
|
{% endblock pagehead %}
|
|
|
|
|
|
{% block noTable %}
|
|
</tr></table></div>
|
|
<div id="read_only">
|
|
<p>
|
|
You do not have write permission to agenda: {{schedule.name}}
|
|
</p>
|
|
</p>
|
|
Please save this agenda to your account first.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="wrapper custom_text_stuff">
|
|
|
|
|
|
<div id="unassigned-items">
|
|
<div id="all_agendas" class="events_bar_buttons">
|
|
<a href="{% url ietf.meeting.views.edit_agendas meeting.number %}">
|
|
<button class="styled_button">all agendas</button>
|
|
</a>
|
|
</div>
|
|
<div id="hidden_room" class="hide_buttons events_bar_buttons">
|
|
<div class="very_small left">hidden rooms:<span id="hidden_rooms" >0/{{rooms|length}}</span></div>
|
|
<div><button class="small_button" id="show_hidden_rooms">Show</button></div>
|
|
</div>
|
|
<div id="hidden_day" class="hide_buttons events_bar_buttons">
|
|
<div class="very_small left">hidden days:<span id="hidden_days" >0/{{time_slices|length}}</span></div>
|
|
<div><button class="small_button" id="show_hidden_days">Show</button></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="unassigned_order" class="events_bar_buttons">
|
|
<select id="unassigned_sort_button" class="dialog">
|
|
<option id="unassigned_alpha" value="alphaname" selected>Alphabetical</option>
|
|
<option id="unassigned_area" value="area">By Area</option>
|
|
<option id="unassigned_duration" value="duration">By Duration</option>
|
|
<option id="unassigned_special" value="special">Special Request</option>
|
|
</select>
|
|
</div>
|
|
<div class="agenda_slot_title" >
|
|
<div style="ui-icon ui-icon-arrow-1-w" id="CLOSE_IETF_MENUBAR">
|
|
<
|
|
</div>
|
|
<b>Unassigned Events:</b>
|
|
<span id="schedule_name">name: {{schedule.name}}</span>
|
|
</div>
|
|
<div id="sortable-list" class="ui-droppable bucket-list room_title">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="agenda_div">
|
|
|
|
|
|
<div id="dialog-confirm" title="" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
Are you sure you want to put two sessions into the same slot?
|
|
</p>
|
|
</div>
|
|
|
|
<div id="can-extend-dialog" title="" class="ui-dialog dialog" style="display:none">
|
|
</div>
|
|
|
|
<div id="can-not-extend-dialog" title="" class="ui-dialog dialog" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
You can not extend this session. The slot is not available.
|
|
</p>
|
|
</div>
|
|
|
|
|
|
<div id="dialog-confirm" title="" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
Are you sure you want to put two sessions into the same slot?
|
|
</p>
|
|
</div>
|
|
|
|
<table id="meetings" class="ietf-navbar" style="width:100%">
|
|
<th class="schedule_title"><div id="spinner"><!-- spinney goes here --></div></th>
|
|
{% for day in time_slices %}
|
|
<th colspan="{{date_slices|colWidth:day}}" id="{{day|date:'Y-m-d'}}-btn" class=" day_{{day}} agenda_slot_title agenda_slot_unavailable">
|
|
<div id="close_{{day|date:'Y-m-d'}}" class="close top_left very_small close_day">x</div>
|
|
{{day|date:'D'}} ({{day}})
|
|
|
|
</th>
|
|
<th class="day_{{day}} spacer {{day|date:'Y-m-d'}}-spacer" id="">
|
|
<div class="ui-widget-content ui-resizable" id="resize-{{day|date:'Y-m-d'}}-spacer">
|
|
<div class="spacer_grip ui-resizable-handle ui-resizable-e"></div>
|
|
</div>
|
|
</th>
|
|
{% endfor %}
|
|
<tr>
|
|
<th class="th_column"><button id="show_all_button" class="styled_button">show all</button></th>
|
|
{% for day in time_slices %}
|
|
{% for slot in date_slices|lookup:day %}
|
|
<th class="day_{{day}}-{{slot.0|date:'Hi'}} day_{{day}} room_title ">{{slot.0|date:'Hi'}}-{{slot.1|date:'Hi'}} </th>
|
|
|
|
{% endfor %}
|
|
<th class="day_{{day}} spacer {{day|date:'Y-m-d'}}-spacer">
|
|
</div></th>
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
|
|
|
|
{% for r in rooms %}
|
|
<tr id="{{r.name|to_acceptable_id}}" class="{% cycle 'agenda_row_alt' '' %} agenda_slot">
|
|
<th class="vert_time">
|
|
<div class="close very_small close_room top_left small_button" id="close_{{r.name|to_acceptable_id}}">X</div>
|
|
<div class="right room_name">{{r.name}} <span class="capacity">({{r.capacity}})</span></div>
|
|
|
|
<!-- <span class="hide_room light_blue_border">X</span><span class="left">{{r.name}}</span>-->
|
|
</th>
|
|
{% for day in time_slices %}
|
|
{% for slot in date_slices|lookup:day %}
|
|
<td id="{{r.name|slugify}}_{{day}}_{{slot.0|date:'Hi'}}" class="day_{{day}} agenda-column-{{day}}-{{slot.0|date:'Hi'}} agenda_slot agenda_slot_unavailable" capacity="{{r.capacity}}" ></td>
|
|
{% endfor %}
|
|
<td class="day_{{day}} spacer {{day|date:'Y-m-d'}}-spacer"></td>
|
|
{% endfor %}
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="session-info" class="ui-droppable bucket-list room_title">
|
|
<div class="agenda_slot_title"><b>Session Information:</b></div>
|
|
|
|
<div class="ss_info_box">
|
|
<div class="ss_info ss_info_left">
|
|
<table>
|
|
<tr><td class="ss_info_name_short">Group:</td><td><span id="info_grp"></span>
|
|
<!-- <button id="agenda_sreq_button" class="right">Edit Request</button> --></tr>
|
|
<tr><td class="ss_info_name_short">Name:</td> <td d="info_name"></td></tr>
|
|
<tr><td class="ss_info_name_short">Area:</td> <td><span id="info_area"></span><button id="show_all_area" class="right">Show All</button></td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="ss_info ss_info_right">
|
|
<table>
|
|
<tr><td class="ss_info_name_long">Duration/Capacity:</td><td class="info_split" id="info_duration"></td> <td class="info_split" id="info_capacity"></td></tr>
|
|
<tr><td class="ss_info_name_long">Location:</td><td colspan=2 id="info_location"></td></tr>
|
|
<tr><td class="ss_info_name_long">Responsible AD:</td><td colspan=2 id="info_responsible"></td></tr>
|
|
<tr><td class="ss_info_name_long">Requested By:</td><td colspan=2 id="info_requestedby"></td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="conflict_table">
|
|
<div id="special_requests">Special Requests</div>
|
|
<table>
|
|
<tbody id="conflict_table_body">
|
|
<tr class="conflict_list_row">
|
|
<td class="conflict_list_title">
|
|
Group conflicts
|
|
</td>
|
|
<td id="conflict_group_list">
|
|
<ul>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="conflict_list_row">
|
|
<td class="conflict_list_title">
|
|
<b>be present</b>
|
|
</td>
|
|
<td id="conflict_people_list">
|
|
<ul>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="agenda_find_free"><button class="agenda_selected_buttons small_button" id="find_free">Find Free</button></div>
|
|
<div class="agenda_double_slot button_disabled">
|
|
<button class="agenda_selected_buttons small_button" disabled
|
|
id="double_slot">Extend</button>
|
|
</div>
|
|
<div id="agenda_pin_slot" class="button_disabled">
|
|
<button class="agenda_selected_buttons small_button" disabled
|
|
id="pin_slot">Pin</button>
|
|
</div>
|
|
<div class="color_legend">
|
|
{% for area in area_list %}
|
|
<span class="{{area.upcase_acronym}}-scheme"><input class='color_checkboxes' type="checkbox" id="{{area.upcase_acronym}}" value="{{area.upcase_acronym}}-value" checked>{{area.upcase_acronym}}</span>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="agenda_save_box">
|
|
|
|
<div id="agenda_title"><b>Agenda name: </b><span>{{schedule.name}}</span></div>
|
|
<div id="agenda_saveas">
|
|
<form action="{{saveasurl}}" method="post">{% csrf_token %}
|
|
{{ saveas.as_p }}
|
|
<input type="submit" name="saveas" value="saveas">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- some boxes for dialogues -->
|
|
<div id="dialog-confirm-two" title="" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
<span class="dialog-confirm-text">Are you sure you want to put two sessions into the same slot?</span>
|
|
</p>
|
|
</div>
|
|
|
|
<div id="dialog-confirm-toosmall" title="" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
<span class="dialog-confirm-text">The room you are moving to has a lower
|
|
room capacity then the requested capacity,<br>
|
|
Are you sure you want to continue?
|
|
</span>
|
|
</p>
|
|
</div>
|
|
|
|
<div id="dialog-confirm-twotoosmall" title="" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
<span class="dialog-confirm-text">
|
|
The slot you are moving to already has a session in it, <br>
|
|
the room is also smaller than the requested amount.<br>
|
|
Are you sure you want to continue?
|
|
</span>
|
|
</p>
|
|
</div>
|
|
|
|
<div id="can-extend-dialog" title="" class="ui-dialog dialog" style="display:none">
|
|
</div>
|
|
|
|
<div id="can-not-extend-dialog" title="" class="ui-dialog dialog" style="display:none">
|
|
<p>
|
|
<span class="ui-icon ui-icon-alert" style="background: white; float: left; margin: 0 7px 20px 0;"></span>
|
|
You can not extend this session. The slot is not available.
|
|
</p>
|
|
</div>
|
|
|
|
<table><tr><td>
|
|
|
|
{% endblock %}
|