diff options
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 |
commit | 1f16014274a2ad16fcd635fc9b506ef429a33677 (patch) | |
tree | d7e4c7b4121f09210b398aa4d6bc3830e6e1858e /ishtar_common/wizards.py | |
parent | 4aa9cda8b8bd1c9f51e467541a97d30669130243 (diff) | |
download | Ishtar-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.py | 11 |
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) |