diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-24 11:00:36 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-24 11:00:36 +0100 |
commit | 2a8d0c0edb7281e955fd7ad097e205f07cca1d5c (patch) | |
tree | db3e5e1d57ccf4684df9289242f62ae6597d76b0 /ishtar_common/wizards.py | |
parent | ac595e9aa13d27fb15e70eb1f6e2d11f928a4c4a (diff) | |
parent | 3fbc69487b0fde33bb78f8d92da8eac25cb5da2e (diff) | |
download | Ishtar-2a8d0c0edb7281e955fd7ad097e205f07cca1d5c.tar.bz2 Ishtar-2a8d0c0edb7281e955fd7ad097e205f07cca1d5c.zip |
Merge branch 'master' into v0.9
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 13 |
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) |