Merge with fe5289a8d8290a85e20f8623ecd2b620baf77866
authorverrierj
Fri, 17 Feb 2012 10:23:44 +0100
changeset 571 0f892a78b75c
parent 570 361ecea621e0 (diff)
parent 569 fe5289a8d829 (current diff)
child 572 10c26c22b76a
Merge with fe5289a8d8290a85e20f8623ecd2b620baf77866
--- a/src/ldt/ldt/ldt_utils/forms.py	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/forms.py	Fri Feb 17 10:23:44 2012 +0100
@@ -32,6 +32,7 @@
     search = forms.CharField(label=_("Search"))
     field = forms.ChoiceField([(u"all", _("all")), (u"title", _("title")), (u"abstract", _("resume")), (u"tags", _("tags"))], label=_("Fields"))
     ldt_pres = forms.BooleanField(required=False, initial=True, label=_("Display the results in Lignes De Temps"))
+    page = forms.IntegerField(required=False, widget=forms.HiddenInput())
 
 class AddProjectForm (ShareForm):
     title = forms.CharField(widget=forms.TextInput(attrs={'class':'inputbox required'}))
--- a/src/ldt/ldt/ldt_utils/models.py	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/models.py	Fri Feb 17 10:23:44 2012 +0100
@@ -674,7 +674,10 @@
     polemics = models.IntegerField(null=True, blank=True, default=0)
     
     
-    # Mask is 0000, representing OK|KO|Q|REF, 1 if the syntax is in the segment, 0 else
+    # All combinations of polemic hashtags can be represented by a combination of 
+    # 4 bits, 1 if the hashtag is in the tweet, 0 else. We use the order OK, KO, Q, REF
+    # and convert the resulting string into an integer to store the polemic values.
+    # mask contains all possible polemic values
     mask = {
             'OK': set([8,9,10,11,12,13,14,15]),
             'KO': set([4,5,6,7,12,13,14,15]),
--- a/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html	Fri Feb 17 10:23:44 2012 +0100
@@ -16,7 +16,6 @@
 
 {% block js_import %}
 {{block.super}}
-<script src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js" type="text/javascript"/></script>
 <script src="{{LDT_MEDIA_PREFIX}}js/raphael.js" type="text/javascript"/></script>
 {% endblock %}
 
--- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html	Fri Feb 17 10:23:44 2012 +0100
@@ -10,27 +10,47 @@
     <meta http-equiv="content-language" content="{{LANGUAGE_CODE}}" />
     <link rel="SHORTCUT ICON" href="{{LDT_MEDIA_PREFIX}}/img/favicon.ico" />
     <title>{% block title %}Lignes de temps{% endblock %}</title>
-    {% block js_import %}{% endblock %}
+    {% block js_import %}
+    	<script src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js" type="text/javascript"></script>
+    	<script src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js" type="text/javascript"></script>
+    {% endblock %}
     {% block css_declaration %}{% endblock %}
     {% block css_import %}
     <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/front_common.css" type="text/css"/>
     {% endblock %}
-    {% block js_declaration %}{% endblock %}
+    {% block js_declaration %}
+    <script type="text/javascript">
+    	
+    	$(document).ready(function () {    		
+    		$("#id_search").bind('hastext', function () {
+				$("#search_submit").addClass('search_valid').removeClass('search_invalid');
+				$("#search_submit").removeAttr('disabled');			
+    		});
+    		
+    		$("#id_search").bind('notext', function () {
+				$("#search_submit").addClass('search_invalid').removeClass('search_valid');
+				$("#search_submit").attr('disabled', 'disabled');
+    		});
+    		
+    	});
+    </script>    
+    {% endblock %}
 {% endblock %}
 </head>
 <body>
+
+
 <div id="general_container">
     <ul class="floatlist" id="title_bar">
         <li id="li_h1">
             <h1><a href="{% url ldt.ldt_utils.views.front.front_home %}" title="{% trans 'homepage' %}">{% trans '<b>Lignes</b> de temps' %}</a></h1>
         </li>
         <li id="li_search">
-            <form id="form_search" action="{% url ldt.ldt_utils.views.front.search_index %}" method="POST">
-                {% csrf_token %}
+            <form id="form_search" action="{% url ldt.ldt_utils.views.front.search_index %}" method="GET">
                 <!--input id="search_text" name="q" value="" /-->
                 <input id="id_search" type="text" name="search">
                 <input type="hidden" value="all" name="field">
-                <input id="search_submit" type="submit" value="{% trans 'Search' %}" />
+                <input id="search_submit" class="search_invalid" type="submit" value="{% trans 'Search' %}" disabled="true"/>
             </form>
             
         {% if user.is_authenticated %}
--- a/src/ldt/ldt/ldt_utils/templates/front/front_home.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_home.html	Fri Feb 17 10:23:44 2012 +0100
@@ -8,7 +8,6 @@
 
 {% block js_import %}
 {{block.super}}
-<script src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js" type="text/javascript"/></script>
 <script src="{{LDT_MEDIA_PREFIX}}js/raphael.js" type="text/javascript"/></script>
 {% endblock %}
 
--- a/src/ldt/ldt/ldt_utils/templates/front/front_player.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_player.html	Fri Feb 17 10:23:44 2012 +0100
@@ -12,7 +12,6 @@
 {% endblock %}
 
 {% block js_declaration %}
-<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js"></script>
 <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.qtip.min.js"></script>
 <script type="text/javascript">
     var $j = jQuery.noConflict();
--- a/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html	Fri Feb 17 10:23:44 2012 +0100
@@ -7,7 +7,6 @@
 
 {% block js_import %}
 {{block.super}}
-<script src="{{LDT_MEDIA_PREFIX}}js/jquery.min.js" type="text/javascript"/></script>
 <script src="{{LDT_MEDIA_PREFIX}}js/raphael.js" type="text/javascript"/></script>
 {% endblock %}
 
--- a/src/ldt/ldt/ldt_utils/views/front.py	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/front.py	Fri Feb 17 10:23:44 2012 +0100
@@ -123,24 +123,19 @@
 
 def search_index(request):
     language_code = request.LANGUAGE_CODE[:2]
+    nb = 0
+    results = []
+    search = ''
+    field = 'all'
     
-    page = int(request.GET.get('page', '-1'))        
-    search = request.GET.get('search', '')
-    field = request.GET.get('field', 'all')
-
-    if page >= 0 and search != '':
-        results, nb = get_search_results(request, search, field, page)
-        return render_to_response('front/front_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))   
-
-    sform = SearchForm(request.POST)
+    sform = SearchForm(request.GET)
     if sform.is_valid():
         search = sform.cleaned_data["search"]
-        field = request.POST["field"]
-        results, nb = get_search_results(request, search, field, 1)            
-        return render_to_response('front/front_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))
-    return HttpResponseRedirect('ldt.ldt_utils.views.front.home')
-    
+        field = sform.cleaned_data["field"]
+        page = sform.cleaned_data["page"] or 1
+        results, nb = get_search_results(request, search, field, page)            
 
+    return render_to_response('front/front_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))
 
 
 def get_content_tags(limit=None, steps=10):
--- a/src/ldt/ldt/ldt_utils/views/workspace.py	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py	Fri Feb 17 10:23:44 2012 +0100
@@ -152,33 +152,29 @@
 @login_required
 def search_index(request):
     language_code = request.LANGUAGE_CODE[:2]
-    
-    page = int(request.GET.get('page', '-1'))        
-    search = request.GET.get('search', '')
-    field = request.GET.get('field', 'all')
-    
-    if page >= 0 and search != '':
-        results, nb = get_search_results(request, search, field, page)
-        
-        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))   
+    nb = 0
+    results = []
+    search = ''
+    field = 'all'
     
         
-    sform = SearchForm(request.POST)
+    sform = SearchForm(request.GET)
     if sform.is_valid():
         search = sform.cleaned_data["search"]
         queryStr = base64.urlsafe_b64encode(search.encode('utf8'))
-        field = request.POST["field"]
+        field = sform.cleaned_data["field"]
+        page = sform.cleaned_data["page"] or 1
+        ldt_pres = sform.cleaned_data["ldt_pres"]
         
-        if request.POST.has_key("ldt_pres"):
+        if ldt_pres:
             url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, queryStr])
             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))
         else:                                            
