admin_vote_edit.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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="role">Groupe</label>
  35. <div class="controls">
  36. <select name="role" id="role" disabled>
  37. <option>{{ group.name }}</option>
  38. </select>
  39. <p class="help-block">Groupe d'utilisateur concernés par le vote et ayant le droit de voter</p>
  40. </div>
  41. </div>
  42. <div class="control-group">
  43. <label class="control-label" for="days">Durée (jours)</label>
  44. <div class="controls">
  45. <select class="span1" name="days" id="days">
  46. {% for i in range(1, 31) %}
  47. {% if i == vote.duration %}
  48. <option selected>{{ i }}</option>
  49. {% else %}
  50. <option>{{ i }}</option>
  51. {% endif %}
  52. {% endfor %}
  53. </select>
  54. <span class="help-inline">Du {{ vote.date_begin }} au {{ vote.date_end }}</span>
  55. </div>
  56. </div>
  57. <div class="control-group">
  58. <label class="control-label" for="reminder">Rappel par mail les</label>
  59. <div class="controls">
  60. <select class="span1" name="reminder" id="reminder">
  61. {% for i in range(1, 31) %}
  62. {% if i == vote.reminder_last_days %}
  63. <option selected>{{ i }}</option>
  64. {% else %}
  65. <option>{{ i }}</option>
  66. {% endif %}
  67. {% endfor %}
  68. </select>
  69. <span class="help-inline">derniers jours</span>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. <div class="accordion-group">
  76. <div class="accordion-heading">
  77. <a class="accordion-toggle" data-toggle="collapse" href="#options">+ Options</a>
  78. </div>
  79. <div id="options" class="accordion-body collapse">
  80. <div class="accordion-inner">
  81. <div class="control-group">
  82. <label class="control-label">Options</label>
  83. <div class="controls">
  84. <label class="checkbox">
  85. <input type="checkbox" name="transparent" {% if vote.is_transparent == 1 %} checked {% endif %} />
  86. Les votants peuvent-ils voir le choix des autres ?
  87. </label>
  88. <label class="checkbox">
  89. <input type="checkbox" name="public" {% if vote.is_public == 1 %} checked {% endif %}/>
  90. Le vote est-il visible par tous ?
  91. </label>
  92. {% if not vote.is_terminated == 1 %}
  93. <label class="checkbox">
  94. <input type="checkbox" name="multiplechoice" {% if vote.is_multiplechoice == 1 %} checked {% endif %} disabled/>
  95. Les votants peuvent-ils choisir plusieurs options ?
  96. </label>
  97. {% endif %}
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <div class="control-group">
  105. <label class="control-label" for="status">Statut</label>
  106. <div class="controls">
  107. <select class="span2" name="status" id="status">
  108. {% if vote.is_terminated == 1 %}
  109. <option>Fermé</option>
  110. <option>Ouvert</option>
  111. <option selected>Terminé</option>
  112. {% else %}
  113. {% if vote.is_open == 1 %}
  114. <option>Fermé</option>
  115. <option selected>Ouvert</option>
  116. <option>Terminé</option>
  117. {% else %}
  118. <option selected>Fermé</option>
  119. <option>Ouvert</option>
  120. {% endif %}
  121. {% endif %}
  122. </select>
  123. </div>
  124. </div>
  125. <div class="form-actions">
  126. <input type="submit" class="btn btn-primary" value="Enregistrer" />
  127. <input type="reset" class="btn" value="Annuler" />
  128. </div>
  129. </fieldset>
  130. </form>
  131. </div>
  132. {% if not vote.is_terminated == 1%}
  133. <div class="span5 well pull-right">
  134. <fieldset><legend>Choix</legend>
  135. <table class="table table-stripped table-condensed">
  136. <thead>
  137. <tr>
  138. <th>Titre
  139. <th>Actions
  140. </tr>
  141. </thead>
  142. <tbody>
  143. {% for choice in choices %}
  144. <tr>
  145. <form action="{{ url_for('admin_vote_editchoice', voteid=vote.id, choiceid=choice.id) }}" method="post">
  146. <td><input type="text" name="title" value="{{ choice.name }}" /></td>
  147. <td><input type="submit" class="btn btn-small" value="Sauver" />
  148. <a href="#delete{{ choice.id }}" data-toggle="modal" class="btn btn-danger btn-small">Supprimer</a></td>
  149. </form>
  150. </tr>
  151. <div class="modal hide fade" id="delete{{ choice.id }}">
  152. <div class="modal-header">
  153. <button type="button" class="close" data-dismiss="modal">×</button>
  154. <h3>Suppression d'un choix</h3>
  155. </div>
  156. <div class="modal-body">
  157. <p>Voulez-vous vraiment supprimer le choix « {{ choice.name }} » ?</p>
  158. </div>
  159. <div class="modal-footer">
  160. <a href="{{ url_for('admin_vote_deletechoice', voteid=vote.id, choiceid=choice.id) }}" class="btn btn-danger">Confirmer</a>
  161. <a href="#" class="btn" data-dismiss="modal">Annuler</a>
  162. </div>
  163. </div>
  164. {% endfor %}
  165. </tbody>
  166. <tfoot>
  167. <tr>
  168. <form action="{{ url_for('admin_vote_addchoice', voteid=vote.id) }}" method="post">
  169. <td><input type="text" name="title" value="Nouveau choix"
  170. onfocus="if(this.value=='Nouveau choix')this.value='';"
  171. onblur="if(this.value=='')this.value='Nouveau choix';" /></td>
  172. <td><input type="submit" class="btn btn-small btn-primary" value="+ Ajouter" />
  173. </form>
  174. </tr>
  175. </tfoot>
  176. </table>
  177. </fieldset>
  178. </div>
  179. {% endif %}
  180. <div class="span5 well pull-right">
  181. <fieldset><legend>Pièces jointes</legend>
  182. <table class="table table-stripped table-condensed">
  183. <thead>
  184. <tr>
  185. <th>Lien
  186. <th>Actions
  187. </tr>
  188. </thead>
  189. <tbody>
  190. {% for attachment in attachments %}
  191. <tr>
  192. <td>{{ attachment.url }}</td>
  193. <td><a href="{{ url_for('admin_vote_deleteattachment', voteid=vote.id, attachmentid=attachment.id) }}" class="btn btn-small btn-danger">Supprimer</a></td>
  194. </tr>
  195. {% endfor %}
  196. </tbody>
  197. <tfoot>
  198. <tr>
  199. <form action="{{ url_for('admin_vote_addattachment', voteid=vote.id) }}" method="post">
  200. <td><input type="text" name="url" value="Nouveau document"
  201. onfocus="if(this.value=='Nouveau document')this.value='';"
  202. onblur="if(this.value=='')this.value='Nouveau document';" /></td>
  203. <td><input type="submit" class="btn btn-small btn-primary" value="+ Ajouter" />
  204. </form>
  205. </tr>
  206. </tfoot>
  207. </table>
  208. </fieldset>
  209. </div>
  210. </div>
  211. {% endblock %}