diff -r fed56345e904 -r fc1210bbb854 web/ldt/ldt_utils/views.py --- 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