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 | 057f6d81d5dee5ba8eba2fd959553cf57657990d (patch) | |
| tree | d7e4c7b4121f09210b398aa4d6bc3830e6e1858e /ishtar_common/wizards.py | |
| parent | 843dbe43a597438c62471e2bdc3758db8e2708c0 (diff) | |
| download | Ishtar-057f6d81d5dee5ba8eba2fd959553cf57657990d.tar.bz2 Ishtar-057f6d81d5dee5ba8eba2fd959553cf57657990d.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) | 
