@@ -108,6 +108,7 @@ def main(global_config, **settings): | |||||
config.add_route('vote_logo', '/vote_logo/{num:\d+}') | config.add_route('vote_logo', '/vote_logo/{num:\d+}') | ||||
# HTML Routes - Staff | # HTML Routes - Staff | ||||
config.add_route('Live', '/Live') | |||||
config.add_route('list_task', '/Staff') | config.add_route('list_task', '/Staff') | ||||
config.add_route('handle_pole', '/Staff/poles{sep:/*}{pole_id:(\d+)?}') | config.add_route('handle_pole', '/Staff/poles{sep:/*}{pole_id:(\d+)?}') | ||||
config.add_route('handle_task', '/Staff/tasks{sep:/*}{task_id:(\d+)?}') | config.add_route('handle_task', '/Staff/tasks{sep:/*}{task_id:(\d+)?}') | ||||
@@ -0,0 +1,36 @@ | |||||
<%inherit file="jm2l:templates/layout.mako"/> | |||||
<%namespace name="helpers" file="jm2l:templates/helpers.mako"/> | |||||
<%def name="jsAddOn_head()"> | |||||
<script src="/vendor/leaflet/js/leaflet.js"></script> | |||||
</%def> | |||||
<%def name="cssAddOn()"> | |||||
<link rel="stylesheet" href="/vendor/leaflet/css/leaflet.css" /> | |||||
<style> | |||||
#come_map { | |||||
height: 300px; | |||||
} | |||||
</style> | |||||
</%def> | |||||
<div class="span10 offset1"> | |||||
<h3>Live JM2L</h3> | |||||
<p> | |||||
Voici les liens vers les conférences Live: | |||||
<h4>En ce moment:</h4> | |||||
</p> | |||||
<p> | |||||
% for ev in events: | |||||
<a href="http://jm2l.linux-azur.org:8081/${ev.Salle.phy_salle_id}.webm" target="_blank"> Live Vidéo</a> - | |||||
<a href="http://jm2l.linux-azur.org/event/${ev.for_year}/${ev.slug}"> ${ev.event_type} </a> - ${ev.name} | |||||
</br> | |||||
% endfor | |||||
</p> | |||||
<p> | |||||
Réalisé avec le concours des admins réseau Polytech'Nice. Encore merci pour leur disponibilité .. <br/> | |||||
Rechargez la page pour voir les évenements en cours en fonction de l'heure...<br/> | |||||
Vous avez le droit de vous plaindre, c'est du Do It Yourself ;) | |||||
</p> | |||||
</div> |
@@ -11,7 +11,7 @@ from .forms import * | |||||
# Database access imports | # Database access imports | ||||
from .models import * | from .models import * | ||||
from .helpers import Orga_helpers | from .helpers import Orga_helpers | ||||
from sqlalchemy import func, or_, text | |||||
from sqlalchemy import func, or_, text, and_ | |||||
from os import path, makedirs, listdir | from os import path, makedirs, listdir | ||||
# Usefull tools | # Usefull tools | ||||
from slugify import slugify | from slugify import slugify | ||||
@@ -43,6 +43,18 @@ def embeed_video(mime_type, link): | |||||
return Container | return Container | ||||
@view_config(route_name='Live', renderer="jm2l:templates/Live.mako") | |||||
def Live(request): | |||||
year = int(request.matchdict.get('year', CurrentYear)) | |||||
tz = timezone('Europe/Paris') | |||||
curtime = datetime.datetime.now().replace(tzinfo=tz, day=28) #, hour=10, minute=00 ) | |||||
Events = DBSession.query(Event)\ | |||||
.filter(Event.for_year == year)\ | |||||
.filter(Event.event_type != 'Stand')\ | |||||
.filter(and_(Event.start_time <= curtime, Event.end_time >= curtime) )\ | |||||
.order_by(Event.start_time) | |||||
return {'year': year, "DisplayYear": year, 'events':Events, "logged_in":request.authenticated_userid } | |||||
## =-=- Here, We handle ICal requests -=-= | ## =-=- Here, We handle ICal requests -=-= | ||||
@view_config(route_name='progr_iCal', renderer="string") | @view_config(route_name='progr_iCal', renderer="string") | ||||
def ICal_Progamme_Request(request): | def ICal_Progamme_Request(request): | ||||