wifi-form.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. {% extends "base.html" %}
  2. {% load bootstrap %}
  3. {% load staticfiles %}
  4. {% block body_class %}form{% endblock %}
  5. {% block content %}
  6. <script src="{% static 'form.js' %}" type="text/javascript"></script>
  7. <header class="jumbotron">
  8. <div class="container">
  9. <p>
  10. L'association <a href="//www.faimaison.net">FAImaison</a> expérimente à
  11. grande échelle (Nantes et environs) la création d'un réseau sans-fil à
  12. longue portée à des fins, entre autres, de <em>partage</em> et
  13. <em>fourniture</em> d'<strong>accès à internet</strong>.
  14. </p>
  15. <p>
  16. Pour cela, nous recherchons des volontaires, tant pour <strong>partager une
  17. partie de leur connexion</strong> que pour participer au réseau (accès à
  18. internet, partage local…).
  19. </p>
  20. <p>
  21. Renseigner ce formulaire nous permet de définir quelles <strong>zones
  22. d'expérimentations</strong> (avec une grande densité de volontaires)
  23. pourraient être intéressantes.
  24. </p>
  25. </div>
  26. </header>
  27. <section role="main" class="container">
  28. <form role="form" method="post">{% csrf_token %}
  29. {% if form.non_field_errors %}
  30. <div id="errors" class="bg-danger">
  31. {{ form.non_field_errors }}
  32. </div>
  33. {% endif %}
  34. <h2>Contact</h2>
  35. <div class="form-group">
  36. <label for="name">Nom / Pseudo</label>
  37. {{ form.name|formcontrol }}
  38. {{ form.name.errors }}
  39. </div>
  40. <div class="row">
  41. <div class="form-group col-md-6">
  42. <label for="email">Email</label>
  43. {{ form.email|formcontrol }}
  44. {{ form.email.errors }}
  45. <p class="help-block">
  46. <span class="glyphicon glyphicon-warning-sign"></span>
  47. Un moyen de contact au moins est nécessaire
  48. </p>
  49. </div>
  50. <div class="form-group col-md-6">
  51. <label for="phone">Téléphone</label>
  52. {{ form.phone|formcontrol }}
  53. {{ form.phone.errors }}
  54. </div>
  55. </div>
  56. <h2>Je souhaite</h2>
  57. <div id="id_contrib_type">
  58. {% for i in form.contrib_type %}
  59. <p class="radio">{{ i }}</p>
  60. {% endfor %}
  61. </div>
  62. <div id="contrib-type-share"
  63. <h2>Partager une connexion</h2>
  64. <h3>Type de connexion</h3>
  65. <div id="id_access_type">
  66. {% for i in form.access_type %}
  67. {% if i.choice_value %}<p class="radio">{{ i }}</p>{% endif %}
  68. {% endfor %}
  69. </div>
  70. {{ form.access_type.errors }}
  71. <h3>Débits</h3>
  72. <p class="help-block">
  73. Il est possible de limiter techniquement la quantité de bande passante
  74. partagée avec les autres expérimentateurs afin de ne pas pénaliser votre
  75. confort.
  76. </p>
  77. <p>
  78. <label for="bandwidth">Débit total</label><br />
  79. {{ form.bandwidth|formcontrol }}
  80. {{ form.bandwidth.errors }}
  81. </p>
  82. <p>
  83. <label for="share-part">Je souhaite partager (au max.)</label><br />
  84. {{ form.share_part|formcontrol }}
  85. {{ form.share_part.errors }}
  86. </p>
  87. </div>
  88. <div id="contrib-type-connect">
  89. <h2>Me raccorder au réseau</h2>
  90. <h3>J'aimerais pouvoir</h3>
  91. <p class="checkbox"><label>
  92. {{ form.connect_local|formcontrol }}
  93. Proposer et utiliser des services en local avec les autres utilisateurs du réseau
  94. {{ form.connect_local.errors }}
  95. </label></p>
  96. <p class="checkbox"><label>
  97. {{ form.connect_internet|formcontrol }}
  98. Avoir un accès à Internet
  99. {{ form.connect_internet.errors }}
  100. </label></p>
  101. </div>
  102. <h2>Ma localisation</h2>
  103. <div class="row">
  104. <div class="col-sm-6">
  105. <div id="map" data-json="{{geojson}}"></div>
  106. </div>
  107. <div class="form-group col-sm-6">
  108. <div class="form-group form-group-lg form-inline">
  109. <input type="text" name="search"
  110. id="search" placeholder="rue du calvaire, nantes" class="form-control" />
  111. <span id="search-btn" class="btn btn-default btn-lg" data-loading-text="...">Recherche</span>
  112. <div id="search-results" class=""></div>
  113. <p class="help-block">Déplacer le marqueur bleu pour pointer précisément le bâtiment au besoin</p>
  114. <p class="help-block">
  115. Les ronds verts sont ceux renseignés par d'autres utilisateurs, vous
  116. pouvez aussi consulter <a href="map" target="_blank">la carte
  117. publique plus détaillée</a>.
  118. </p>
  119. </div>
  120. {{ form.latitude }}
  121. {{ form.latitude.errors }}
  122. {{ form.longitude }}
  123. {{ form.longitude.errors }}
  124. </div>
  125. </div>
  126. <p class="help-block">Les antennes peuvent être positionées soit sur le toit soit aux fenêtres/balcons/velux.</p>
  127. <div class="form-group">
  128. <label for="orientation" />Orientation(s) de mes fenêtres, balcons ou velux</label>
  129. (<label class="checkbox-inline"><input type="checkbox" name="orientation-all" id="orientation-all" value="" />Vue à 360°</label>)
  130. <br>
  131. {% for val, label in form.orientations.field.choices %}
  132. <label class="checkbox-inline">
  133. <input type="checkbox" class="orientation" name="orientations" value="{{ val }}"
  134. {% if val in form.orientations.value %}checked="yes"{% endif %}/>
  135. {{label}}
  136. </label>
  137. {% endfor %}
  138. {{ form.orientations.errors }}
  139. <div class="form-group">
  140. <label for="roof">Je peux accéder à mon toit
  141. {{ form.roof|formcontrol }}
  142. {{ form.roof.errors }}
  143. </label>
  144. </div>
  145. <div class="form-inline col-md-6">
  146. <label for="floor">Mon étage</label>
  147. {{ form.floor }}
  148. {{ form.phone.errors }}
  149. /
  150. {{ form.floor_total }}
  151. {{ form.floor_total.errors }}
  152. </div>
  153. <h2>Remarque/commentaire</h2>
  154. {{ form.comment|formcontrol }}
  155. {{ form.comment.errors }}
  156. <h2>Mes données</h2>
  157. {{ form.human_field|formcontrol }}
  158. <p class="help-block">
  159. Les données collectées dans ce formulaire sont accessibles
  160. au bureau de FAImaison.<br />
  161. Vous pouvez cocher ci-dessous celles que vous voulez bien voir <a
  162. href="./legal">rendues publiques et librement réutilisées</a>.
  163. </p>
  164. <div class="form-group">
  165. <label for="privacy" />
  166. J'autorise qu'apparaissent sur la carte publique :
  167. </label><br />
  168. </div>
  169. {% for i in form.privacy_fields %}
  170. <div class="checkbox">
  171. <label>
  172. {{ i }}
  173. {{ i.label }}
  174. </label>
  175. </div>
  176. {% endfor %}
  177. <input type="submit" value="Envoyer" class="btn btn-primary btn-lg"/>
  178. </form>
  179. </section>
  180. <div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="Resultats" aria-hidden="true">
  181. <div class="modal-dialog modal-lg">
  182. <div class="modal-content">
  183. <div class="modal-header">
  184. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Fermer</span></button>
  185. <h4 class="modal-title" id="myModalLabel">Résultats</h4>
  186. </div>
  187. <div class="modal-body">
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. {% endblock %}