admin_vote_edit.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. {% extends "layout.html" %}
  2. {% block body %}
  3. <div class="row">
  4. <div class="span6 well">
  5. <form action="{{ url_for('admin_vote_edit', voteid=vote.id) }}" method="post" class="form-horizontal">
  6. <fieldset><legend>Édition du vote</legend>
  7. <div class="control-group">
  8. <label class="control-label" for="title">Titre</label>
  9. <div class="controls">
  10. <input type="text" size=30 name="title" id="title" value="{{ vote.title }}" />
  11. <span class="help-inline"><font color="red">*</font></span>
  12. </div>
  13. </div>
  14. <div class="control-group">
  15. <label class="control-label" for="description">Description</label>
  16. <div class="controls">
  17. <textarea class="input-xlarge" name="description" id="description">{{ vote.description }}</textarea>
  18. </div>
  19. </div>
  20. <div class="accordion">
  21. <div class="accordion-group">
  22. <div class="accordion-heading">
  23. <a class="accordion-toggle" data-toggle="collapse" href="#infos">+ Informations</a>
  24. </div>
  25. <div id="infos" class="accordion-body collapse">
  26. <div class="accordion-inner">
  27. <div class="control-group">
  28. <label class="control-label" for="category">Catégorie</label>
  29. <div class="controls">
  30. <input type="text" data-provide="typeahead" data-source='["ca","membres"]' size=30 name="category" id="category" value="{{ vote.category }}" />
  31. </div>
  32. </div>
  33. <div class="control-group">
  34. <label class="control-label" for="category">Quorum</label>
  35. <div class="controls">
  36. <select name="quorum" id="quorum">
  37. {% for quorum in quorums %}
  38. {% if quorum == vote.quorum %}
  39. <option value="{{ quorum }}" selected>{{ quorum * 100 }}%</option>
  40. {% else %}
  41. <option value="{{ quorum }}">{{ quorum * 100 }}%</option>
  42. {% endif %}
  43. {% endfor %}
  44. </select>
  45. </div>
  46. </div>
  47. <div class="control-group">
  48. <label class="control-label" for="role">Groupe</label>
  49. <div class="controls">
  50. <select name="role" id="role" disabled>
  51. <option>{{ group.name }}</option>
  52. </select>
  53. <p class="help-block">Groupe d'utilisateur concernés par le vote et ayant le droit de voter</p>
  54. </div>
  55. </div>
  56. <div class="control-group">
  57. <label class="control-label" for="days">Durée (jours)</label>
  58. <div class="controls">
  59. <select class="span1" name="days" id="days">
  60. {% for i in range(1, 31) %}
  61. {% if i == vote.duration %}
  62. <option selected>{{ i }}</option>
  63. {% else %}
  64. <option>{{ i }}</option>
  65. {% endif %}
  66. {% endfor %}
  67. </select>
  68. <span class="help-inline">Du {{ vote.date_begin }} au {{ vote.date_end }}</span>
  69. </div>
  70. </div>
  71. <div class="control-group">
  72. <label class="control-label" for="reminder">Rappel par mail les</label>
  73. <div class="controls">
  74. <select class="span1" name="reminder" id="reminder">
  75. {% for i in range(1, 31) %}
  76. {% if i == vote.reminder_last_days %}
  77. <option selected>{{ i }}</option>
  78. {% else %}
  79. <option>{{ i }}</option>
  80. {% endif %}
  81. {% endfor %}
  82. </select>
  83. <span class="help-inline">derniers jours</span>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. <div class="accordion-group">
  90. <div class="accordion-heading">
  91. <a class="accordion-toggle" data-toggle="collapse" href="#options">+ Options</a>
  92. </div>
  93. <div id="options" class="accordion-body collapse">
  94. <div class="accordion-inner">
  95. <div class="control-group">
  96. <label class="control-label">Options</label>
  97. <div class="controls">
  98. <label class="checkbox">
  99. <input type="checkbox" name="transparent" {% if vote.is_transparent == 1 %} checked {% endif %} />
  100. Les votants peuvent-ils voir le choix des autres ?
  101. </label>
  102. <label class="checkbox">
  103. <input type="checkbox" name="public" {% if vote.is_public == 1 %} checked {% endif %}/>
  104. Le vote est-il visible par tous ?
  105. </label>
  106. {% if not vote.is_terminated == 1 %}
  107. <label class="checkbox">
  108. <input type="checkbox" name="anonymous" {% if vote.is_anonymous == 1 %} checked {% endif %} disabled/>
  109. Les votes sont-ils anonymes ?
  110. </label>
  111. {% endif %}
  112. </div>
  113. </div>
  114. <div class="control-group">
  115. <label class="control-label" for="value">Valeurs</label>
  116. <div class="controls">
  117. <select name="value" id="value" disabled>
  118. <option>{{ values_ }}</option>
  119. </select>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <div class="control-group">
  127. <label class="control-label" for="status">Statut</label>
  128. <div class="controls">
  129. <select class="span2" name="status" id="status">
  130. {% if vote.is_terminated == 1 %}
  131. <option>Fermé</option>
  132. <option>Ouvert</option>
  133. <option selected>Terminé</option>
  134. {% else %}
  135. {% if vote.is_open == 1 %}
  136. <option>Fermé</option>
  137. <option selected>Ouvert</option>
  138. <option>Terminé</option>
  139. {% else %}
  140. <option selected>Fermé</option>
  141. <option>Ouvert</option>
  142. <option>Terminé</option>
  143. {% endif %}
  144. {% endif %}
  145. </select>
  146. {% if vote.is_open == 0 %}
  147. <label class="checkbox">
  148. <input type="checkbox" name="mail_notice" checked />
  149. Notifier par courriel
  150. </label>
  151. {% endif %}
  152. </div>
  153. </div>
  154. <div class="form-actions">
  155. <input type="submit" class="btn btn-primary" value="Enregistrer" />
  156. <input type="reset" class="btn" value="Annuler" />
  157. </div>
  158. </fieldset>
  159. </form>
  160. </div>
  161. {% if not vote.is_terminated == 1%}
  162. <div class="span5 well pull-right">
  163. <fieldset><legend>Choix</legend>
  164. <table class="table table-stripped table-condensed">
  165. <thead>
  166. <tr>
  167. <th>Titre
  168. <th>Actions
  169. </tr>
  170. </thead>
  171. <tbody>
  172. {% for choice in choices %}
  173. <tr>
  174. <form action="{{ url_for('admin_vote_editchoice', voteid=vote.id, choiceid=choice.id) }}" method="post">
  175. <td><input type="text" name="title" value="{{ choice.name }}" /></td>
  176. <td><input type="submit" class="btn btn-small" value="Sauver" />
  177. <a href="#delete{{ choice.id }}" data-toggle="modal" class="btn btn-danger btn-small">Supprimer</a></td>
  178. </form>
  179. </tr>
  180. <div class="modal hide fade" id="delete{{ choice.id }}">
  181. <div class="modal-header">
  182. <button type="button" class="close" data-dismiss="modal">×</button>
  183. <h3>Suppression d'un choix</h3>
  184. </div>
  185. <div class="modal-body">
  186. <p>Voulez-vous vraiment supprimer le choix « {{ choice.name }} » ?</p>
  187. </div>
  188. <div class="modal-footer">
  189. <a href="{{ url_for('admin_vote_deletechoice', voteid=vote.id, choiceid=choice.id) }}" class="btn btn-danger">Confirmer</a>
  190. <a href="#" class="btn" data-dismiss="modal">Annuler</a>
  191. </div>
  192. </div>
  193. {% endfor %}
  194. </tbody>
  195. <tfoot>
  196. <tr>
  197. <form action="{{ url_for('admin_vote_addchoice', voteid=vote.id) }}" method="post">
  198. <td><input type="text" name="title" value="Nouveau choix"
  199. onfocus="if(this.value=='Nouveau choix')this.value='';"
  200. onblur="if(this.value=='')this.value='Nouveau choix';" /></td>
  201. <td><input type="submit" class="btn btn-small btn-primary" value="+ Ajouter" />
  202. </form>
  203. </tr>
  204. </tfoot>
  205. </table>
  206. </fieldset>
  207. </div>
  208. {% endif %}
  209. <div class="span5 well pull-right">
  210. <fieldset><legend>Pièces jointes</legend>
  211. <table class="table table-stripped table-condensed">
  212. <thead>
  213. <tr>
  214. <th>Lien
  215. <th>Actions
  216. </tr>
  217. </thead>
  218. <tbody>
  219. {% for attachment in attachments %}
  220. <tr>
  221. <td>{{ attachment.url }}</td>
  222. <td><a href="{{ url_for('admin_vote_deleteattachment', voteid=vote.id, attachmentid=attachment.id) }}" class="btn btn-small btn-danger">Supprimer</a></td>
  223. </tr>
  224. {% endfor %}
  225. </tbody>
  226. <tfoot>
  227. <tr>
  228. <form action="{{ url_for('admin_vote_addattachment', voteid=vote.id) }}" method="post">
  229. <td><input type="text" name="url" value="Nouveau document"
  230. onfocus="if(this.value=='Nouveau document')this.value='';"
  231. onblur="if(this.value=='')this.value='Nouveau document';" /></td>
  232. <td><input type="submit" class="btn btn-small btn-primary" value="+ Ajouter" />
  233. </form>
  234. </tr>
  235. </tfoot>
  236. </table>
  237. </fieldset>
  238. </div>
  239. </div>
  240. {% endblock %}