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.
 
 
 
 
 

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