diff -r bad0e6c60b63 -r 3848e1813a30 alcatel/document/views.py --- a/alcatel/document/views.py Mon Jul 22 14:56:35 2013 +0200 +++ b/alcatel/document/views.py Wed Aug 14 16:36:41 2013 +0200 @@ -1,17 +1,13 @@ import logging import json -import simplejson as json +import simplejson 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.shortcuts import render_to_response, redirect 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 @@ -22,21 +18,46 @@ from controller.DocumentaryFiles import DocumentaryFiles from controller.Clusters import Clusters from controller.DocumentaryFileAnnotation import DocumentaryFileAnnotation +from dataparser.ClientSearchAttributes import ClientSearchAttributes from document.models import Documentaryfile - +from django.core.urlresolvers import reverse +from mediapartdb.MediapartReader import MediapartReader logger = logging.getLogger('document') -def main_page(request): - print 'main_page called' - return render_to_response('index.html') +def article(request,cluster_title, id_article): + logger.info('article called'+str(request)) + logger.info('article called'+str(id_article)) + reader = MediapartReader() + url = reader.get_url(str(id_article)) + logger.info('url'+str(url)) + my_data_dictionary = {'url_article': url, 'cluster_title': cluster_title} + + my_data_dictionary['dossierDocs'] = [] + + + dossierDoc = [] + if request.user.is_authenticated(): + logger.info('user') + documentaryFiles = Documentaryfile.objects.filter(user=request.user.id) + if documentaryFiles: + logger.info('lengthdocumentaryFiles = '+str(len(documentaryFiles))) + for docfile in documentaryFiles: + dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url, 'id':str(docfile.id)}) + logger.info('dossierDoc = '+str(dossierDoc)) + my_data_dictionary['dossierDocs'].append(dossierDoc) + return render_to_response('article.html', my_data_dictionary, context_instance=RequestContext(request)) + def login_view(request): logger.info('login_view called!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!') - print request + logger.info('login_view session_items ********** ='+str(request.session.items())) username = request.POST['username'] + logger.info('username = '+username) password = request.POST['password'] + user = authenticate(username=username, password=password) + request.session['user'] = username my_data_dictionary = {'loginstatus': ''} my_data_dictionary['dossierDocs'] = [] @@ -52,19 +73,17 @@ my_data_dictionary['dossierDocs'].append(dossierDoc) request.session['dossierDocs'] = dossierDoc logger.info(my_data_dictionary['dossierDocs']) - print 'user logged' + logger.info('user logged') else: logger.info('user not active') - print 'user not active' + logger.onfo('user not active') my_data_dictionary['loginstatus'] = 'Utilisateur inactif' else: - print 'invalid user' + logger.info('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', '/')) @@ -74,47 +93,186 @@ """ query_id = request.session['query_id'] key1 = request.session['key1'] - json2 = request.session['json2'] - json = request.session['json'] - + jsonStreamgraph = request.session['jsonStreamgraph'] + jsonTreemap = request.session['jsonTreemap'] + logout(request) request.session['refreshOnly'] = True request.session['query_id'] = query_id request.session['key1'] = key1 - request.session['json2'] = json2 - request.session['json'] = json + request.session['jsonStreamgraph'] = jsonStreamgraph + request.session['jsonTreemap'] = jsonTreemap + logger.info('query_context4 ********** ='+str(request.session.items())) 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: +def documentary_file_user_update(request): + logger.info('documentary_file_user_update') + myjson = {'user': request.user.username} + myjson['dossierDocs'] = [] + if request.user.is_authenticated(): + logger.info('documentary_file_user_update 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}) - + logger.info('docfile.title = '+str(docfile.title)) + dossierDoc = {'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url, 'id':docfile.id} + myjson['dossierDocs'].append(dossierDoc) + else: + logger.info('documentary_file_user_update not is_authenticated') + json = simplejson.dumps(myjson) + return HttpResponse(json) + + +def document_main_page(request,query=0,cluster=0,offset=0,count=0,docId=0): + logger.info('document_main_page called'+str(request)) + logger.info('document_main_page session_items1 ********** ='+str(request.session.items())) + my_data_dictionary = {'user': request.user} + my_data_dictionary['dossierDocs'] = [] + my_data_dictionary['mydossierDoc'] = '' + + dossierDoc = [] + if request.user.is_authenticated(): + logger.info('user') + documentaryFiles = Documentaryfile.objects.filter(user=request.user.id) + if documentaryFiles: + logger.info('lengthdocumentaryFiles = '+str(len(documentaryFiles))) + for docfile in documentaryFiles: + dossierDoc.append({'title':docfile.title, 'description':docfile.description, 'url':docfile.image.url, 'id':str(docfile.id)}) + logger.info('dossierDoc = '+str(dossierDoc)) my_data_dictionary['dossierDocs'].append(dossierDoc) - logger.info(my_data_dictionary['dossierDocs']) + + if request.is_ajax(): + logger.info('is_ajax') + requestType = request.POST['requestType'] + + if requestType == "streamgraph": + logger.info('streamgraph') + if request.session['refreshOnly'] == False: + request.session['from_date'] = request.POST['from_date'] + request.session['to_date'] = request.POST['to_date'] + request.session['category']= request.POST.getlist('categories') + searcher = Searcher(request); + '''attr = ClientSearchAttributes(request) + key1 = attr.get_hash_value_from_text_image() + query_id = attr.get_hash_value() + request.session['query_id'] = int(query_id) + request.session['key1'] = int(key1)''' + json = searcher.streamgraph() + logger.info('document_main_page session_items2********** ='+str(request.session.items())) + return HttpResponse(json) + elif requestType == "treemap": + logger.info('treemap') + attr = ClientSearchAttributes(request) + '''key1 = attr.get_hash_value_from_text_image() + query_id = attr.get_hash_value() + request.session['query_id'] = int(query_id) + request.session['key1'] = int(key1)''' + if request.session['refreshOnly'] == False: + request.session['from_date'] = request.POST['from_date'] + request.session['to_date'] = request.POST['to_date'] + request.session['category']= request.POST.getlist('categories') - # get user information here (documentary file ...) - - # - return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request)) + searcher = Searcher(request); + json = searcher.treemap() + request.session['json'] = json + logger.info('document_main_page session_items3 ********** ='+str(request.session.items())) + return HttpResponse(json) + elif requestType == "treemapUpdate": + logger.info('treemapUpdate') + return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request)) + elif requestType == "setAffichage": + logger.info('setAffichage'+str(request.POST['typeTri'])) + request.session['typeTri'] = request.POST['typeTri'] + logger.info('jsontremap1*******'+str(request.session['jsonTreemap'])) + myjsonTreemap = simplejson.loads(request.session['jsonTreemap']) + logger.info('myjsonTreemap*******'+str(myjsonTreemap['query']['typeTri'])) + myjsonTreemap['query']['typeTri'] = request.POST['typeTri'] + request.session['jsonTreemap'] = simplejson.dumps(myjsonTreemap) + logger.info('jsontremap2*******'+str(request.session['jsonTreemap'])) + json = {'ok':'ok'} + return HttpResponse(json) + '''elif requestType == "documents": + logger.info('documents'+str(query)) + logger.info('documents'+str(cluster)) + logger.info('documents'+str(offset)) + logger.info('documents'+str(count)) + documents = Documents(request) + jsondocuments = documents.get_documents(query,cluster,offset,count) + request.session['jsondocuments'] = jsondocuments + return render_to_response('cluster.html',my_data_dictionary, context_instance=RequestContext(request))''' + #return HttpResponse(jsondocuments) + else: + logger.info('is_not_ajax') + if query != 0 or docId != 0: + documents = Documents(request) + jsondocuments = documents.get_documents(query,cluster,offset,count,docId) + request.session['jsondocuments'] = jsondocuments + return render_to_response('cluster.html',my_data_dictionary, context_instance=RequestContext(request)) + else: + try: + filtre = request.POST['filtre'] + if filtre == "nok": + logger.info('filtre * == '+filtre) + #if requestType == "streamgraph": + searcher = Searcher(request) + attr = ClientSearchAttributes(request) + key1 = attr.get_hash_value_from_text_image() + query_id = attr.get_hash_value() + request.session['query_id'] = int(query_id) + request.session['key1'] = int(key1) + jsonstream = searcher.streamgraph() + + #return HttpResponse(json) + #elif requestType == "treemap": + #logger.info('treemap') + #if request.session['refreshOnly'] == False and id==0: + if request.session['refreshOnly'] == False: + request.session['from_date'] = request.POST['from_date'] + request.session['to_date'] = request.POST['to_date'] + request.session['category']= request.POST.getlist('categories') + + searcher = Searcher(request) + jsontreemap = searcher.treemap() + #request.session['json'] = json + logger.info('refreshnok ********** ='+str(request.session.items())) + elif filtre == "ok": + logger.info('filtre ! == '+filtre) + searcher = Searcher(request) + jsonstream = searcher.streamgraph() + jsontreemap = searcher.treemap() + except Exception, err: + logger.info('exception') + try: + if request.session['refreshOnly'] == True: + logger.info('refreshOnly TRUE') + request.session['refreshOnly'] = False + return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request)) + except Exception, err: + request.session['refreshOnly'] = False + request.session['jsonStreamgraph'] = {} + request.session['jsonTreemap'] = {} + request.session['json2'] = {} + request.session['json'] = {} + request.session['query_id_treemap'] = '' + request.session['query_id_streamgraph'] = '' + request.session['query_id'] = '' + request.session['key1'] = '' + request.session['from_date'] = '' + request.session['to_date'] = '' + request.session['category'] = [] + request.session['typeTri'] = 'treemap' + request.session['jsontreemapdossierdoc'] = '' + request.session['jsonstreamgraphdossierdoc'] = '' + logger.info('session id==0 ********** ='+str(request.session.items())) + return render_to_response('index.html', my_data_dictionary, context_instance=RequestContext(request)) + '''else: + logger.info("id !=0") + documentaryFile = Documentaryfile.objects.get(id=id) + request.session['jsontreemap'] = documentaryFile.jsontreemap + request.session['jsonstreamgraph'] = documentaryFile.jsonstreamgraph + my_data_dictionary['mydossierDoc'] = {'dossierDocTitle':documentaryFile.title} + logger.info('my_data_dictionary = '+str(my_data_dictionary)) + return render_to_response('index-dossier.html',my_data_dictionary, context_instance=RequestContext(request))''' def get_mesdossiersDoc(request): logger.info('get_mesdossiersDoc called') @@ -131,10 +289,12 @@ if documentaryFiles: my_data_dictionary['myDocumentaryFiles'] = '

Mes dossiers docs

' for docfile in documentaryFiles: + logger.info('docfile.image.url = '+docfile.image.url) my_data_dictionary['myDocumentaryFiles'] += '
' - my_data_dictionary['myDocumentaryFiles'] += '