wifi-form.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  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. </div>
  72. <div id="contrib-type-connect">
  73. <h2>Me raccorder au réseau</h2>
  74. <h3>J'aimerais pouvoir</h3>
  75. <p class="checkbox"><label>
  76. {{ form.connect_local }}
  77. Proposer et utiliser des services en local avec les autres utilisateurs du réseau
  78. {{ form.connect_local.errors }}
  79. </label></p>
  80. <p class="checkbox"><label>
  81. {{ form.connect_internet }}
  82. Avoir un accès à Internet
  83. {{ form.connect_internet.errors }}
  84. </label></p>
  85. </div>
  86. <h2>Ma localisation</h2>
  87. <div class="row">
  88. <div class="col-sm-6">
  89. <div id="map" data-json="{{geojson}}"></div>
  90. </div>
  91. <div class="form-group col-sm-6">
  92. <div class="form-group form-group-lg form-inline">
  93. <input type="text" name="search"
  94. id="search" placeholder="rue du calvaire, nantes" class="form-control" />
  95. <span id="search-btn" class="btn btn-default btn-lg" data-loading-text="...">Recherche</span>
  96. <div id="search-results" class=""></div>
  97. <p class="help-block">Déplacer le marqueur bleu pour pointer précisément le bâtiment au besoin</p>
  98. <p class="help-block">
  99. Les ronds verts sont ceux renseignés par d'autres utilisateurs, vous
  100. pouvez aussi consulter <a href="map" target="_blank">la carte
  101. publique plus détaillée</a>.
  102. </p>
  103. </div>
  104. {{ form.latitude }}
  105. {{ form.longitude }}
  106. {% firstof form.latitude.errors form.latitude.errors %}
  107. </div>
  108. </div>
  109. <p class="help-block">Les antennes peuvent être positionées soit sur le toit soit aux fenêtres/balcons/velux.</p>
  110. <div class="form-group">
  111. <label for="orientation" />Orientation(s) de mes fenêtres, balcons ou velux</label>
  112. (<label class="checkbox-inline"><input type="checkbox" name="orientation-all" id="orientation-all" value="" />Vue à 360°</label>)
  113. <br>
  114. {% for val, label in form.orientations.field.choices %}
  115. <label class="checkbox-inline">
  116. <input type="checkbox" class="orientation" name="orientations" value="{{ val }}"
  117. {% if val in form.orientations.value %}checked="yes"{% endif %}/>
  118. {{label}}
  119. </label>
  120. {% endfor %}
  121. {{ form.orientations.errors }}
  122. <div class="form-group">
  123. <label for="roof">Je peux accéder à mon toit
  124. {{ form.roof }}
  125. {{ form.roof.errors }}
  126. </label>
  127. </div>
  128. <p class="form-inline">
  129. <label for="floor">Mon étage</label>
  130. {{ form.floor }}
  131. {{ form.floor.errors }}
  132. /
  133. {{ form.floor_total }}
  134. {{ form.floor_total.errors }}
  135. </p>
  136. <h2>Remarque/commentaire</h2>
  137. {{ form.comment|formcontrol }}
  138. {{ form.comment.errors }}
  139. <h2>Mes données</h2>
  140. {{ form.human_field|formcontrol }}
  141. <p class="help-block">
  142. Les données collectées dans ce formulaire sont accessibles
  143. au bureau de FAImaison.<br />
  144. Vous pouvez cocher ci-dessous celles que vous voulez bien voir <a
  145. href="./legal">rendues publiques et librement réutilisées</a>.
  146. </p>
  147. <div class="form-group">
  148. <label for="privacy" />
  149. J'autorise qu'apparaissent sur la carte publique :
  150. </label><br />
  151. </div>
  152. {% for i in form.privacy_fields %}
  153. <div class="checkbox">
  154. <label>
  155. {{ i }}
  156. {{ i.label }}
  157. </label>
  158. </div>
  159. {% endfor %}
  160. <input type="submit" value="Envoyer" class="btn btn-primary btn-lg"/>
  161. </form>
  162. </section>
  163. <div id="modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="Resultats" aria-hidden="true">
  164. <div class="modal-dialog modal-lg">
  165. <div class="modal-content">
  166. <div class="modal-header">
  167. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Fermer</span></button>
  168. <h4 class="modal-title" id="myModalLabel">Résultats</h4>
  169. </div>
  170. <div class="modal-body">
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. {% endblock %}