web/ldt/ldt_utils/views.py
changeset 10 84e31387a741
parent 7 881514514df1
child 16 b3692a42ac79
--- a/web/ldt/ldt_utils/views.py	Thu Jun 10 04:16:26 2010 +0200
+++ b/web/ldt/ldt_utils/views.py	Thu Jun 10 11:17:09 2010 +0200
@@ -1,10 +1,12 @@
 import django.core.urlresolvers
 from django.http import HttpResponse, HttpResponseRedirect
-from django.shortcuts import render_to_response, get_object_or_404
+from django.shortcuts import render_to_response, get_object_or_404, get_list_or_404
 from django.template import RequestContext
 from django.core.urlresolvers import reverse
 from django.contrib.auth.decorators import login_required
 from django.conf import settings
+from django.core import serializers
+from django.utils import simplejson
 from fileimport import *
 from forms import LdtImportForm, LdtAddForm, SearchForm, AddProjectForm, CopyProjectForm
 from ldt.core.models import Owner
@@ -26,7 +28,7 @@
     
 def searchForm(request):
     form = SearchForm()
-    return render_to_response('ldt/ldt_utils/search_form.html',{'form': form} , context_instance=RequestContext(request))    
+    return render_to_response('ldt/ldt_utils_utils/search_form.html',{'form': form} , context_instance=RequestContext(request))    
 
 def searchIndex(request):
     
@@ -40,7 +42,7 @@
         language_code = request.LANGUAGE_CODE[:2]
     
         url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.searchInit", args=[field, queryStr])
-        return render_to_response('ldt/ldt/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': url}, context_instance=RequestContext(request))
+        return render_to_response('ldt/ldt_utils/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': url}, context_instance=RequestContext(request))
     else:
         resp = HttpResponse()
         resp.write("<html><head></head><body>Error : No result</body></html>");
@@ -132,7 +134,7 @@
     'contents': contents,
     'ldtProjects': ldtProjects.reverse(),
     }
-    return render_to_response('ldt/ldt/ldt_list.html', context, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/ldt_list.html', context, context_instance=RequestContext(request))
 
 def create_ldt_view(request):
     if request.method == "POST" :
@@ -144,14 +146,14 @@
     else:
         form = LdtAddForm()
         contents = Content.objects.all()    
-        return render_to_response('ldt/ldt/create_ldt.html', {'contents': contents, 'form': form,'create_project_action':reverse(create_ldt_view)}, context_instance=RequestContext(request))
+        return render_to_response('ldt/ldt_utils/create_ldt.html', {'contents': contents, 'form': form,'create_project_action':reverse(create_ldt_view)}, context_instance=RequestContext(request))
      
 def created_ldt(request):
-    return render_to_response('ldt/ldt/done.html', context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/done.html', context_instance=RequestContext(request))
     
 def indexProject(request, id):
 
-    urlStr = settings.WEB_URL + reverse("ldt.ldt_utils.views.init", args=['ldtProject', id])
+    urlStr = settings.WEB_URL + reverse("space_ldt_init", args=['ldtProject', id])
     posturl= settings.WEB_URL + reverse("ldt.ldt_utils.views.save_ldtProject")
     language_code = request.LANGUAGE_CODE[:2]
     
@@ -161,7 +163,7 @@
     else:
         readonly = 'false'
     
-    return render_to_response('ldt/ldt/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request))
     
 def init(request, method, url):
     ldtgen = LdtUtils()
@@ -186,15 +188,16 @@
 
 def project_json_id(request, id):
     
-    project = Project.objects.get(ldt_id=id)
+    project = get_object_or_404(Project,ldt_id=id)
 
     return project_json(request, project)
 
+
 def project_json_externalid(request, id):
+        
+    res_proj = get_list_or_404(Project.objects.order_by('-modification_date'),contents__external_id = id)
     
-    project = Project.objects.get(external_id=id)
-
-    return project_json(request, project)
+    return project_json(request, res_proj[0])
 
 
 
@@ -207,8 +210,7 @@
     ps = ProjectSerializer(project)
     project_dict = ps.serialize_to_cinelab()
     
-    json_serializer = serializers.get_serializer("json")()
-    json_serializer.serialize(project_array, ensure_ascii=False, stream=resp)
+    simplejson.dump(project_dict, resp, ensure_ascii=False, indent=2)
 
     return resp
 
@@ -242,7 +244,7 @@
         ldtproject.save()
     else:
         ldt = ''
-    return render_to_response('ldt/ldt/save_done.html', {'ldt': ldt, 'id':id, 'title':title, 'contents': new_contents}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/save_done.html', {'ldt': ldt, 'id':id, 'title':title, 'contents': new_contents}, context_instance=RequestContext(request))
     
 @login_required    
 def publish(request, id):
@@ -261,10 +263,10 @@
 
 def index(request, url):
     
-    urlStr = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.init", args=['ldt',url])
+    urlStr = settings.WEB_URL + reverse("ldt_init", args=['ldt',url])
     language_code = request.LANGUAGE_CODE[:2]
     
-    return render_to_response('ldt/ldt/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': urlStr, 'weburl':settings.WEB_URL+settings.BASE_URL}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/init_ldt.html', {'MEDIA_URL': settings.MEDIA_URL, 'colorurl': settings.MEDIA_URL+'swf/ldt/pkg/color.xml', 'i18nurl': settings.MEDIA_URL+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.MEDIA_URL+'swf/ldt/', 'url': urlStr, 'weburl':settings.WEB_URL+settings.BASE_URL}, context_instance=RequestContext(request))
 
 
 def ldt(request, url, startSegment = None):
@@ -284,7 +286,7 @@
 
 
 def loading(request):
-     return render_to_response('ldt/ldt/loading.html', context_instance=RequestContext(request))
+     return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request))
 
 
 @login_required
@@ -300,7 +302,7 @@
             return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id]))
     else:
         form = AddProjectForm()
-    return render_to_response('ldt/ldt/create_ldt.html', {'form':form, 'contents':contents, 'iri_id':iri_id, 'create_project_action':reverse("ldt.ldt_utils.views.create_project",args=[iri_id])}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'contents':contents, 'iri_id':iri_id, 'create_project_action':reverse("ldt.ldt_utils.views.create_project",args=[iri_id])}, context_instance=RequestContext(request))
 
 @login_required
 def copy_project(request, ldt_id):
@@ -314,5 +316,5 @@
             return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id]))
     else:
         form = CopyProjectForm
-    return render_to_response('ldt/ldt/copy_ldt.html', {'form':form, 'project':project}, context_instance=RequestContext(request))
+    return render_to_response('ldt/ldt_utils/copy_ldt.html', {'form':form, 'project':project}, context_instance=RequestContext(request))