add filter to select between organization and person

This commit is contained in:
Frédéric Péters 2014-02-06 10:32:30 +01:00
parent 2fe980a81a
commit 043a168426
1 changed files with 19 additions and 1 deletions

View File

@ -12,6 +12,13 @@
<h1 class="documentFirstHeading" tal:content="context/Title" />
<div tal:replace="structure provider:plone.belowcontenttitle" />
<div class="metatypes">
Que cherchez-vous :
<label><input value="filter-all" name="contact-filter" checked="checked" type="radio">Tout</label>
<label><input value="filter-orgs" name="contact-filter" type="radio">Organisations</label>
<label><input value="filter-persons" name="contact-filter" type="radio">Personnes</label>
</div>
<div class="criteria-content" style="display:block;">
Rechercher : <input name="text-criteria-fulltext">
</div>
@ -31,7 +38,14 @@ $.querywidget.updateSearch = function () {
return baseUrl;
})();
var query = context_url + "/@@querybuilder_html_results?";
query += "query.i:records=portal_type&query.o:records=plone.app.querystring.operation.selection.is&query.v:records:list=organization&query.v:records:list=person&";
query += "query.i:records=portal_type&query.o:records=plone.app.querystring.operation.selection.is&";
var filter_val = $('input[name="contact-filter"]:checked').val();
if (filter_val == "filter-all" || filter_val == "filter-orgs") {
query += "query.v:records:list=organization&";
}
if (filter_val == "filter-all" || filter_val == "filter-persons") {
query += "query.v:records:list=person&";
}
query += "query.i:records=SearchableText&query.o:records=plone.app.querystring.operation.string.contains&query.v:records=";
query += $('input[name="text-criteria-fulltext"]').val();
query += '&sort_on=sortable_title';
@ -41,6 +55,10 @@ $.querywidget.updateSearch = function () {
$(function() {
$.querywidget.updateSearch();
$('input[name="contact-filter"]').change(function() {
$.querywidget.updateSearch();
});
$('input[name="text-criteria-fulltext"]').on('keyup', function() {
$.querywidget.updateSearch();
});