Source code for the PTG event scheduling bot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

104 lines
3.3 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="60">
<title>Currently at the PTG</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="bootstrap-3.3.7.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="container">
<h2>OpenStack Project Teams Gathering</h2>
<p>See what is being discussed currently at the PTG, and what's coming next.<p>
<div id="PTGsessions">
</div>
</div>
<script id="PTGtemplate" type="text/x-handlebars-template">
<style>
{{#each colors as |color track|}}
.{{track}} {
background-color: {{color}};
}
{{/each}}
</style>
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">Current discussion topics</h3></div>
<table class="table">
{{#each tracks as |track| }}
{{#if (lookup @root.now track) }}
<tr>
<td class="col-sm-1"><span class="label label-primary {{track}}">{{track}}</span></td>
<td>{{#hashtag}}{{lookup @root.now track}}{{/hashtag}}</td>
<td>{{lookup @root.location track}}</td>
</tr>
{{/if}}
{{else}}
<tr><td><small><i>Nothing yet</i></small><td></tr>
{{/each}}
</table>
</div>
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">Coming up next...</h3></div>
<table class="table">
{{#each tracks as |track| }}
{{#if (lookup @root.next track) }}
<tr>
<td class="col-sm-1"><span class="label label-primary {{track}}">{{track}}</span></td>
<td>
{{#each (lookup @root.next track) as |item|}}
{{#hashtag}}{{item}}{{/hashtag}} <br/>
{{/each}}
</td>
</tr>
{{/if}}
{{else}}
<tr><td><small><i>Nothing yet</i></small><td></tr>
{{/each}}
</table>
</div>
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">Scheduled tracks</h3></div>
<div class="panel-body">
<ul class="nav nav-tabs" role="tablist">
{{#each slots as |times day|}}
<li role="presentation"><a id='st{{day}}' href="#s{{day}}" aria-controls="s{{day}}" role="tab" data-toggle="tab">{{day}}</a></li>
{{/each}}
</ul>
<!-- Tab panes -->
<div class="tab-content">
{{#each slots as |times day|}}
<div role="tabpanel" class="tab-pane" id="s{{day}}">
<table class="table table-condensed">
<thead><tr><th></th>
{{#each times as |time|}}
<th>{{time.desc}}</th>
{{/each}}
</tr></thead>
{{#each @root.scheduled as |schedule room|}}
{{#if (roomactive @root.scheduled @root.additional room times)}}
<tr><td>{{room}}</td>
{{#each (lookup @root.slots day) as |time|}}
<td>{{ roomcode @root.scheduled @root.additional room time.name 0 }}</td>
{{/each}}
</tr>
{{/if}}
{{/each}}
</table>
</div>
{{/each}}
</div>
<small><i>Use '#TRACK book SLOTREF' to book one of the empty slots with the ptgbot</i></small>
</div>
</div>
<p class="text-muted">Content on this page is being driven by room operators through the openstackptg bot on the #openstack-ptg IRC channel. It was last refreshed on {{timestamp}}.</p>
</script>
<script src="jquery-1.9.1.min.js"></script>
<script src="handlebars-4.0.6.js"></script>
<script src="bootstrap-3.3.7.min.js"></script>
<script src="ptg.js"></script>
</body>
</html>