Le repo des sources pour le site web des JM2L
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

172 Zeilen
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>