wifi-form.html 5.9 KB

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