summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-01 20:56:07 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-01 20:56:07 +0200
commit48827b3dbcd37a0e0655c4d3e17d77d6112d9f40 (patch)
treebf633d5f57baab695160ed4bb949c8ab77c27ce8 /ishtar/ishtar_base/forms.py
parent08b2fd834f068fa30bb6a32d595e9ae564a389bc (diff)
downloadIshtar-48827b3dbcd37a0e0655c4d3e17d77d6112d9f40.tar.bz2
Ishtar-48827b3dbcd37a0e0655c4d3e17d77d6112d9f40.zip
Work on warehouse packaging (refs #500)
Diffstat (limited to 'ishtar/ishtar_base/forms.py')
-rw-r--r--ishtar/ishtar_base/forms.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py
index 29d9ab4d6..9faba2ac9 100644
--- a/ishtar/ishtar_base/forms.py
+++ b/ishtar/ishtar_base/forms.py
@@ -269,7 +269,18 @@ class Wizard(NamedUrlSessionFormWizard):
value = form.cleaned_data[key]
if key in associated_models:
if value:
- value = associated_models[key].objects.get(pk=value)
+ model = associated_models[key]
+ if isinstance(value, unicode) \
+ or isinstance(value, str) and "," in value:
+ value = value.split(",")
+ if isinstance(value, list) \
+ or isinstance(value, tuple):
+ value = [model.objects.get(pk=val)
+ for val in value if val]
+ if len(value) == 1:
+ value = value[0]
+ else:
+ value = model.objects.get(pk=value)
else:
value = None
dct[key] = value
@@ -335,7 +346,7 @@ class Wizard(NamedUrlSessionFormWizard):
m = getattr(self.model, dependant_item)
model = m.field.rel.to
c_dct = other_objs[dependant_item].copy()
- if hasattr(model, 'history'):
+ if issubclass(model, models.BaseHistorizedItem):
c_dct['history_modifier'] = request.user
c_item = model(**c_dct)
c_item.save()