Le repo des sources pour le site web des JM2L
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

172 linhas
4.9 KiB

  1. <%inherit file="jm2l:templates/layout.mako"/>
  2. <%namespace name="helpers" file="jm2l:templates/helpers.mako"/>
  3. <%
  4. TabDisplay = [
  5. (u'Tables rondes', 'Table ronde'),
  6. (u'Conférences', 'Conference'),
  7. (u'Ateliers', 'Atelier'),
  8. (u'Stands', 'Stand'),
  9. ]
  10. %>
  11. <%def name="jsAddOn()">
  12. <script type="text/javascript" src="/vendor/d3js/d3.v3.min.js"></script>
  13. <script type="text/javascript" src="/js/programme.js"></script>
  14. </%def>
  15. <%def name="cssAddOn()">
  16. <style>
  17. .myblock {
  18. background-color:#EEE;
  19. border: 1px solid #ccc;
  20. height: 65px;
  21. }
  22. .SvgBody {
  23. padding: 0px;
  24. /* background-color: transparent; */
  25. }
  26. .EvtBox {
  27. font-size: 0.7em;
  28. line-height: 1.2em;
  29. padding:5px;
  30. height:100%;
  31. max-width: 100%;
  32. }
  33. .EvtBox a {
  34. color: #666;
  35. }
  36. svg {
  37. font: 10px sans-serif;
  38. shape-rendering: crispEdges;
  39. }
  40. rect{fill:red;
  41. stroke:none;
  42. shape-rendering:crispEdges;
  43. }
  44. svg {
  45. margin: 1.5em auto;
  46. max-width: 100%;
  47. display: block;
  48. }
  49. .axis path,
  50. .axis line {
  51. fill: none;
  52. stroke: #222;
  53. }
  54. </style>
  55. </%def>
  56. <div class="row-fluid">
  57. <div class="span9">
  58. <h2 class="shadow">Le Programme ${DisplayYear}</h2>
  59. <a class="pull-right" href="/${DisplayYear}/JM2L.ics">Fichier ICAL ${DisplayYear}</a>
  60. <div class="tabbable" id="main_tab">
  61. <ul class="nav nav-tabs" style="margin-bottom: 5px;">
  62. % for Num, (Day, IdDay) in enumerate(Days):
  63. <li class="${['','active'][Num==0]}"><a href="#Day${Num}" id="Schedule_${Num}" data-toggle="tab">${Day}</a></li>
  64. % endfor
  65. </ul>
  66. <div class="tab-content" style="padding:0">
  67. % for Num, (Day, IdDay) in enumerate(Days):
  68. <div class="tab-pane fade ${['','active '][Num==0]}in" id="Day${Num}">
  69. ## Container for SVG version of Programme
  70. <div id="Schedule_SVG_${IdDay}">
  71. </div>
  72. </div>
  73. % endfor
  74. </div>
  75. </div>
  76. </div>
  77. <div class="span3">
  78. <!--Sidebar content-->
  79. ${helpers.participants(DisplayYear)}
  80. </div>
  81. </div>
  82. <div class="row-fluid">
  83. <div class="span10 offset1">
  84. <div id="DivProg" style="border: 1px solid black;"></div>
  85. ##<div class="accordion" id="accordionEvent">
  86. % for num, (Title, EvtType) in enumerate( TabDisplay ):
  87. <%
  88. Counter = Events.filter(Event.event_type==EvtType).count()
  89. if Counter==0:
  90. continue
  91. %>
  92. ## <div class="accordion-group">
  93. ## <div class="accordion-heading">
  94. ## <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordionEvent" href="#collapseEvent${num}">
  95. ## ${Counter} ${Title}
  96. ## </a>
  97. ## </div>
  98. ## <div id="collapseEvent${num}" class="accordion-body collapse">
  99. ## <div class="accordion-inner">
  100. <table class="table table-striped table-bordered table-hover">
  101. <thead>
  102. <tr>
  103. <th style="width:7em;text-align:center;">Date</th>
  104. <th style="text-align:center;">${Counter} ${Title}</th>
  105. </tr>
  106. </thead>
  107. <tbody>
  108. % for event in Events.filter(Event.event_type==EvtType):
  109. <tr>
  110. <td style="text-align:center;">
  111. <%
  112. vid = event.video.first()
  113. pres = event.presentation.first()
  114. %>
  115. ${event.start_time.strftime("%a %d %b").decode('utf-8')}<br>
  116. ${event.start_time.strftime("%H:%M")} - ${event.end_time.strftime("%H:%M")}
  117. </td>
  118. <td style="position: relative;">
  119. <strong>
  120. <a href="/event/${event.for_year}/${event.slug}">${event.name}</a>
  121. </strong>
  122. <span style="float:right;">
  123. % if vid:
  124. <a href="${vid.get_path}">
  125. <i class="icon-film"></i>
  126. </a>
  127. % endif
  128. % if pres:
  129. <a href="${pres.get_path}">
  130. <i class="icon-list-alt"></i>
  131. </a>
  132. % endif
  133. </span>
  134. <br/>
  135. avec
  136. % for num, inter in enumerate(event.intervenants.all()):
  137. %if num>0:
  138. ,
  139. %endif
  140. <a href="/user/${inter.slug}">${inter.prenom} ${inter.nom}</a>
  141. % endfor
  142. % if event.Salle:
  143. <div style="position: absolute; bottom: 2px; right: 5px;">
  144. ${event.Salle.name}
  145. </div>
  146. % endif
  147. </td>
  148. </tr>
  149. % endfor
  150. </tbody>
  151. </table>
  152. ## </div>
  153. ## </div>
  154. ## </div>
  155. % endfor
  156. ##</div>
  157. </div>
  158. </div>