Le repo des sources pour le site web des JM2L
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.
 
 
 
 
 

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