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.
 
 
 
 
 

176 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. }
  32. .Conference {
  33. fill: #f9fde8;
  34. }
  35. .Concert {
  36. fill: #2EE;
  37. }
  38. .Atelier {
  39. fill: #faebeb;
  40. }
  41. .Table-ronde {
  42. fill: #fff4e5;
  43. }
  44. .Repas {
  45. fill: #2EE;
  46. }
  47. svg {
  48. font: 10px sans-serif;
  49. shape-rendering: crispEdges;
  50. }
  51. rect {
  52. stroke-width: 0px;
  53. }
  54. .axis path,
  55. .axis line {
  56. fill: none;
  57. stroke: #222;
  58. }
  59. </style>
  60. </%def>
  61. <div class="row-fluid">
  62. <div class="span9">
  63. <h2 class="shadow">Le Programme ${DisplayYear}</h2>
  64. <a class="pull-right" href="/${DisplayYear}/JM2L.ics">Fichier ICAL ${DisplayYear}</a>
  65. <div class="tabbable" id="main_tab">
  66. <ul class="nav nav-tabs" style="margin-bottom: 5px;">
  67. % for Num, (Day, IdDay) in enumerate(Days):
  68. <li class="${['','active'][Num==0]}"><a href="#Day${Num}" id="Schedule_${Num}" data-toggle="tab">${Day}</a></li>
  69. % endfor
  70. </ul>
  71. <div class="tab-content" style="padding:0">
  72. % for Num, (Day, IdDay) in enumerate(Days):
  73. <div class="tab-pane fade ${['','active '][Num==0]}in" id="Day${Num}">
  74. ## Container for SVG version of Programme
  75. <div id="Schedule_SVG_${IdDay}">
  76. </div>
  77. </div>
  78. % endfor
  79. </div>
  80. </div>
  81. </div>
  82. <div class="span3">
  83. <!--Sidebar content-->
  84. ${helpers.participants(DisplayYear)}
  85. </div>
  86. </div>
  87. <div class="row-fluid">
  88. <div class="span10 offset1">
  89. <div id="DivProg" style="border: 1px solid black;"></div>
  90. ##<div class="accordion" id="accordionEvent">
  91. % for num, (Title, EvtType) in enumerate( TabDisplay ):
  92. <%
  93. Counter = Events.filter(Event.event_type==EvtType).count()
  94. if Counter==0:
  95. continue
  96. %>
  97. ## <div class="accordion-group">
  98. ## <div class="accordion-heading">
  99. ## <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordionEvent" href="#collapseEvent${num}">
  100. ## ${Counter} ${Title}
  101. ## </a>
  102. ## </div>
  103. ## <div id="collapseEvent${num}" class="accordion-body collapse">
  104. ## <div class="accordion-inner">
  105. <table width="100%" class="table table-striped table-bordered table-hover">
  106. <thead>
  107. <tr>
  108. <th style="width:7em;text-align:center;">Date</th>
  109. <th style="text-align:center;">${Counter} ${Title}</th>
  110. </tr>
  111. </thead>
  112. <tbody>
  113. % for event in Events.filter(Event.event_type==EvtType):
  114. <tr>
  115. <td style="text-align:center;">
  116. <%
  117. vid = event.video.first()
  118. pres = event.presentation.first()
  119. %>
  120. ${event.start_time.strftime("%a %d %b").decode('utf-8')}<br>
  121. ${event.start_time.strftime("%H:%M")} - ${event.end_time.strftime("%H:%M")}
  122. </td>
  123. <td style="position: relative;">
  124. <strong>
  125. <a href="/event/${event.for_year}/${event.slug}">${event.name}</a>
  126. </strong>
  127. <span style="float:right;">
  128. % if vid:
  129. <a href="${vid.get_path}">
  130. <i class="icon-film"></i>
  131. </a>
  132. % endif
  133. % if pres:
  134. <a href="${pres.get_path}">
  135. <i class="icon-list-alt"></i>
  136. </a>
  137. % endif
  138. </span>
  139. <br/>
  140. avec
  141. % for num, inter in enumerate(event.intervenants.all()):
  142. %if num>0:
  143. ,
  144. %endif
  145. <a href="/user/${inter.slug}">${inter.prenom} ${inter.nom}</a>
  146. % endfor
  147. % if event.Salle:
  148. <div style="position: absolute; bottom: 2px; right: 5px;">
  149. ${event.Salle.name}
  150. </div>
  151. % endif
  152. </td>
  153. </tr>
  154. % endfor
  155. </tbody>
  156. </table>
  157. ## </div>
  158. ## </div>
  159. ## </div>
  160. % endfor
  161. ##</div>
  162. </div>
  163. </div>