-            results, nb = get_search_results(request, search, field, 1)            
+            results, nb = get_search_results(request, search, field, page)            
             
-            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))
+    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))
         
-    else:
-        return HttpResponseRedirect(reverse('ldt.ldt_utils.views.workspace.published_project'))
+ 
 def get_search_results(request, search, field, page):
     results = get_results_with_context(field, search) 
             
--- a/src/ldt/ldt/static/ldt/css/front_common.css	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/static/ldt/css/front_common.css	Fri Feb 17 10:23:44 2012 +0100
@@ -264,7 +264,15 @@
 
 #search_submit {
     font-family: "PT Sans"; position: absolute; top: 0; right: 0; height: 16px; width: 100px; font-size: 13px;
-	color: #ffffff; background: #0068c4; border: 0; margin: 2px; padding: 0; text-align: center;
+	color: #ffffff;  border: 0; margin: 2px; padding: 0; text-align: center;
+}
+
+.search_valid {
+	background: #0068c4;
+}
+
+.search_invalid {
+	background: #adadad;
 }
 
 #annot_icon {
@@ -282,8 +290,6 @@
     float: left;
 }
 
-
-
 /* Footer */
 
 #footer {
--- a/src/ldt/ldt/templates/ldt/ldt_base.html	Mon Feb 13 21:53:36 2012 +0100
+++ b/src/ldt/ldt/templates/ldt/ldt_base.html	Fri Feb 17 10:23:44 2012 +0100
@@ -123,11 +123,10 @@
                 </div>
                 {% if user.is_authenticated %}
 		        <div class="block span-4 last">
-		            <form method="post" id="quick_search_form" action="{% url ldt.ldt_utils.views.workspace.search_index %}" title="{% trans "search"%}" accept-charset="utf-8">
+		            <form method="get" id="quick_search_form" action="{% url ldt.ldt_utils.views.workspace.search_index %}" title="{% trans "search"%}" accept-charset="utf-8">
 					<input type="text" name="search" id="id_search" size="16"/>
 					<input type='hidden' name='field' value='all' />
-					<input type="submit" class="quick_search_submit" value="" />{% csrf_token %}
-					
+					<input type="submit" class="quick_search_submit" value="" />					
 					</form>
 		        </div>
 		        {% endif %}