summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/views.py11
-rw-r--r--chimere/widgets.py13
2 files changed, 21 insertions, 3 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 9a9a09a..f96a66b 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -261,6 +261,9 @@ def edit(request, area_name="", item_id=None, submited=False):
declared_fields = PropertyModel.objects.filter(available=True).all()
filtered_properties = PropertyModel.objects.filter(available=True,
subcategories__id__isnull=False).all()
+ point_value = init_item.point if init_item else None
+ if request.POST and request.POST.get('point'):
+ point_value = request.POST.get('point')
response_dct.update({
'actions':actions,
'action_selected':('contribute', 'edit'),
@@ -273,7 +276,7 @@ def edit(request, area_name="", item_id=None, submited=False):
'marker_id':item_id,
'sub_categories':sub_categories,
'point_widget':PointChooserWidget().render('point',
- init_item.point if init_item else None,
+ point_value,
area_name=response_dct['area_name']),
'properties':declared_fields,
'filtered_properties':filtered_properties,
@@ -366,6 +369,9 @@ def editRoute(request, area_name="", item_id=None, submited=False):
declared_fields = form.declared_fields.keys()
if 'description' in declared_fields:
declared_fields.pop(declared_fields.index('description'))
+ route_value = init_item.route if init_item else None
+ if request.POST and request.POST.get('route'):
+ route_value = request.POST.get('route')
response_dct.update({
'actions':actions,
'action_selected':('contribute', 'edit-route'),
@@ -377,8 +383,7 @@ def editRoute(request, area_name="", item_id=None, submited=False):
'dated':settings.CHIMERE_DAYS_BEFORE_EVENT,
'extra_head':form.media,
'sub_categories':sub_categories,
- 'route_widget':RouteChooserWidget().render('route',
- init_item.route if init_item else None,
+ 'route_widget':RouteChooserWidget().render('route', route_value,
area_name=response_dct['area_name'], routefile_id='',),
'properties':declared_fields,
'submited':submited
diff --git a/chimere/widgets.py b/chimere/widgets.py
index 826283d..23709ac 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -387,9 +387,22 @@ class AreaWidget(forms.TextInput):
lower_right = value[1]
if hasattr(upper_left, 'x') and hasattr(upper_left, 'y'):
upper_left_lon, upper_left_lat = upper_left.x, upper_left.y
+ elif len(upper_left) == 2:
+ try:
+ upper_left_lon = float(upper_left[0])
+ upper_left_lat = float(upper_left[1])
+ except ValueError:
+ pass
if hasattr(lower_right, 'x') and hasattr(lower_right, 'y'):
lower_right_lon, lower_right_lat = lower_right.x, \
lower_right.y
+ elif len(lower_right) == 2:
+ lower_right_lon, lower_right_lat = lower_right
+ try:
+ lower_right_lon = float(lower_right[0])
+ lower_right_lat = float(lower_right[1])
+ except ValueError:
+ pass
tpl = getMapJS()
tpl += u"</div>\n"\
u"<input type='hidden' name='upper_left_lat' id='upper_left_lat' "\