summaryrefslogtreecommitdiff
path: root/chimere/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-23 19:04:57 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-11-23 19:04:57 +0100
commit7cc593fd4db11fb0ad60ad7875022f6b497ada08 (patch)
tree7c1db5182f0f043c5789a0c56b32b71174ca8432 /chimere/admin.py
parent52d57c4905444c52dff78120f0cea3e381e573c8 (diff)
downloadChimère-7cc593fd4db11fb0ad60ad7875022f6b497ada08.tar.bz2
Chimère-7cc593fd4db11fb0ad60ad7875022f6b497ada08.zip
Fix category modification on amendment submission.
Diffstat (limited to 'chimere/admin.py')
-rw-r--r--chimere/admin.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/chimere/admin.py b/chimere/admin.py
index ff689af..4e175aa 100644
--- a/chimere/admin.py
+++ b/chimere/admin.py
@@ -118,8 +118,13 @@ def managed_modified(modeladmin, request, queryset):
if not request.POST[k]:
continue
if hasattr(it_ref, k):
- setattr(it_ref, k, getattr(it, k))
- it_ref.save()
+ c_value = getattr(it_ref, k)
+ if hasattr(c_value, 'select_related'):
+ c_value.clear()
+ for val in getattr(it, k).all():
+ c_value.add(val)
+ else:
+ it_ref.save()
elif k.startswith('property_'):
try:
pm = PropertyModel.get(pk=int(k[len('property_'):]))