misc-fred/grandlyon/wcs-scripts/similar_map.py

44 lines
1.5 KiB
Python

import os
import sys
if os.path.dirname(__file__) not in sys.path:
sys.path.append(os.path.dirname(__file__))
import json
import time
from qommon.form import MapWidget
import close_demands
coords = close_demands.get_coords(vars())
if coords:
map_widget = MapWidget('geo', readonly=True, value='%(lat)s;%(lon)s' % coords, initial_zoom=16)
formdef = form_objects.formdef
features = []
for formdata in close_demands.get_close_demands(formdef, coords):
feature = {
'type': 'Feature',
'properties': {},
'geometry': {
'type': 'Point',
'coordinates': [formdata._coords['lon'], formdata._coords['lat']],
}
}
for field in formdef.fields:
if field.varname in ('numero', 'voie', 'commune', 'message', 'type_probleme'):
feature['properties'][field.varname] = formdata.data.get(field.id)
feature['properties']['datetime'] = time.strftime('%d/%m/%Y %H:%M', formdata.receipt_time)
feature['properties']['reference'] = '%s:%s' % (formdef.url_name, formdata.id)
feature['properties']['id'] = formdata.id
feature['properties']['counter'] = formdata.counter
features.append(feature)
result = '''
<link href="%s/static/css/combo.map.css" type="text/css" media="all" rel="stylesheet">
<div id="similar"><script>geojson_data = %s;</script>%s</div>
''' % (portal_user_url,
json.dumps(features),
map_widget.render())