diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-01-10 05:19:52 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-01-10 05:19:52 +0100 |
commit | 6276d665e5ebe74cfeccdfa4ee16563e29dffe5a (patch) | |
tree | 8d3f36723cb814fe67c908fc1532821b4ab007ee /ishtar/furnitures/forms.py | |
parent | 279ee43c5c85a67097e73f9d5fc3b4d2736131f0 (diff) | |
download | Ishtar-6276d665e5ebe74cfeccdfa4ee16563e29dffe5a.tar.bz2 Ishtar-6276d665e5ebe74cfeccdfa4ee16563e29dffe5a.zip |
Correct deletion of items
Diffstat (limited to 'ishtar/furnitures/forms.py')
-rw-r--r-- | ishtar/furnitures/forms.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index 51d37b8b7..367001bef 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -207,15 +207,15 @@ class Wizard(NamedUrlSessionFormWizard): not_to_delete, to_delete = [], [] for key in data.keys(): items = key.split('-') - if len(items) == 3: - if items[1] not in to_delete and \ - items[1] not in not_to_delete: - del_key = u"%s-%s-DELETE" % (items[0], items[1]) + if len(items) == 4: + if items[2] not in to_delete and \ + items[2] not in not_to_delete: + del_key = "-".join(items[:3]+["DELETE"]) if del_key in data and data[del_key]: - to_delete.append(items[1]) + to_delete.append(items[2]) else: - not_to_delete.append(items[1]) - if items[1] in to_delete: + not_to_delete.append(items[2]) + if items[2] in to_delete: data.pop(key) if to_delete: # reorganize @@ -231,7 +231,7 @@ class Wizard(NamedUrlSessionFormWizard): # get a form key base_key = form.form.base_fields.keys()[0] init = self.get_form_initial(request, storage, step) - if not init: + if not init or to_delete: total_field = len([key for key in data.keys() if base_key in key.split('-') and data[key]]) else: |