Merge and add search list in front template.
--- a/crea/inte-crea/groupe.html Wed Jan 11 10:56:43 2012 +0100
+++ b/crea/inte-crea/groupe.html Wed Jan 11 12:38:06 2012 +0100
@@ -113,6 +113,30 @@
<p><a href="#"><b>Lorem Ipsum</b></a></p>
<p class="font_11">par <a class="under" href="#">Ars Industrialis</a> | 1h30</p>
</li>
+ <li class="li_media">
+ <a href="#"><img class="img_media" src="img/placeholder_16_9.jpg" width="134" height="75" /></a>
+ <div class="bulle_annot">120</div>
+ <p><a href="#"><b>Lorem Ipsum</b></a></p>
+ <p class="font_11">par <a class="under" href="#">Ars Industrialis</a> | 1h30</p>
+ </li>
+ <li class="li_media">
+ <a href="#"><img class="img_media" src="img/placeholder_16_9.jpg" width="134" height="75" /></a>
+ <div class="bulle_annot">120</div>
+ <p><a href="#"><b>Lorem Ipsum</b></a></p>
+ <p class="font_11">par <a class="under" href="#">Ars Industrialis</a> | 1h30</p>
+ </li>
+ <li class="li_media">
+ <a href="#"><img class="img_media" src="img/placeholder_16_9.jpg" width="134" height="75" /></a>
+ <div class="bulle_annot">120</div>
+ <p><a href="#"><b>Lorem Ipsum</b></a></p>
+ <p class="font_11">par <a class="under" href="#">Ars Industrialis</a> | 1h30</p>
+ </li>
+ <li class="li_media">
+ <a href="#"><img class="img_media" src="img/placeholder_16_9.jpg" width="134" height="75" /></a>
+ <div class="bulle_annot">120</div>
+ <p><a href="#"><b>Lorem Ipsum</b></a></p>
+ <p class="font_11">par <a class="under" href="#">Ars Industrialis</a> | 1h30</p>
+ </li>
<li>
<p>
<a class="pink" href="#">1</a>
--- a/crea/inte-crea/player.html Wed Jan 11 10:56:43 2012 +0100
+++ b/crea/inte-crea/player.html Wed Jan 11 12:38:06 2012 +0100
@@ -44,7 +44,7 @@
<ul class="floatlist">
<li class="share_li">
<a href="https://twitter.com/share" class="twitter-share-button" data-count="none">Twitter</a>
- <script src="//platform.twitter.com/widgets.js" type="text/javascript"></script>
+ <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
</li>
<li class="share_li" style="padding-top: 3px">
<a name="fb_share">Partager</a>
--- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html Wed Jan 11 10:56:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html Wed Jan 11 12:38:06 2012 +0100
@@ -25,8 +25,11 @@
<h1><a href="{% url ldt.ldt_utils.views.front.front_home %}"><b>Lignes</b> de temps</a></h1>
</li>
<li id="li_search">
- <form id="form_search">
- <input id="search_text" name="q" value="" />
+ <form id="form_search" action="{% url ldt.ldt_utils.views.front.search_index %}" method="POST">
+ {% csrf_token %}
+ <!--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' %}" />
</form>
<li id="li_annotation">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html Wed Jan 11 12:38:06 2012 +0100
@@ -0,0 +1,113 @@
+{% extends "front/front_base.html" %}
+{% load i18n %}
+{% load thumbnail %}
+
+{% block title %}Lignes de temps : {% trans 'search' %} ""{% endblock %}
+
+{% block css_import %}
+{{block.super}}
+<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/front_search.css" type="text/css"/>
+{% endblock %}
+
+{% block body %}
+{{block.super}}
+
+{% if msg %}
+{{ msg }}
+{% else %}
+ {% ifequal nb_results 0 %}
+ {% blocktrans %} No results for <b>{{ search }}</b>.{% endblocktrans %}
+ {% else %}
+<!-- TABLE POUR ALIGNER À LA VERTICALE -->
+ <table id="tbl_rech">
+ <tr>
+<!-- LISTE DES RÉSULTATS -->
+ <td>
+ <ul class="floatlist" id="liste_resultats">
+ <!-- titre "Résultats de recherche" et options -->
+ <li id="li_haut_resultats">
+ <ul class="floatlist" id="ul_haut_resultats">
+ <li id="title_resultats">
+ <h2>{% trans "Search results for " %} <b> {{ search }}</b></h2>
+ </li>
+ <li>
+ <p id="p_nb_resultats">{{ nb_results }} {% trans "Result" %}{{ nb_results|pluralize }}</p>
+ </li>
+ <!--li id="resultats_options">options</li-->
+ </ul>
+ </li>
+ <!-- Médias trouvés -->
+
+ <!-- Média -->
+ {% autoescape off %}
+ {% for res in results.object_list %}
+ <li class="li_result_media">
+ <div class="titre_result_media">
+ <div class="h3_result_media">
+ <h3>{{res.content_title|capfirst}}</h3>
+ </div>
+ <div class="duree_result_media">
+ <p>{{res.content.duration}}</p>
+ </div>
+ <div class="graphe_result_media">
+ <img src="img/placeholder_media_graph.png" width="340" height="25" alt="graph de volume" />
+ </div>
+ </div>
+
+ <!-- Segments du média -->
+ <ul class="floatlist list_segments">
+ {% for segment in res.list %}
+ <li class="li_segment">
+ <div class="left_segment">
+ <div class="color_zone" style="background: #f49af5;"></div>
+ <a href="{% url ldt.ldt_utils.views.lignesdetemps.index_segment segment.project_id segment.iri_id segment.ensemble_id segment.decoupage_id segment.element_id %}"><img src="{{LDT_MEDIA_PREFIX}}img/annot_icon_80x45.png" width="80" height="45" /></a>
+ <p class="duree_segment">{{ segment.duration }}</p>
+ </div>
+ <h4 class="title_segment"><a class="blue under" href="{% url ldt.ldt_utils.views.lignesdetemps.index_segment segment.project_id segment.iri_id segment.ensemble_id segment.decoupage_id segment.element_id %}">
+ {% if segment.title %}{{ segment.title }}{% else %}{% trans "No title" %}{% endif %}</a></h4>
+ <p class="text_segment">{% if segment.context %}{{ segment.context }}{% endif %}</h4>
+ </li>
+ <!--li class="segmentinfos" ><span class="" title="{% trans 'open ldt' %}"><a class="ldt_link_open_ldt" href="{% url ldt.ldt_utils.views.lignesdetemps.index_segment segment.project_id segment.iri_id segment.ensemble_id segment.decoupage_id segment.element_id %}"-->
+ </li>
+ {% endfor %}
+ </ul>
+ </li>
+ {% endfor %}
+ {% endautoescape %}
+ <!-- Fin des médias -->
+ <!-- Pagination -->
+ <li id="result_pagination">
+ <p>
+ {% if results.has_previous %}
+ <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.previous_page_number }}">{% trans "previous" %}</a>
+ {% endif %}
+
+ {% if results.paginator.num_pages > 1 %}
+ <span class="current">
+ {% blocktrans with number=results.number num_pages=results.paginator.num_pages%}Page {{number}} of {{num_pages}}{% endblocktrans %}
+ </span>
+ {% endif %}
+
+ {% if results.has_next %}
+ <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.next_page_number }}">{% trans "next" %}</a>
+ {% endif %}
+ </p>
+ </li>
+ <!-- Fin Pagination -->
+ </ul>
+
+
+<!-- Right column -->
+<!-- APERÇU DU RÉSULTAT -->
+ <td id="result_preview">
+ <h4>ICI PREVIEW ?</h4>
+ <p class="bigmargin">Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem …</p>
+ </td>
+ </tr>
+</table>
+
+ {% endifequal %}
+{% endif %}
+
+{% endblock %}
+
--- a/src/ldt/ldt/ldt_utils/urls.py Wed Jan 11 10:56:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/urls.py Wed Jan 11 12:38:06 2012 +0100
@@ -43,6 +43,8 @@
url(r'^front/$', 'views.front.front_home'),
url(r'^front/group/(?P<group_id>.*)$', 'views.front.group_info'),
url(r'^front/player/(?P<content_iri_id>.*)$', 'views.front.annot_content'),
+ url(r'^front/search/$', 'views.front.search_index'),
+ url(r'^front/searchListing', 'views.front.search_listing'),
)
urlpatterns += patterns('',
--- a/src/ldt/ldt/ldt_utils/views/front.py Wed Jan 11 10:56:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/front.py Wed Jan 11 12:38:06 2012 +0100
@@ -7,6 +7,8 @@
from django.template import RequestContext
from guardian.shortcuts import get_objects_for_group
from ldt.ldt_utils.models import Content, Project
+from ldt.ldt_utils.views.workspace import search_index as ws_search_index, search_listing as ws_search_listing
+from ldt.security.utils import add_change_attr
@login_required
@@ -71,4 +73,14 @@
context_instance=RequestContext(request))
+@login_required
+def search_index(request):
+ return ws_search_index(request, front_template=True)
+
+
+@login_required
+def search_listing(request):
+ return ws_search_listing(request, front_template=True)
+
+
--- a/src/ldt/ldt/ldt_utils/views/workspace.py Wed Jan 11 10:56:43 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py Wed Jan 11 12:38:06 2012 +0100
@@ -152,7 +152,7 @@
@login_required
-def search_index(request):
+def search_index(request, front_template=False):
sform = SearchForm(request.POST)
if sform.is_valid():
@@ -192,7 +192,7 @@
score = sum([seg['score'] for seg in segments])
desc = content.description if content.description else ''
- complete_results.append({'list' : segments, 'score' : score, 'content_title' : content.title, 'content_id' : content.iri_id, 'content_description' : desc })
+ complete_results.append({'list' : segments, 'score' : score, 'content_title' : content.title, 'content_id' : content.iri_id, 'content_description' : desc, 'content':content })
complete_results.sort(key=lambda k: k['score'])
@@ -210,15 +210,25 @@
results.object_list = highlight_documents(results.object_list, search, field)
- return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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))
+
+ if front_template :
+ return render_to_response('front/front_search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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 render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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'))
+ if front_template :
+ return HttpResponseRedirect(reverse('ldt.ldt_utils.views.front.front_home'))
+ else :
+ return HttpResponseRedirect(reverse('ldt.ldt_utils.views.workspace.published_project'))
-def search_listing(request):
+def search_listing(request, front_template=False):
if not cache.get('complete_results_%s' % request.user.username):
- return HttpResponseRedirect(reverse('ldt.ldt_utils.views.workspace.published_project'))
+ if front_template :
+ return HttpResponseRedirect(reverse('ldt.ldt_utils.views.front.front_home'))
+ else :
+ return HttpResponseRedirect(reverse('ldt.ldt_utils.views.workspace.published_project'))
complete_results = cache.get('complete_results_%s' % request.user.username)
search = cache.get('search_%s' % request.user.username)
@@ -238,7 +248,10 @@
results.object_list = highlight_documents(results.object_list, search, field)
- return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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))
+ if front_template :
+ return render_to_response('front/front_search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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 render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, '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))
--- a/src/ldt/ldt/static/ldt/css/front_common.css Wed Jan 11 10:56:43 2012 +0100
+++ b/src/ldt/ldt/static/ldt/css/front_common.css Wed Jan 11 12:38:06 2012 +0100
@@ -201,7 +201,7 @@
position: relative; width: 378px; margin: 2px 0; height: 20px; border: 1px solid #000000; background: url(./imgs/search_icon.png) left no-repeat #ffffff;
}
-#search_text {
+#id_search {
position: absolute; top: 0; left: 25px; width: 250px; height: 20px; border: 0; padding: 0;
}