summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/forms.py')
-rw-r--r--chimere/forms.py26
1 files changed, 8 insertions, 18 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index 5cf2c63..b584f4f 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -130,6 +130,10 @@ class CategoryAdminForm(forms.ModelForm):
Main form for categories
"""
description = forms.CharField(widget=TextareaWidget, required=False)
+ class Media:
+ js = list(settings.JQUERY_JS_URLS) + [
+ '%schimere/js/menu-sort.js' % settings.STATIC_URL,
+ ]
class Meta:
model = Category
@@ -333,25 +337,11 @@ class RouteForm(RouteAdminForm):
file_pk = int(self.cleaned_data['associated_file_id'])
new_route.associated_file = RouteFile.objects.get(pk=file_pk)
new_route.save()
- marker_fields = [f.attname for f in Marker._meta.fields]
- marker_dct = dict([(k, self.cleaned_data[k]) for k in self.cleaned_data
- if k in marker_fields])
- marker_dct['status'] = new_route.status
- categories = []
- if not marker_dct['point']:
- first_point = new_route.route.coords[0]
- marker_dct['point'] = 'POINT(%f %f)' % (first_point[0],
- first_point[1])
- new_marker, created = Marker.objects.get_or_create(route=new_route,
- defaults=marker_dct)
- if not created:
- for att in marker_dct.keys():
- setattr(new_marker, att, marker_dct[att])
+ new_marker = Marker.objects.get(route=new_route)
+ # save description
+ if self.cleaned_data['description']:
+ new_marker.description = self.cleaned_data['description']
new_marker.save()
- new_marker.categories.clear()
- for category in self.cleaned_data['categories']:
- new_marker.categories.add(category)
- new_marker.save()
# save properties
properties = dict([(k.split('_')[-1], self.cleaned_data[k]) \
for k in self.cleaned_data.keys() if k.startswith('property_')])