summaryrefslogtreecommitdiff
path: root/chimere/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-19 20:30:28 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-19 20:30:28 +0200
commitfb822636db2aa37b09c97ddcdaa1d4714e61159d (patch)
treec478beceea2ec2c1d52bdb8c4f98a0e7a4308c41 /chimere/forms.py
parenta4a2f071eda97ea6c1b0c6cb43e09aaf29cb11f5 (diff)
downloadChimère-fb822636db2aa37b09c97ddcdaa1d4714e61159d.tar.bz2
Chimère-fb822636db2aa37b09c97ddcdaa1d4714e61159d.zip
Improve route save: manage with signals the affectation of a reference marker
Diffstat (limited to 'chimere/forms.py')
-rw-r--r--chimere/forms.py18
1 files changed, 4 insertions, 14 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index a2a721b..eccc7c5 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -301,21 +301,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 = []
- 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_')])