Le repo des sources pour le site web des JM2L
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

137 lignes
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>