Browse Source

Merge branch 'master' of ljf/wifi-with-me into master

jocelyn 8 years ago
parent
commit
93cff11d1c

+ 14 - 0
README.md

@@ -53,6 +53,20 @@ The wifi-with-me website URL (for links included in emails :)
 
     SITE_URL="http://example.tld"
 
+    ISP={
+        'NAME':'FAIMAISON',
+        'SITE':'//www.faimaison.net',
+        'EMAIL':'bureau (at) faimaison.net',
+        'ZONE':'Nantes et environs',
+        'URL_CONTACT':'//www.faimaison.net/pages/contact.html',
+        'LATITUDE':47.218371,
+        'LONGITUDE':-1.553621,
+        'ZOOM':13,
+        'CNIL':{
+            'LINK':'//www.faimaison.net/files/cnil-faimaison-1819684-withwithme.pdf',
+            'NUMBER':1819684
+        }
+    }
 
 Migrate from bottle version (optional)
 ======================================

+ 1 - 0
requirements/base.txt

@@ -1,3 +1,4 @@
 Django==1.9.3
 PyYAML==3.11
 pytz
+sqlparse

+ 1 - 1
wifiwithme/apps/contribmap/admin.py

@@ -27,7 +27,7 @@ class ContribAdmin(admin.ModelAdmin):
                 'orientations', 'roof']
         }],
         ['Raccordement au réseau', {
-            'fields': ['connect_local', 'connect_internet'],
+            'fields': ['connect_type'],
             'classes': ['collapse'],
         }],
         ['Partage de connexion', {

+ 8 - 8
wifiwithme/apps/contribmap/templates/base.html

@@ -4,7 +4,7 @@
 <html lang="en">
   <head>
     <meta charset="utf-8">
-    <title>FAImaison − contribution à l'expérimentation wifi</title>
+    <title>{{ isp.NAME }} − contribution à l'expérimentation wifi</title>
 
     <!-- jQuery -->
     <script src="{% static 'jquery/jquery-1.11.0.min.js' %}" type="text/javascript"></script>
@@ -45,7 +45,7 @@
           <span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
         </button>
         <a class="navbar-brand" href="{% url 'display_map' %}">
-        Wifi FAImaison
+        Wifi {{ isp.NAME }}
         </a>
       </div>
 
@@ -98,14 +98,14 @@
   <footer>
     <p>
         Les données personnelles que vous ne rendez pas publiques
-	sont stockées exclusivement chez FAImaison durant un an (sauf demande de votre part)
-	et ne seront pas partagées avec d'autres
+	sont stockées exclusivement chez {{ isp.NAME }} durant un an (sauf demande de
+  votre part)	et ne seront pas partagées avec d'autres
 	associations, entreprises ou collectivités. Des membres de
-	FAImaison seront toutefois amenés à les étudier : ne
-	fournissez pas de données si vous n'avez pas confiance en FAImaison.
+	{{ isp.NAME }} seront toutefois amenés à les étudier : ne
+	fournissez pas de données si vous n'avez pas confiance en {{ isp.NAME }}.
         <br>
-        <a href="//www.faimaison.net" target="_blank">FAImaison.net</a> -
-        <a href="./legal">Vos droits d'accès et de rectification de vos données
+        <a href="{{ isp.SITE }}" target="_blank">{{ isp.NAME }}</a> -
+        <a href="{% url 'legal' %}">Vos droits d'accès et de rectification de vos données
 	personnelles</a>
     </p>
   </footer>

+ 12 - 5
wifiwithme/apps/contribmap/templates/contribmap/legal.html

@@ -1,18 +1,24 @@
-%rebase base page='legal'
+{% extends "base.html" %}
 
-<h1>Mentions légales</h1>
+{% load staticfiles %}
+{% load obfuscate_email %}
+
+{% block content %}
 
+<h1>Mentions légales</h1>
+{% if isp.CNIL.LINK and isp.CNIL.NUMBER %}
 <p>
 Les informations recueillies font l’objet d’un traitement informatique, déclaré
 à la Commission nationale de l'informatique et des libertés (CNIL) sous le
 numéro <a
-href="https://www.faimaison.net/files/cnil-faimaison-1819684-withwithme.pdf">1819684</a>.
+href="{{ isp.CNIL.LINK }}">{{ isp.CNIL.NUMBER }}</a>.
 </p>
+{% endif %}
 
 <p>
 Conformément à la loi « informatique et libertés » du 6 janvier 1978 modifiée en
 2004, vous bénéficiez d’un droit d’accès et de rectification aux informations
-qui vous concernent, que vous pouvez exercer en vous adressant à bureau (at) faimaison.net.
+qui vous concernent, que vous pouvez exercer en vous adressant à {{ isp.EMAIL|obfuscate_email }}.
 </p>
 
 <p>
@@ -24,5 +30,6 @@ données vous concernant.
 Les données rendues publiques sont diffusées sous licence <a
 href="http://opendatacommons.org/licenses/by/1.0/">Open Data Commons Attribution version
 1.0</a> (ODC-BY 1.0) : elles sont librement réutilisables à la seule
-condition d'en attribuer la paternité à FAImaison.
+condition d'en attribuer la paternité à {{ isp.NAME }}.
 </p>
+{% endblock content %}

+ 4 - 1
wifiwithme/apps/contribmap/templates/contribmap/map.html

@@ -8,7 +8,10 @@
 {% block content %}
 <h1>Résultats {% if private_mode %}(données privées){% endif %}</h1>
 
-<div id="map" class="results" data-json="{{ json_url }}"></div>
+<div id="map" class="results" data-json="{{ json_url }}"
+    start_lon="{{ isp.LONGITUDE|stringformat:"f" }}" start_lat="{{ isp.LATITUDE|stringformat:"f" }}"
+    start_zoom="{{ isp.ZOOM }}"></div>
+
 <script src="{% static 'map.js' %}" type="text/javascript"></script>
 <p>Légende : <br />
   <img src="{% static 'leaflet/images/marker-icon-red.png' %}" /> Personne souhaitant partager sa connexion Internet<br />

+ 2 - 2
wifiwithme/apps/contribmap/templates/contribmap/thanks.html

@@ -11,9 +11,9 @@ Votre contribution a bien été enregistrée.
 </p>
 <p>
 Si vous voulez <strong>rester en
-contact</strong> avec FAImaison, nous rencontrer ou vous tenir informé, ça
+contact</strong> avec {{ isp.NAME }}, nous rencontrer ou vous tenir informé, ça
 se passe sur
-<a href="//www.faimaison.net/pages/contact.html">la page contact</a> de
+<a href="{{ isp.URL_CONTACT }}">la page contact</a> de
 l'association.
 </p>
 

+ 8 - 20
wifiwithme/apps/contribmap/templates/contribmap/wifi-form.html

@@ -12,8 +12,8 @@
   <header class="jumbotron">
     <div class="container">
     <p>
-L'association <a href="//www.faimaison.net">FAImaison</a> expérimente à
-grande échelle (Nantes et environs) la création d'un réseau sans-fil à
+<a href="{{ isp.SITE }}">{{ isp.NAME }}</a> expérimente à
+grande échelle ({{ isp.ZONE }}) la création d'un réseau sans-fil à
 longue portée à des fins, entre autres, de <em>partage</em> et
 <em>fourniture</em> d'<strong>accès à internet</strong>.
     </p>
@@ -87,26 +87,14 @@ pourraient être intéressantes.
     {{ form.access_type.errors }}
     </div>
 
-    <div id="contrib-type-connect">
-      <h2>Me raccorder au réseau</h2>
-    <h3>J'aimerais pouvoir</h3>
-    <p class="checkbox"><label>
-      {{ form.connect_local }}
-      Proposer et utiliser des services en local avec les autres utilisateurs du réseau
-      {{ form.connect_local.errors }}
-    </label></p>
-    <p class="checkbox"><label>
-      {{ form.connect_internet }}
-      Avoir un accès à Internet
-      {{ form.connect_internet.errors }}
-    </label></p>
-    </div>
 
   <h2>Ma localisation</h2>
 
     <div class="row">
       <div class="col-sm-6">
-        <div id="map" data-json="{{geojson}}"></div>
+        <div id="map" data-json="{{geojson}}"
+            start_lon="{{ isp.LONGITUDE|stringformat:"f" }}" start_lat="{{ isp.LATITUDE|stringformat:"f" }}"
+            start_zoom="{{ isp.ZOOM }}"></div>
       </div>
       <div class="form-group col-sm-6">
         <div class="form-group form-group-lg form-inline">
@@ -118,7 +106,7 @@ pourraient être intéressantes.
           <p class="help-block">Déplacer le marqueur bleu pour pointer précisément le bâtiment au besoin</p>
           <p class="help-block">
             Les ronds verts sont ceux renseignés par d'autres utilisateurs, vous
-            pouvez aussi consulter <a href="map" target="_blank">la carte
+            pouvez aussi consulter <a href="{% url 'display_map' %}" target="_blank">la carte
             publique plus détaillée</a>.
           </p>
 
@@ -171,10 +159,10 @@ pourraient être intéressantes.
 
     <p class="help-block">
 Les données collectées dans ce formulaire sont accessibles
-au bureau de FAImaison.<br />
+au bureau de {{ isp.NAME }}.<br />
 
 Vous pouvez cocher ci-dessous celles que vous voulez bien voir <a
-href="./legal">rendues publiques et librement réutilisées</a>.
+href="{% url 'legal' %}">rendues publiques et librement réutilisées</a>.
     </p>
 
     <div class="form-group">

+ 0 - 0
wifiwithme/apps/contribmap/templatetags/__init__.py


+ 6 - 0
wifiwithme/apps/contribmap/templatetags/obfuscate_email.py

@@ -0,0 +1,6 @@
+from django import template
+register = template.Library()
+
+@register.filter
+def obfuscate_email ( email ):
+    return email.replace('@', ' [at] ')

+ 2 - 1
wifiwithme/apps/contribmap/urls.py

@@ -1,9 +1,10 @@
 from django.conf.urls import url
 
-from .views import PublicJSON, PrivateJSON, display_map, add_contrib, thanks
+from .views import PublicJSON, PrivateJSON, display_map, legal, add_contrib, thanks
 
 urlpatterns = [
     url(r'^$', display_map, name='display_map'),
+    url(r'^legal$', legal, name='legal'),
     url(r'^contribute/thanks', thanks, name='thanks'),
     url(r'^contribute', add_contrib, name='add_contrib'),
     url(r'^public.json$', PublicJSON.as_view(), name='public_json'),

+ 10 - 2
wifiwithme/apps/contribmap/views.py

@@ -42,6 +42,7 @@ def add_contrib(request):
             return redirect(reverse('thanks'))
     return render(request, 'contribmap/wifi-form.html', {
         'form': form,
+        'isp':settings.ISP,
     })
 
 
@@ -54,13 +55,20 @@ def display_map(request):
 
     return render(request, 'contribmap/map.html', {
         'private_mode': private_mode,
-        'json_url': json_url
+        'json_url': json_url,
+        'isp':settings.ISP,
     })
 
 
 def thanks(request):
-    return render(request, 'contribmap/thanks.html')
+    return render(request, 'contribmap/thanks.html', {
+        'isp':settings.ISP,
+    })
 
+def legal(request):
+    return render(request, 'contribmap/legal.html', {
+        'isp':settings.ISP,
+    })
 
 class JSONContribView(View):
     def get(self, request):

+ 24 - 0
wifiwithme/settings/prod.py

@@ -11,3 +11,27 @@ except ImportError:
     pass
 
 STATIC_URL = '/{}assets/'.format(URL_PREFIX)
+
+
+LOGGING = {
+    'version': 1,
+    'disable_existing_loggers': False,
+    'formatters': {
+        'verbose': {
+            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
+            'datefmt': "%d/%b/%Y %H:%M:%S",
+        },
+    },
+    'handlers': {
+        'console': {
+            'level': 'DEBUG',
+            'class': 'logging.StreamHandler',
+        },
+     },
+     'loggers': {
+        'django': {
+            'handlers': ['console'],
+            'level': 'ERROR',
+        },
+    },
+}

+ 3 - 3
wifiwithme/static/form.js

@@ -2,9 +2,9 @@ $( document ).ready(function() {
 
     // Defaults
     defaults = {
-        lat: ($('#id_latitude').val()) ? $('#id_latitude').val() : 47.218371,
-        lng: ($('#id_longitude').val()) ? $('#id_longitude').val() : -1.553621,
-        zoom: 13,
+        lat: ($('#id_latitude').val()) ? $('#id_latitude').val() : parseFloat($('#map').attr("start_lat")),
+        lng: ($('#id_longitude').val()) ? $('#id_longitude').val() : parseFloat($('#map').attr("start_lon")),
+        zoom: $('#map').attr("start_zoom"),
     }
 
     // Create map

+ 3 - 3
wifiwithme/static/map.js

@@ -2,9 +2,9 @@ $( document ).ready(function() {
 
     // Defaults
     defaults = {
-        lat: 47.218371,
-        lng: -1.553621,
-        zoom: 13,
+        lat: parseFloat($('#map').attr("start_lat")),
+        lng: parseFloat($('#map').attr("start_lon")),
+        zoom: $('#map').attr("start_zoom"),
     }
 
     // Icons