src/ldt/ldt/ldt_utils/views/workspace.py
changeset 570 361ecea621e0
parent 567 715f117b0415
child 599 5207abea900d
equal deleted inserted replaced
567:715f117b0415 570:361ecea621e0
   150     return render_to_response('ldt/ldt_utils/search_form.html', {'form': form} , context_instance=RequestContext(request))
   150     return render_to_response('ldt/ldt_utils/search_form.html', {'form': form} , context_instance=RequestContext(request))
   151 
   151 
   152 @login_required
   152 @login_required
   153 def search_index(request):
   153 def search_index(request):
   154     language_code = request.LANGUAGE_CODE[:2]
   154     language_code = request.LANGUAGE_CODE[:2]
   155     
   155     nb = 0
   156     page = int(request.GET.get('page', '-1'))        
   156     results = []
   157     search = request.GET.get('search', '')
   157     search = ''
   158     field = request.GET.get('field', 'all')
   158     field = 'all'
   159     
   159     
   160     if page >= 0 and search != '':
   160         
   161         results, nb = get_search_results(request, search, field, page)
   161     sform = SearchForm(request.GET)
   162         
       
   163         return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : nb, 'search' : search, 'field': field, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))   
       
   164     
       
   165         
       
   166     sform = SearchForm(request.POST)
       
   167     if sform.is_valid():
   162     if sform.is_valid():
   168         search = sform.cleaned_data["search"]
   163         search = sform.cleaned_data["search"]
   169         queryStr = base64.urlsafe_b64encode(search.encode('utf8'))
   164         queryStr = base64.urlsafe_b64encode(search.encode('utf8'))
   170         field = request.POST["field"]
   165         field = sform.cleaned_data["field"]
   171         
   166         page = sform.cleaned_data["page"] or 1
   172         if request.POST.has_key("ldt_pres"):
   167         ldt_pres = sform.cleaned_data["ldt_pres"]
       
   168         
       
   169         if ldt_pres:
   173             url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, queryStr])
   170             url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, queryStr])
   174             return render_to_response('ldt/ldt_utils/init_ldt_full.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': url}, context_instance=RequestContext(request))
   171             return render_to_response('ldt/ldt_utils/init_ldt_full.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': url}, context_instance=RequestContext(request))
   175         else:                                            
   172         else:                                            
   176             results, nb = get_search_results(request, search, field, 1)            
   173             results, nb = get_search_results(request, search, field, page)            
   177             
   174             
   178             return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : nb, 'search' : search, 'field': field, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))
   175     return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : nb, 'search' : search, 'field': field, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))
   179         
   176         
   180     else:
   177  
   181         return HttpResponseRedirect(reverse('ldt.ldt_utils.views.workspace.published_project'))
       
   182 def get_search_results(request, search, field, page):
   178 def get_search_results(request, search, field, page):
   183     results = get_results_with_context(field, search) 
   179     results = get_results_with_context(field, search) 
   184             
   180             
   185     all_segments = Segment.objects.filter(element_id__in=[e['element_id'] for e in results])
   181     all_segments = Segment.objects.filter(element_id__in=[e['element_id'] for e in results])
   186     all_projects = Project.objects.filter(ldt_id__in=[e['project_id'] for e in results], state=2)
   182     all_projects = Project.objects.filter(ldt_id__in=[e['project_id'] for e in results], state=2)