# HG changeset patch # User cavaliet # Date 1331120638 -3600 # Node ID 5207abea900dc25338ced8b2dd390db13e4f27d3 # Parent acef0a114a73a1c637a8afe89c20820a0564dc22 possibility to search by group of tagged medias. diff -r acef0a114a73 -r 5207abea900d src/ldt/ldt/ldt_utils/forms.py --- a/src/ldt/ldt/ldt_utils/forms.py Tue Mar 06 13:20:22 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/forms.py Wed Mar 07 12:43:58 2012 +0100 @@ -33,6 +33,7 @@ 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()) + content_tag = forms.CharField(label=_("Content Tag"), required=False, widget=forms.HiddenInput()) class AddProjectForm (ShareForm): title = forms.CharField(widget=forms.TextInput(attrs={'class':'inputbox required'})) diff -r acef0a114a73 -r 5207abea900d src/ldt/ldt/ldt_utils/templates/front/front_base.html --- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html Tue Mar 06 13:20:22 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html Wed Mar 07 12:43:58 2012 +0100 @@ -48,6 +48,7 @@ + {% if tag_label %}{% endif %} diff -r acef0a114a73 -r 5207abea900d src/ldt/ldt/ldt_utils/templates/front/front_search_results.html --- a/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html Tue Mar 06 13:20:22 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html Wed Mar 07 12:43:58 2012 +0100 @@ -50,7 +50,12 @@ {{ msg }} {% else %} {% ifequal nb_results 0 %} - {% blocktrans %} No results for {{ search }}.{% endblocktrans %} + {% if tag_label %} + {% blocktrans %} No results for {{ search }} with the medias tagged {{tag_label}}{% endblocktrans %} +
{% trans "See for all medias" %} + {% else %} + {% blocktrans %} No results for {{ search }}.{% endblocktrans %} + {% endif %} {% else %} @@ -62,7 +67,13 @@
  • {{ form.as_table }}
    diff -r acef0a114a73 -r 5207abea900d src/ldt/ldt/ldt_utils/views/front.py --- a/src/ldt/ldt/ldt_utils/views/front.py Tue Mar 06 13:20:22 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/views/front.py Wed Mar 07 12:43:58 2012 +0100 @@ -127,15 +127,21 @@ results = [] search = '' field = 'all' + content_tag = 'all' sform = SearchForm(request.GET) if sform.is_valid(): search = sform.cleaned_data["search"] field = sform.cleaned_data["field"] page = sform.cleaned_data["page"] or 1 - results, nb = get_search_results(request, search, field, page) + # If asked, we filter the request with only the contents tagged with content_tag + content_tag = sform.cleaned_data["content_tag"] + content_list = None + if content_tag is not None and content_tag != "" : + content_list = TaggedItem.objects.get_by_model(Content.objects.all(), '"'+content_tag+'"') + results, nb = get_search_results(request, search, field, page, content_list) - 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 render_to_response('front/front_search_results.html', {'results': results, 'nb_results' : nb, 'search' : search, 'field': field, 'tag_label':content_tag, '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): diff -r acef0a114a73 -r 5207abea900d src/ldt/ldt/ldt_utils/views/workspace.py --- a/src/ldt/ldt/ldt_utils/views/workspace.py Tue Mar 06 13:20:22 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/views/workspace.py Wed Mar 07 12:43:58 2012 +0100 @@ -175,8 +175,8 @@ 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)) -def get_search_results(request, search, field, page): - results = get_results_with_context(field, search) +def get_search_results(request, search, field, page, content_list=None): + results = get_results_with_context(field, search, content_list) all_segments = Segment.objects.filter(element_id__in=[e['element_id'] for e in results]) all_projects = Project.objects.filter(ldt_id__in=[e['project_id'] for e in results], state=2)