summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-09-04 20:05:24 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-09-04 20:05:24 +0200
commit1f16014274a2ad16fcd635fc9b506ef429a33677 (patch)
treed7e4c7b4121f09210b398aa4d6bc3830e6e1858e /ishtar_common/wizards.py
parent4aa9cda8b8bd1c9f51e467541a97d30669130243 (diff)
downloadIshtar-1f16014274a2ad16fcd635fc9b506ef429a33677.tar.bz2
Ishtar-1f16014274a2ad16fcd635fc9b506ef429a33677.zip
Improve Image field management (refs #1365)
* add a custom widget to allow display via prettyPhoto on forms * disable resizing when the image is deleted * fix "has image" search request to manage empty and null field for images * fix deletion of files by the wizard * fix initialization of instancied form for files and images
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r--ishtar_common/wizards.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index e1f031818..b96e33669 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -22,6 +22,8 @@ import datetime
from django.conf import settings
from django.contrib.formtools.wizard.views import NamedUrlWizardView
from django.core.exceptions import ObjectDoesNotExist
+from django.core.files.images import ImageFile
+from django.db.models.fields.files import FileField
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils.datastructures import MultiValueDict
@@ -334,6 +336,11 @@ class Wizard(NamedUrlWizardView):
for k in dct:
if k.startswith('pk'):
continue
+ # False set to None for images and files
+ if isinstance(obj.__class__._meta.get_field(k), FileField) or\
+ isinstance(obj.__class__._meta.get_field(k), ImageFile):
+ if not dct[k]:
+ dct[k] = None
setattr(obj, k, dct[k])
try:
obj.full_clean()
@@ -646,7 +653,9 @@ class Wizard(NamedUrlWizardView):
continue
if hasattr(value, 'pk'):
value = value.pk
- if value in (True, False):
+ if value in (True, False) or \
+ isinstance(value, FileField) or \
+ isinstance(value, ImageFile):
initial[base_field] = value
elif value != None:
initial[base_field] = unicode(value)