--- 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 %}