diff options
Diffstat (limited to 'chimere/forms.py')
| -rw-r--r-- | chimere/forms.py | 26 |
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_')]) |
