web/ldt/ldt_utils/views.py
changeset 71 fc1210bbb854
parent 67 90fd14c649bb
child 80 1e7732f40eee
child 81 97b12f5f2c7a
--- a/web/ldt/ldt_utils/views.py	Tue Sep 21 13:07:04 2010 +0200
+++ b/web/ldt/ldt_utils/views.py	Thu Sep 23 13:45:21 2010 +0200
@@ -369,12 +369,14 @@
     return render_to_response('ldt/ldt_utils/copy_ldt.html', {'form':form, 'project':project}, context_instance=RequestContext(request))
 
 
-def write_content_base(request, id=None):
+def write_content_base(request, iri_id=None):
 
-    if id:
-        instance_content = Content.objects.get(id=id)
-        instance_media = instance_content.media_obj 
+    if iri_id:        
+        instance_content = Content.objects.get(iri_id=iri_id)
+        instance_media = instance_content.media_obj
+        logging.debug("write_content_base : valid form: for instance : media -> " + repr(instance_media) + " content : for instance : " + repr(instance_content) ) 
     else:
+        logging.debug("No iri_id")
         instance_content = None
         instance_media = None
     
@@ -384,6 +386,9 @@
         media_form = MediaForm(request.POST, 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))
+        
         if media_valid and content_valid :
             
             # see if media must be created
@@ -392,8 +397,6 @@
 
             media_input_type = content_form.cleaned_data["media_input_type"]
             
-            logging.debug("write_content_base : POST media_input_type:" + media_input_type)
-            
             if media_input_type == "none":
                 media = None
             elif media_input_type == "link":
@@ -488,17 +491,28 @@
             form_status = 'error'
     else:
         form_status = 'empty'
-        content_form = ContentForm(prefix="content", instance=instance_content)
+        initial = { 'media_input_type':"link"}
+        
+        content_form = ContentForm(prefix="content", instance=instance_content, initial = initial )
         media_form = MediaForm(prefix="media", instance=instance_media)
+        
+        if instance_content is not None:
+            content_form.media_input_type = "link"
     
     return content_form, media_form, form_status
 
 
-def write_content(request, id=None):
+def write_content(request, iri_id=None):
+    
+    logging.debug("write_content : " + str(iri_id) )
+    content_form, media_form, form_status = write_content_base(request, iri_id)
     
-    content_form, media_form, form_status = write_content_base(request, id)
+    if iri_id:
+        create_content_action =  reverse(write_content, kwargs={'iri_id':iri_id})
+    else:
+        create_content_action =  reverse(write_content)
     
-    return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form,'form_status': form_status,'create_content_action': reverse(write_content)}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form,'form_status': form_status,'create_content_action': create_content_action}, context_instance=RequestContext(request))
 
 
     
\ No newline at end of file