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.
 
 
 
 
 

137 Zeilen
5.7 KiB

  1. # -*- coding: utf-8 -*-
  2. <%inherit file="jm2l:templates/Participant/list.mako"/>
  3. <%
  4. import datetime
  5. import itertools
  6. now = datetime.datetime.now()
  7. %>
  8. <form class="filterform" action="#">
  9. <table class="table table-bordered table-hover">
  10. <thead>
  11. <tr>
  12. <th style="width:7em;text-align:center;"></th>
  13. <th style="width:5em;text-align:center;">Visite</th>
  14. <th style="width:7em;text-align:center;">Activité</th>
  15. <th style="text-align:center;">Arrivée prévue</th>
  16. <th style="width:5em;text-align:center;">${DicRepas['Ven']} Repas Vendredi</th>
  17. <th style="width:5em;text-align:center;">${DicRepas['Midi']} Repas Midi </th>
  18. <th style="width:5em;text-align:center;">${DicRepas['Soir']} Repas Soir</th>
  19. <th style="text-align:center;">Départ prévu</th>
  20. <th style="text-align:center;">Notes</th>
  21. </tr>
  22. </thead>
  23. <tbody id="list">
  24. % for u, s in Users:
  25. <tr>
  26. <td style="text-align:center;">
  27. <span class="data">${u.slug}</span>
  28. <a href="/MesJM2L?user=${u.uid}">${u.nom} ${u.prenom}</a><br />
  29. <span style="align:center">
  30. ${u.vote_logo}
  31. <a href="mailto:${u.mail}">
  32. <i class="icon-envelope"></i>
  33. </a>
  34. % if u.Staff==1:
  35. <a href="javascript:alert('${u.nom}, ${u.prenom}\nStaff JM2L');">
  36. <i class="icon-star"></i>
  37. </a>
  38. % endif
  39. % if u.Staff==0:
  40. <a href="javascript:alert('${u.nom}, ${u.prenom}\nIntervenant');">
  41. <i class="icon-user"></i>
  42. </a>
  43. % endif
  44. % if u.active==0:
  45. <a href="javascript:alert('${u.nom}, ${u.prenom}\nInactive');">
  46. <i class="icon-ban-circle"></i>
  47. </a>
  48. % endif
  49. % if u.phone:
  50. <a href="javascript:alert('${u.nom}, ${u.prenom}\n${u.phone}');">
  51. <i class="icon-headphones"></i>
  52. </a>
  53. % endif
  54. </span>
  55. </td>
  56. <td style="text-align:center;">
  57. <span class="data">${(now - u.last_logged).days}</span>${(now - u.last_logged).days} j
  58. </td>
  59. <td style="text-align:center;">
  60. % if u.events:
  61. <span class="data">${len(u.events)}</span>
  62. <select style="width:7em;">
  63. <option><strong>${len(u.events)} Intérv.</strong></option>
  64. % for y, g in itertools.groupby(sorted(u.events, key=lambda k:k.for_year, reverse=True), key=lambda k:k.for_year):
  65. <OPTGROUP LABEL="${y}">
  66. % for event in g:
  67. ${event.for_year}
  68. <OPTION onclick="location='/event/${event.for_year}/${event.slug}';">${event.event_type} - ${event.name}</OPTION>
  69. % endfor
  70. </OPTGROUP>
  71. % endfor
  72. </select>
  73. %else:
  74. <span class="data"></span>
  75. <i> - </i>
  76. % endif
  77. </td>
  78. <td style="text-align:center;">
  79. % if s and s.arrival_time:
  80. <span class="data">${s.arrival_time.strftime('%m/%d/%Y %H:%M:%S')}</span>
  81. ${s.arrival_time.strftime('%a %d <strong>%H:%M</strong>') | n}<br/>
  82. ${s.arrival_place}
  83. % if s.arrival_text:
  84. - NB: <strong>${s.arrival_text}</strong>
  85. % endif
  86. %else:
  87. <span class="data"></span>
  88. <i>Pas d'informations</i>
  89. % endif
  90. </td>
  91. % if s and s.repas:
  92. % for i, d in enumerate(['Ven Soir', 'Sam midi', 'Sam soir']):
  93. <td style="text-align:center">
  94. % if (s.repas & 2**i):
  95. <span class="data">Oui</span>Oui
  96. % else:
  97. <span class="data">Non</span>Non
  98. % endif
  99. </td>
  100. % endfor
  101. %else:
  102. <td style="text-align:center;" colspan="3">
  103. <i>Pas d'informations</i>
  104. </td>
  105. % endif
  106. </td>
  107. <td style="text-align:center;">
  108. % if s and s.depart_time:
  109. <span class="data">${s.depart_time.strftime('%m/%d/%Y %H:%M:%S')}</span>
  110. ${s.depart_time.strftime('%a %d <strong>%H:%M</strong>') | n}<br/>
  111. ${s.depart_place}
  112. % if s.depart_text:
  113. - NB: <strong>${s.arrival_text}</strong>
  114. % endif
  115. %else:
  116. <span class="data"></span>
  117. <i>Pas d'informations</i>
  118. % endif
  119. </td>
  120. <td>
  121. % if s:
  122. % if s.repas_allerg:
  123. <u>Allergies</u> : ${s.repas_allerg}<br/>
  124. % endif
  125. % if s.repas_contr:
  126. <u>Contraintes</u> : ${s.repas_contr}<br/>
  127. % endif
  128. % endif
  129. </td>
  130. </tr>
  131. % endfor
  132. </tbody>
  133. </table>
  134. </form>