summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-24 11:06:02 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-24 11:06:02 +0100
commit282186421b25ec64ce4c0559a418bc4bc4ad3ce0 (patch)
treeaa8966766bb6f7b6589612dfaa2132ef6ae12a72 /ishtar_common/wizards.py
parenta719417c6b94c095d49bcce4d6253f13b2ee5fe5 (diff)
parent2a8d0c0edb7281e955fd7ad097e205f07cca1d5c (diff)
downloadIshtar-282186421b25ec64ce4c0559a418bc4bc4ad3ce0.tar.bz2
Ishtar-282186421b25ec64ce4c0559a418bc4bc4ad3ce0.zip
Merge branch 'v0.9' into wheezy
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r--ishtar_common/wizards.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 18336cff5..735ad62fd 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -31,6 +31,7 @@ from django.core.files.storage import default_storage
from django.core.mail import send_mail
from django.db.models.fields.files import FileField
from django.db.models.fields.related import ManyToManyField
+
from django.http import HttpResponseRedirect
from django.forms import ValidationError
from django.shortcuts import render_to_response, redirect
@@ -679,6 +680,18 @@ class Wizard(NamedUrlWizardView):
# material_index management for baseitems
obj._cached_label_checked = False
obj.save()
+
+ # force post_save for old related m2ms (which can have been detached
+ # from the current object)
+ for model in old_m2ms:
+ for item in old_m2ms[model]:
+ # verify it hasn't been deleted
+ q = item.__class__.objects.filter(pk=item.pk)
+ if q.count():
+ item = q.all()[0]
+ item.skip_history_when_saving = True
+ item.save()
+
# make the new object a default
if self.current_obj_slug:
self.request.session[self.current_obj_slug] = unicode(obj.pk)