--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/alcatel/document/views.py Thu Jan 24 16:58:55 2013 +0100
@@ -0,0 +1,369 @@
+import logging
+import json
+import simplejson as json
+from django.http import Http404
+from django.http import HttpResponse
+#from django.http import HttpResponseRedirect
+#from django.contrib.auth.decorators import login_required
+from django.contrib.auth import logout
+from django.shortcuts import render_to_response
+from django.template import RequestContext
+from django.contrib.auth import authenticate
+from django.contrib.auth import login
+from django.shortcuts import redirect
+from django.core.urlresolvers import reverse
+from django.http import HttpResponseRedirect, HttpResponse
+from django.contrib.auth.decorators import login_required
+from controller.Searcher import Searcher
+from controller.ClusterAnnotation import ClusterAnnotation
+from controller.DocumentAnnotation import DocumentAnnotation
+from controller.DocumentaryFile import DocumentaryFile
+from controller.Documents import Documents
+from controller.DocumentaryFiles import DocumentaryFiles
+from controller.Clusters import Clusters
+from controller.DocumentaryFileAnnotation import DocumentaryFileAnnotation
+from document.models import Documentaryfile
+
+
+logger = logging.getLogger('document')
+
+def main_page(request):
+ print 'main_page called'
+ return render_to_response('index.html')
+
+def login_view(request):
+ logger.info('login_view called!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
+ print request
+ username = request.POST['username']
+ password = request.POST['password']
+ user = authenticate(username=username, password=password)
+ my_data_dictionary = {'loginstatus': ''}
+ my_data_dictionary['dossierDocs'] = []
+
+ if user is not None:
+ if user.is_active:
+ login(request, user)
+ dossierDoc = []
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ for docfile in documentaryFiles:
+ dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url})
+
+ my_data_dictionary['dossierDocs'].append(dossierDoc)
+ request.session['dossierDocs'] = dossierDoc
+ logger.info(my_data_dictionary['dossierDocs'])
+ print 'user logged'
+ else:
+ logger.info('user not active')
+ print 'user not active'
+ my_data_dictionary['loginstatus'] = 'Utilisateur inactif'
+ else:
+ print 'invalid user'
+ logger.info('invalid user')
+ my_data_dictionary['loginstatus'] = 'Idenfiant ou mot de passe incorrect'
+
+ request.session['refreshOnly'] = True
+ print 'next!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
+ print request.GET.get('next', '/')
+ return HttpResponseRedirect(request.GET.get('next', '/'))
+
+
+def logout_view(request):
+ """
+ Logout users out and re-direct them to the main page.
+ """
+ query_id = request.session['query_id']
+ key1 = request.session['key1']
+ json2 = request.session['json2']
+ json = request.session['json']
+
+ logout(request)
+ request.session['refreshOnly'] = True
+ request.session['query_id'] = query_id
+ request.session['key1'] = key1
+ request.session['json2'] = json2
+ request.session['json'] = json
+ return HttpResponseRedirect(request.GET.get('next', '/'))
+
+
+def document_main_page(request):
+ logger.info('document_main_page called')
+ request.session['refreshOnly'] = False
+ request.session['json2'] = {}
+ request.session['json'] = {}
+ request.session['query_id'] = ''
+ request.session['key1'] = ''
+
+ my_data_dictionary = {'user': request.user}
+ my_data_dictionary['loginstatus'] = ''
+ my_data_dictionary['dossierDocs'] = []
+ dossierDoc = []
+
+ if not request.user.is_authenticated():
+ print 'Anonymous user'
+ return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request))
+ else:
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ for docfile in documentaryFiles:
+ dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url})
+
+ my_data_dictionary['dossierDocs'].append(dossierDoc)
+ logger.info(my_data_dictionary['dossierDocs'])
+
+ # get user information here (documentary file ...)
+
+ #
+ return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request))
+
+def get_mesdossiersDoc(request):
+ logger.info('get_mesdossiersDoc called')
+ my_data_dictionary = {'user': request.user}
+ my_data_dictionary['loginstatus'] = ''
+ my_data_dictionary['myDocumentaryFiles'] = ''
+ logger.info('get_mesdossiersDoc called2')
+ if not request.user.is_authenticated():
+ logger.info('Anonymous user')
+ return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request))
+ else:
+ logger.info('user'+str(request.user))
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ my_data_dictionary['myDocumentaryFiles'] = '<section id="dossierDoc"><h1>Mes dossiers docs</h1>'
+ for docfile in documentaryFiles:
+ my_data_dictionary['myDocumentaryFiles'] += '<article style="width:278px">'
+ my_data_dictionary['myDocumentaryFiles'] += '<img src="{{ STATIC_URL }}images/'
+ my_data_dictionary['myDocumentaryFiles'] += docfile.image.url
+ my_data_dictionary['myDocumentaryFiles'] += '" style="height:60px;width:60px;float:left;padding-right:10px"/> <h2 style="float:left">'
+ my_data_dictionary['myDocumentaryFiles'] += docfile.title
+ my_data_dictionary['myDocumentaryFiles'] += '</h2><br><p>'
+ my_data_dictionary['myDocumentaryFiles'] += docfile.description
+ my_data_dictionary['myDocumentaryFiles'] += '</p></article>'
+
+ # get user information here (documentary file ...)
+
+ #
+ return render_to_response('mesdossiersDoc.html', my_data_dictionary, context_instance=RequestContext(request))
+
+
+def streamgraph(request):
+ print 'streamgraph'
+ if request.method == 'POST':
+ print 'POST'
+ searcher = Searcher(request);
+ json = searcher.streamgraph()
+ return HttpResponse(json)
+ else:
+ print 'ERROR'
+ raise Http404
+ return HttpResponse("OK")
+
+
+def treemap(request):
+ print 'TREEMAP ENTER !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
+ my_data_dictionary = {'user': request.user}
+ my_data_dictionary['dossierDocs'] = []
+ dossierDoc = []
+ if request.user.is_authenticated():
+ print request.user.is_authenticated()
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ for docfile in documentaryFiles:
+ dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url})
+ print dossierDoc
+ my_data_dictionary['dossierDocs'].append(dossierDoc)
+ logger.info(my_data_dictionary['dossierDocs'])
+
+ searcher = Searcher(request);
+ json = searcher.treemap()
+ request.session['json'] = json
+ if request.is_ajax():
+ print("is_ajax")
+ return HttpResponse(json)
+ else:
+ print("isnot_ajax")
+ return render_to_response('recherche.html',my_data_dictionary, context_instance=RequestContext(request))
+
+
+def get_documents_with_annotations(request,query=0,cluster=0,offset=0,count=0):
+ print 'get_documents_with_annotations !!!!!!!!'
+
+ '''if request.method == 'GET':'''
+ if request.method == 'GET' and request.session['refreshOnly'] == True:
+ print("get_request and refresh")
+ json2 = request.session['json2']
+ request.session['refreshOnly'] = False
+ else:
+ print("NOT get_request and refresh")
+ documents = Documents(request)
+ json2 = documents.get_documents(query,cluster,offset,count)
+ request.session['json2'] = json2
+
+ d = json.loads(json2)
+ my_data_dictionary = {'cluster_title': d['cluster_title']}
+ my_data_dictionary['dossierDocs'] = []
+ dossierDoc = []
+
+ if request.user.is_authenticated():
+ print request.user.is_authenticated()
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ for docfile in documentaryFiles:
+ dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url})
+ print dossierDoc
+ my_data_dictionary['dossierDocs'].append(dossierDoc)
+ logger.info(my_data_dictionary['dossierDocs'])
+
+ if request.is_ajax():
+ print("is_ajax")
+ return HttpResponse(json2)
+ else:
+ print("isnot_ajax")
+ return render_to_response('cluster.html',my_data_dictionary, context_instance=RequestContext(request))
+ '''return HttpResponse(json)'''
+
+ '''else:
+ raise Http404'''
+
+def get_annotations(request):
+ if request.method == 'GET':
+ print 'get_annotations'
+ annotations = DocumentAnnotation(request);
+ json = annotations.get_annotations()
+ return HttpResponse(json)
+ else:
+ raise Http404
+
+@login_required
+def documentary_files(request,myuser="",offset=0,count=0):
+ print 'documentary_files'
+ print request.user
+ if request.method == 'GET':
+ doc_files = DocumentaryFiles(request);
+ json = doc_files.get_files(myuser,offset,count)
+ request.session['json3'] = json
+ '''return HttpResponse(json)'''
+
+ my_data_dictionary = {}
+ my_data_dictionary['dossierDocs'] = []
+ dossierDoc = []
+
+ if request.user.is_authenticated():
+ print request.user.is_authenticated()
+ documentaryFiles = Documentaryfile.objects.filter(user=request.user.id)
+ if documentaryFiles:
+ for docfile in documentaryFiles:
+ dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url})
+ print dossierDoc
+ my_data_dictionary['dossierDocs'].append(dossierDoc)
+ logger.info(my_data_dictionary['dossierDocs'])
+
+ return render_to_response('dossiersdocumentaire.html',my_data_dictionary, context_instance=RequestContext(request))
+ else:
+ raise Http404
+
+def documentary_file_visibility(request):
+ if request.method == 'POST':
+ print 'documentary_file_visibility'
+ documentary_file = DocumentaryFile(request);
+ json = documentary_file.visibilityChange()
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def documentary_file_delete(request):
+ if request.method == 'POST':
+ print 'documentary_file_delete'
+ documentaryfile_var = DocumentaryFile(request);
+ json = documentaryfile_var.delete()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def documentary_file_create(request):
+ if request.method == 'POST':
+ logger.info('documentary_file create')
+ documentary_file = DocumentaryFile(request);
+ json = documentary_file.create()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def cluster_annotation_create(request):
+ if request.method == 'POST':
+ logger.info('cluster annotation create')
+ clusterAnnotation_var = ClusterAnnotation(request);
+ json = clusterAnnotation_var.create()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def cluster_annotation_delete(request):
+ if request.method == 'POST':
+ logger.info('cluster annotation delete')
+ clusterAnnotation_var = ClusterAnnotation(request);
+ json = clusterAnnotation_var.delete()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def document_annotation_create(request):
+ if request.method == 'POST':
+ logger.info('document annotation create')
+ document_annotation = DocumentAnnotation(request);
+ json = document_annotation.create()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def document_annotation_delete(request):
+ if request.method == 'POST':
+ logger.info('document annotation delete')
+ document_annotation = DocumentAnnotation(request);
+ json = document_annotation.delete()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+ return HttpResponse("OK")
+
+def get_clusters(request):
+ if request.method == 'GET':
+ logger.info('get clusters of a documentary file')
+ clusters = Clusters(request);
+ json = clusters.get_treemap_of_clusters()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+
+def create_annotation_on_documentary_file(request):
+ if request.method == 'POST':
+ logger.info('create an annotation on a documentary file')
+ annotation = DocumentaryFileAnnotation(request);
+ json = annotation.create()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
+
+def delete_annotation_on_documentary_file(request):
+ if request.method == 'POST':
+ logger.info('delete an annotation on a documentary file')
+ annotation = DocumentaryFileAnnotation(request);
+ json = annotation.delete()
+
+ return HttpResponse(json)
+ else:
+ raise Http404
\ No newline at end of file