datatracker/ietf/templates/meeting/landscape_edit.html
2015-04-29 14:39:17 +00:00

383 lines
14 KiB
HTML

{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin %}
{% load ietf_filters %}
{# Copyright The IETF Trust 2007, All Rights Reserved #}
{% load humanize %}
{% 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/agenda/jquery-ui-themes/jquery-ui-1.8.11.custom.css' />
<link rel='stylesheet' type='text/css' href='/css/agenda/agenda.css' />
{% endblock pagehead %}
{% block js %}
<script type="text/javascript" src="/js/agenda/jquery-1.8.2.min.js"></script>
<script src="/js/lib/jquery.cookie.min.js"></script>
<script>
jQuery.ajaxSetup({
crossDomain: false, // obviates need for sameOrigin test
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
}
}
});
</script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery-ui.custom.min.js'></script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery.ui.widget.min.js'></script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery.ui.droppable.min.js'></script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery.ui.sortable.min.js'></script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery.ui.accordion.min.js'></script>
<script type='text/javascript' src='/js/agenda/jquery-ui-1.9.0.custom/minified/jquery.ui.draggable.min.js'></script>
<script type='text/javascript' src='/js/agenda/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'>
var meeting_number = "{{ meeting.number }}";
var schedule_id = {{ schedule.id }};
var schedule_owner_href = "{{ schedule.owner_email }}";
var schedule_name = "{{ schedule.name }}";
var meeting_base_url = "{{ meeting_base_url }}";
var schedule_owner_email = "{{ schedule.owner_email }}";
var site_base_url = "{{ site_base_url }}";
var scheduledsession_post_href = "{% url "ietf.meeting.ajax.scheduledsessions_json" meeting.number schedule.owner_email schedule.name %}";
var total_days = {{time_slices|length}};
var total_rooms = {{rooms|length}};
function setup_slots(promiselist){
{% for day in time_slices %}
days.push("{{day}}");
{% endfor %}
{% for ad in area_directors %}
area_directors["{{ad.group.acronym}}"] = [];
{% endfor %}
{% for ad in area_directors %}
area_directors["{{ad.group.acronym}}"].push(find_person_by_href("{{ad.person.defurl}}"));
{% endfor %}
var ts_promise = load_timeslots("{% url "ietf.meeting.ajax.timeslot_slotsurl" meeting.number %}");
var sess_promise = load_sessions("{% url "ietf.meeting.ajax.sessions_json" meeting.number %}");
promiselist.push(ts_promise);
promiselist.push(sess_promise);
var ss_promise = load_scheduledsessions(ts_promise, sess_promise, scheduledsession_post_href);
promiselist.push(ss_promise);
console.log("setup_slots run");
{% for area in area_list %}
legend_status["{{area.upcase_acronym}}"] = true;
{% endfor %}
}
</script>
<style type='text/css'>
</style>
{% endblock js %}
{% block content %}
{% origin %}
<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="content"> {% comment %} For preserving styling across the facelift {% endcomment %}
<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">
&lt;
</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>
<!-- 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>
{%comment%}<table id="meetings" class="ietf-navbar" style="width:100%">{%endcomment%}
<table id="meetings" class="ietf-navbar" >
<tr>
<th class="schedule_title"><div id="pageloaded" style="display:none">loaded</div><div id="spinner"><!-- spinney goes here --></div></th>
{% comment %}<th></th>{% endcomment %}
{% 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'}}&nbsp;({{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>
<tr>
<th class="th_column"><button id="show_all_button" class="styled_button">show all</button></th>
{% comment %}<th><!-- resources --></th>{% endcomment %}
{% 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"></th>
{% endfor %}
</tr>
{% 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>
</th>
{% comment 'The secretariat is not using these features' %}
<th class="room_features">
<div class="resource_list">
{% for resource in r.resources.all %}
<span class="resource_image">
<img src="/images/{{ resource.icon }}" height=24 alt="{{resource.desc}}" title="{{resource.desc}}"/>
</span>
{% endfor %}
</div>
</th>
{% endcomment %}
{% for day in time_slices %}
{% for slot in date_slices|lookup:day %}
<td id="{{r.dom_id}}_{{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 id="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>
<tr>
<td colspan=2>
<div class="agenda_nice_button" id="agenda_find_free">
<button class="agenda_selected_buttons small_button" id="find_free">Find Free</button>
</div>
<div class="agenda_nice_button button_disabled" id="agenda_double_slot">
<button class="agenda_selected_buttons small_button" disabled id="double_slot">Extend</button>
</div>
<div id="agenda_pin_slot" class="agenda_nice_button button_disabled">
<button class="agenda_selected_buttons small_button" disabled id="pin_slot">Pin</button>
</div>
</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"><span id="info_duration"></span>
<span style="right" id="grp_type"></span></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>
<tr>
<td colspan=3>
<div class="agenda_nice_button button_disabled" id="agenda_prev_session">
<button class="agenda_selected_buttons small_button" disabled id="prev_session">Prev</button>
</div>
<div class="agenda_nice_button button_disabled" id="agenda_show">
<button class="agenda_selected_buttons small_button" disabled id="show_session">Show</button>
</div>
<div class="agenda_nice_button button_disabled" id="agenda_next_session">
<button class="agenda_selected_buttons small_button" disabled id="next_session">Next</button>
</div>
<div class="request_features" id="agenda_requested_features">
</div>
</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="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 id="saveasbutton" type="submit" name="saveas" value="saveas">
</form>
</div>
</div>
</div>
</div> {% comment %} End of .content div {% endcomment %}
{% endblock %}