diff options
| -rw-r--r-- | chimere/views.py | 11 | ||||
| -rw-r--r-- | chimere/widgets.py | 13 |
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' "\ |
