@@ -69,7 +69,7 @@ def main(global_config, **settings): | |||
config.add_route('action_salle', '/Salles/{action:(\w+)}/{salle_id:(\d+)}') | |||
# HTML Routes - Public | |||
config.add_route('home', '/') | |||
config.add_route('home', '/{year:(\d+/)?}') | |||
config.add_route('presse', '/{year:\d+}/dossier-de-presse') | |||
config.add_route('edit_presse', '/{year:\d+}/dossier-de-presse/edit') | |||
config.add_route('programme', '/{year:\d+}/le-programme') | |||
@@ -4,7 +4,7 @@ | |||
<script> | |||
var timeline = new VMM.Timeline("timeline", '95%', '500px'); | |||
var c = {language:{ lang:"fr",api:{wikipedia:"fr"},date:{month:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],month_abbr:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","dec."],day:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],day_abbr:["Dim.","Lu.","Ma.","Me.","Jeu.","Vend.","Sam."]},dateformats:{year:"yyyy",month_short:"mmm",month:"mmmm yyyy",full_short:"d mmm",full:"d mmmm yyyy",time_short:"HH:MM:SS",time_no_seconds_short:"HH:MM",time_no_seconds_small_date:"HH:MM'<br/><small>'d mmmm yyyy'</small>'",full_long:"dddd',' d mmm yyyy 'à' HH:MM",full_long_small_date:"HH:MM'<br/><small>'dddd',' d mmm yyyy'</small>'"},messages:{loading_timeline:"Chargement de la frise en cours... ",return_to_title:"Retour à la page d'accueil",expand_timeline:"Elargir la frise",contract_timeline:"Réduire la frise",wikipedia:"Extrait de Wikipedia, l'encyclopédie libre",loading_content:"Chargement",loading:"Chargement",swipe_nav:"Swipe to Navigate"}}}; | |||
timeline.init(c, "/2015/timeline-json"); | |||
timeline.init(c, "/${year}/timeline-json"); | |||
</script> | |||
</%def> | |||
<%def name="cssAddOn()"> | |||
@@ -20,8 +20,9 @@ | |||
} | |||
</style> | |||
</%def> | |||
<H2 style="text-align: center;" class="shadow">9<sup>ème</sup> édition des JM2L</H2> | |||
<H2 style="text-align: center;" class="shadow">${edition | n} édition des JM2L</H2> | |||
<br> | |||
% if year=='2015': | |||
<div class="row-fluid"> | |||
<div class="span4 offset1"> | |||
<blockquote> | |||
@@ -31,11 +32,8 @@ | |||
Le thème de cette année sera « Do It Yourself » ou « Faîtes le vous-même » : | |||
<ul class="enum"> | |||
<li>Migration vers les logiciels libres</li> | |||
## <li>Libres enfants du numérique : jeux et loisirs pour les juniors.</li> | |||
## <li>Gérer ses données personnelles</li> | |||
<li>Do It Yourself (jeux vidéos, fablabs…)</li> | |||
<li>Culture libre</li> | |||
## <li>Communautés du libre</li> | |||
</ul> | |||
</div> | |||
<div class="span4 offset1"> | |||
@@ -50,21 +48,9 @@ | |||
</p> | |||
</div> | |||
</div> | |||
## Nous vous proposons plusieurs formats de contribution : | |||
## <ul class="enum"> | |||
## <li>Stands au sein du village associatif</li> | |||
## <li>Conférences de 20 à 70 minutes suivies d’un échange</li> | |||
## <li>Ateliers de 45 minutes ou 1h15</li> | |||
## <li>Démos de vos matériels, logiciels ou projets libres</li> | |||
## <li>Animations ouvertes</li> | |||
## <li>Vous pouvez aussi aider l'équipe à la logistique.</li> | |||
## </ul> | |||
## <p> | |||
## Il sera bien sûr possible de combiner plusieurs formats (par exemple, une démo ou une conférence suivie | |||
## d’un atelier). | |||
## </p> | |||
% else: | |||
<a href="/${year}/le-programme">La grille du programme</a> | |||
% endif | |||
<div class="row-fluid"> | |||
<div class="span12"> | |||
@@ -603,7 +603,7 @@ TabJs = {'select':[], 'desc':[]} | |||
## Wrapper pour les sponsors | |||
## -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= | |||
<%def name="participants(Year)"> \ | |||
<div id='right_panel'> | |||
<table class="ShowEntities table"> | |||
<thead> | |||
<th colspan="3">Sponsors ${Year}</th> | |||
@@ -647,4 +647,5 @@ TabJs = {'select':[], 'desc':[]} | |||
% endfor | |||
</tr> | |||
</table> | |||
</div> | |||
</%def> \ |
@@ -37,9 +37,8 @@ ${helpers.uploader_js()} | |||
<div id="wrap"> | |||
<div id="top"> | |||
% if DisplayYear!=2015: | |||
## style="background: url( ${"/img/%s/headerbg.png" % DisplayYear} ) repeat-x scroll 0 top #ffffff;"> | |||
<div class="align-center"> | |||
<a href="/"> | |||
<div class="align-center" style="background: url( ${'/img/%s/headerbg.png' % DisplayYear} ) repeat-x scroll 0 top #ffffff;"> | |||
<a href="${"/%s/" % DisplayYear}"> | |||
<div style="height:215px;background: url( ${"/img/%s/logo.png" % DisplayYear} ) no-repeat scroll center center transparent"> | |||
</div> | |||
</a> | |||
@@ -98,19 +97,18 @@ ${helpers.uploader_js()} | |||
<div class="navbar"> | |||
<div class="navbar-inner"> | |||
<div class="container"> | |||
<div class="nav pull-left"> | |||
<div class="nav pull-right"> | |||
<div class="btn-group"> | |||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> | |||
<span class="brand" style="padding: 0 10px 0 18px;">JM2L | |||
<small>${DisplayYear}</small> <span class="caret"></span></span></a> | |||
Archives <span class="caret"></span></a> | |||
<ul class="dropdown-menu"> | |||
% for tmpyear in range(2015, 2005, -1): | |||
% if tmpyear!=2014: | |||
% for tmpyear in range(2013, 2005, -1): | |||
<li><a href="/year/${tmpyear}">${tmpyear}</a></li> | |||
% endif | |||
% endfor | |||
</ul> | |||
</div> | |||
<div class="btn-group"> | |||
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> | |||
% if request.user: | |||
@@ -138,18 +136,17 @@ ${helpers.uploader_js()} | |||
## </li> | |||
</ul> | |||
</div> | |||
</div> | |||
</div> | |||
<ul class="nav nav-pills pull-right"> | |||
<li class="${accueil or ''}"><a href="/">Accueil</a></li> | |||
<li class="${programme or ''}"><a href="/${DisplayYear}/le-programme">Programme</a></li> | |||
<li class="${presse or ''}"><a href="/${DisplayYear}/dossier-de-presse">Presse</a></li> | |||
<li class="${plan or ''}"><a href="/nous-rejoindre">Contact et Plan</a></li> | |||
% if request.user: | |||
<li class="${participer or ''}"><a href="/MesJM2L">Mes JM2L</a></li> | |||
% else: | |||
<li class="${participer or ''}"><a href="/participer-l-evenement">Participer</a></li> | |||
% endif | |||
% endif | |||
<li class="${programme or ''}"><a href="/${DisplayYear}/le-programme">Programme</a></li> | |||
<li class="${presse or ''}"><a href="/${DisplayYear}/dossier-de-presse">Presse</a></li> | |||
<li class="${plan or ''}"><a href="/nous-rejoindre">Contact et Plan</a></li> | |||
</ul> | |||
</div> | |||
@@ -170,9 +170,17 @@ def JSON_TimeLine_Request(request): | |||
.filter("strftime('%d', start_time) = :dow").params(dow=Day.day)\ | |||
.order_by(Event.start_time) | |||
ListEv = [] | |||
#ListEv = [] | |||
for ev in Events: | |||
if ev.event_type: | |||
CurMedia = ev.video.first() or "" | |||
if CurMedia: | |||
Container = """<video controls="controls" preload="metadata">""" | |||
Container += "<source type=\"" + CurMedia.mime_type + "\"" | |||
Container += " src=\"" + CurMedia.get_path + "\" />" | |||
Container += "</video>" | |||
else: | |||
Container = "" | |||
ListEv.append( { | |||
#"uid":"%d/%d" % ( year, ev.uid ), | |||
"headline":ev.name, | |||
@@ -182,32 +190,55 @@ def JSON_TimeLine_Request(request): | |||
"tags":ev.Salle and (ev.Salle.name or "unk") , | |||
#"status":ev.event_type, | |||
"asset": { | |||
"media":"", #http://jm2l.linux-azur.org/sites/jm2l.linux-azur.org/files/videos/2012/2012_Introduction_aux_logiciels_libres__Frederic_Couchet.ogv", | |||
"media": Container, | |||
"credit":"", | |||
"caption":"" } | |||
} ) | |||
break | |||
DicResult = { | |||
"lang":"fr", | |||
"headline":"JM2L 2015", | |||
"type":"default", | |||
"startDate":"2015,11,28,10", | |||
"text":"<i><span class='c1'>9ème Édition</span></i>", | |||
"asset": | |||
{ | |||
"media":"https://www.youtube.com/watch?v=DnfjrxVoLao", | |||
"credit":"JM2L", | |||
"caption":"" | |||
if year=="2015": | |||
DicResult = { | |||
"lang":"fr", | |||
"headline":"JM2L 2015", | |||
"type":"default", | |||
"startDate":"2015,11,28,10", | |||
"text":"<i><span class='c1'>9ème Édition</span></i>", | |||
"asset": | |||
{ | |||
"media":"https://www.youtube.com/watch?v=DnfjrxVoLao", | |||
"credit":"JM2L", | |||
"caption":"" | |||
} | |||
} | |||
else: | |||
DicResult = { | |||
"lang":"fr", | |||
"headline":"JM2L %d" % year, | |||
"type":"default", | |||
"asset": | |||
{ | |||
"media":"", | |||
"credit":"JM2L", | |||
"caption":"" | |||
} | |||
} | |||
} | |||
DicResult["date"] = ListEv | |||
return { 'timeline':DicResult } | |||
## =-=- Here, We handle HTTP requests - Public Part -=-= | |||
@view_config(route_name='home', renderer="jm2l:templates/NewIndex.mako") | |||
def index_page(request): | |||
MainTab = {'accueil':'active', "logged_in":request.authenticated_userid } | |||
return MainTab | |||
year = request.matchdict.get('year') | |||
if year: | |||
year=int(year[:-1]) | |||
if 2004<year<=CurrentYear: | |||
if year==2006: | |||
return {'year': year, 'edition':u"1<sup>ère</sup>" } | |||
else: | |||
edition = year - 2005 | |||
return {'year': year, 'edition':u"%d<sup>ème</sup>" % edition } | |||
else: | |||
raise HTTPNotFound() | |||
return {'year': CurrentYear, 'edition':u"9<sup>ème</sup>"} | |||
@view_config(route_name='programme', renderer="jm2l:templates/Public/Programme.mako") | |||
def programme(request): | |||
@@ -250,7 +281,9 @@ def edit_presse(request): | |||
return MainTab | |||
@view_config(route_name='plan', renderer="jm2l:templates/Public/Plan.mako") | |||
def static_plan(request): | |||
def static_plan(request): | |||
session = request.session | |||
session['year'] = 2015 | |||
MainTab = {'plan':'active', "logged_in":request.authenticated_userid } | |||
return MainTab | |||
@@ -850,7 +883,7 @@ def change_year(request): | |||
session = request.session | |||
if year>-1: | |||
session['year'] = year | |||
return HTTPFound(location='/%s/le-programme' % year) | |||
return HTTPFound(location='/%s/' % year) | |||
return HTTPFound(location=request.route_url('home')) | |||
@view_config(route_name='pict_user', renderer="jm2l:templates/Profil/pict_user.mako") | |||