--- a/web/ldt/ldt_utils/views.py Fri Oct 15 11:58:37 2010 +0200
+++ b/web/ldt/ldt_utils/views.py Mon Oct 18 01:44:12 2010 +0200
@@ -4,6 +4,8 @@
from django.contrib.auth.decorators import login_required
from django.core import serializers
from django.core.urlresolvers import reverse
+from django.forms.forms import get_declared_fields
+from django.forms.models import model_to_dict
from django.forms.util import ErrorList
from django.http import HttpResponse, HttpResponseRedirect, \
HttpResponseForbidden
@@ -490,12 +492,31 @@
form_status= 'none'
if request.method =="POST":
- content_form = ContentForm(request.POST, prefix="content", instance=instance_content)
- media_form = MediaForm(request.POST, request.FILES, prefix="media", instance= instance_media)
+
+ content_instance_val = model_to_dict(instance_content,exclude=ContentForm.Meta.exclude)
+ media_instance_val = model_to_dict(instance_media, exclude=MediaForm.Meta.exclude)
+ #add prefix
+
+ def add_prefix(dict, prefix):
+ for key,value in dict.items():
+ dict['%s-%s' % (prefix, key)] = value
+ del(dict[key])
+
+ add_prefix(content_instance_val, "content")
+ add_prefix(media_instance_val, "media")
+
+ for k in request.POST.keys():
+ value = request.POST.get(k)
+ content_instance_val[k] = value
+ media_instance_val[k] = value
+
+ content_form = ContentForm(content_instance_val, prefix="content", instance=instance_content)
+ media_form = MediaForm(media_instance_val, request.FILES, prefix="media", instance=instance_media)
+
media_valid = media_form.is_valid()
content_valid = content_form.is_valid()
- logging.debug("write_content_base : valid form: for instance : " + repr(instance_media) + " -> media " + str(media_valid) +" content : for instance : " + repr(instance_content) + " : " + str(content_valid))
+ logging.debug("write_content_base : valid form: for instance : " + repr(instance_media) + " -> media " + str(media_valid) +" content : for instance : " + repr(instance_content) + " : " + str(content_valid) )
if media_valid and content_valid :