From 42fe76e7bb82923acefed07b2e700d1e1ef88e1e Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 21 Apr 2017 16:26:24 +0200 Subject: Wizards: fix serialization of ImageFileField --- ishtar_common/views.py | 2 +- ishtar_common/wizards.py | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'ishtar_common') diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 2c9bbb425..fe0693d7b 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -871,7 +871,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if own: q = models.IshtarUser.objects.filter(user_ptr=request.user) if q.count(): - query = query & model.get_query_owns(ishtaruser.all()[0]) + query = query & model.get_query_owns(q.all()[0]) else: return HttpResponse(EMPTY, content_type='text/plain') diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index fd8d24366..e64d259e7 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2016 Étienne Loks +# Copyright (C) 2010-2017 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -24,12 +24,13 @@ import logging from django.conf import settings from formtools.wizard.views import NamedUrlWizardView, normalize_name, \ get_storage, StepsHelper + from django.contrib.sites.models import Site from django.core.exceptions import ObjectDoesNotExist from django.core.files.images import ImageFile from django.core.files.storage import default_storage from django.core.mail import send_mail -from django.db.models.fields.files import FileField +from django.db.models.fields.files import FileField, ImageFieldFile from django.db.models.fields.related import ManyToManyField from django.db.models.fields import NOT_PROVIDED @@ -1107,7 +1108,13 @@ class Wizard(NamedUrlWizardView): continue if hasattr(value, 'pk'): value = value.pk - if value in (True, False) or \ + if isinstance(value, ImageFieldFile) \ + or isinstance(value, FileField): + try: + initial[base_field] = value.path + except ValueError: + pass + elif value in (True, False) or \ isinstance(value, FileField) or \ isinstance(value, ImageFile): initial[base_field] = value -- cgit v1.2.3