202 lines
7.9 KiB
XML
202 lines
7.9 KiB
XML
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
|
||
xmlns:tal="http://xml.zope.org/namespaces/tal"
|
||
xmlns:metal="http://xml.zope.org/namespaces/metal"
|
||
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
||
lang="en"
|
||
metal:use-macro="context/main_template/macros/master"
|
||
i18n:domain="tabellio.searchform">
|
||
<body>
|
||
|
||
<metal:main fill-slot="main">
|
||
<tal:main-macro metal:define-macro="main">
|
||
<tal:block tal:define="Batch python:modules['Products.CMFPlone'].Batch;
|
||
mq python:modules['ZTUtils'].make_query;
|
||
url batch_base_url | request/ACTUAL_URL;
|
||
batchformkeys batchformkeys|nothing;
|
||
b_size python:10; b_size request/b_size | b_size;
|
||
b_start python:0;b_start request/b_start | b_start;">
|
||
|
||
<div tal:replace="structure provider:plone.abovecontenttitle" />
|
||
<h1 class="documentFirstHeading" tal:content="context/title" />
|
||
<div tal:replace="structure provider:plone.belowcontenttitle" />
|
||
|
||
<dl class="enableFormTabbing" id="search-tabs">
|
||
<dt id="fieldsetlegend-documents">Documents parlementaires</dt>
|
||
<dd id="fieldset-documents">
|
||
<div tal:replace="structure view/document_search_form"/>
|
||
|
||
|
||
<div tal:define="search_results view/document_search_results;
|
||
search_batch python:Batch(search_results or [], b_size, int(b_start), orphan=1);"
|
||
tal:condition="python: search_results is not None">
|
||
|
||
<div id="resultsbox">
|
||
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
|
||
</div>
|
||
|
||
<div id="results">
|
||
<ul>
|
||
<tal:entry tal:repeat="item search_batch">
|
||
<li tal:define="oddrow repeat/item/odd; object python: item.getObject()" tal:attributes="class python: oddrow and 'odd' or 'even'"><div>
|
||
<h4><a href="#" tal:attributes="href item/getURL" tal:content="python: object.reftitle">Véronique Salvi</a></h4>
|
||
<p class="intitule" tal:content="item/Title"/>
|
||
<p class="authors" tal:condition="python: object.authors">Auteur(s) : <span tal:replace="python: object.get_authors_as_string()" tal:condition="python: object.authors" /></p>
|
||
</div></li>
|
||
</tal:entry>
|
||
</ul>
|
||
</div>
|
||
|
||
<div tal:define="batch search_batch">
|
||
<div metal:use-macro="view/batch_macros/macros/navigation" />
|
||
<div metal:use-macro="view/batch_macros/macros/feed" />
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</dd>
|
||
<dt id="fieldsetlegend-dossiers">Dossiers parlementaires</dt>
|
||
<dd id="fieldset-dossiers">
|
||
<div tal:replace="structure view/dossier_search_form"/>
|
||
|
||
<div tal:define="search_results view/dossier_search_results;
|
||
search_batch python:Batch(search_results or [], b_size, int(b_start), orphan=1);"
|
||
tal:condition="python: search_results is not None">
|
||
|
||
<input name="fieldset.current" type="hidden" value="#fieldset-dossiers"/>
|
||
<div id="resultsbox">
|
||
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
|
||
</div>
|
||
|
||
<div id="results">
|
||
<ul>
|
||
<tal:entry tal:repeat="item search_batch">
|
||
<li tal:define="oddrow repeat/item/odd; object python: item.getObject()" tal:attributes="class python: oddrow and 'odd' or 'even'"><div>
|
||
<h4><a href="#" tal:attributes="href item/getURL" tal:content="python: object.reftitle">Véronique Salvi</a></h4>
|
||
<p class="intitule" tal:content="item/Title"/>
|
||
<p class="authors" tal:condition="python: object.authors">Auteur(s) : <span tal:replace="python: object.get_authors_as_string()" tal:condition="python: object.authors" /></p>
|
||
</div></li>
|
||
</tal:entry>
|
||
</ul>
|
||
</div>
|
||
|
||
<div tal:define="batch search_batch">
|
||
<div metal:use-macro="view/batch_macros/macros/navigation" />
|
||
<div metal:use-macro="view/batch_macros/macros/feed" />
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</dd>
|
||
<dt id="fieldsetlegend-questions">Questions & interpellations</dt>
|
||
<dd id="fieldset-questions">
|
||
<div tal:replace="structure view/question_search_form"/>
|
||
|
||
<div tal:define="search_results view/question_search_results;
|
||
search_batch python:Batch(search_results or [], b_size, int(b_start), orphan=1);"
|
||
tal:condition="python: search_results is not None">
|
||
|
||
<input name="fieldset.current" type="hidden" value="#fieldset-questions"/>
|
||
<div id="resultsbox">
|
||
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
|
||
</div>
|
||
|
||
<div id="results">
|
||
<ul>
|
||
<tal:entry tal:repeat="item search_batch">
|
||
<li tal:define="oddrow repeat/item/odd; object python: item.getObject()" tal:attributes="class python: oddrow and 'odd' or 'even'"><div>
|
||
<h4><a href="#" tal:attributes="href item/getURL" tal:content="python: object.reftitle">Véronique Salvi</a></h4>
|
||
<p class="intitule" tal:content="item/Title"/>
|
||
<p class="authors" tal:condition="python: object.authors">Auteur(s) : <span tal:replace="python: object.get_authors_as_string()" tal:condition="python: object.authors" /></p>
|
||
</div></li>
|
||
</tal:entry>
|
||
</ul>
|
||
</div>
|
||
|
||
<div tal:define="batch search_batch">
|
||
<div metal:use-macro="view/batch_macros/macros/navigation" />
|
||
<div metal:use-macro="view/batch_macros/macros/feed" />
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</dd>
|
||
<dt id="fieldsetlegend-decrets">Décrets</dt>
|
||
<dd id="fieldset-decrets">
|
||
</dd>
|
||
</dl>
|
||
|
||
<div tal:replace="structure provider:plone.belowcontentbody" />
|
||
|
||
<script type="text/javascript">
|
||
function update_input(input) {
|
||
var s = '';
|
||
jq(input).nextAll('span.labelbox').each(function() {
|
||
s = s + ' ' + jq(this).attr('class').split(' ')[1];
|
||
});
|
||
jq(input).attr('value', s);
|
||
}
|
||
|
||
function create_labelbox(input_box, id, value)
|
||
{
|
||
labelbox = $('<span class="labelbox ' + id + '">' + value + '<' + '/span>');
|
||
$(labelbox).click(function() {
|
||
$(this).remove();
|
||
update_input(jq(input_box).prevAll('input')[0]);
|
||
});
|
||
return labelbox;
|
||
}
|
||
|
||
function autocomplete_ready(event, data, formatted) {
|
||
(function($) {
|
||
var input_box = $(event.target);
|
||
// XXX: don't insert item if it's already present
|
||
labelbox = create_labelbox(input_box, data[1], data[0]);
|
||
$(input_box).before(labelbox);
|
||
update_input(jq(input_box).prevAll('input')[0]);
|
||
$(input_box).attr('value', '');
|
||
}(jQuery));
|
||
}
|
||
|
||
function sync_elements(index, elem, url)
|
||
{
|
||
hidden = $(elem).prev();
|
||
values = $(hidden).attr('value').trim().split(' ');
|
||
for (i=0; i < values.length; i++) {
|
||
if (values[i]) {
|
||
labelbox = create_labelbox(hidden, values[i], '...');
|
||
$(hidden).after(labelbox);
|
||
$(labelbox).load(url + '?id=' + values[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
function sync_authors(index, elem) { sync_elements(index, elem, './listAuthors'); }
|
||
function sync_polgroups(index, elem) { sync_elements(index, elem, './listPolgroups'); }
|
||
function sync_topics(index, elem) { sync_elements(index, elem, './listTopics'); }
|
||
|
||
if(typeof(String.prototype.trim) === "undefined") {
|
||
String.prototype.trim = function()
|
||
{
|
||
return String(this).replace(/^\s+|\s+$/g, '');
|
||
};
|
||
}
|
||
|
||
(function($) {
|
||
$().ready(function() {
|
||
$('.author-autocomplete').each(sync_authors).autocomplete('./listAuthors', {
|
||
}).result(autocomplete_ready);
|
||
$('.polgroup-autocomplete').each(sync_polgroups).autocomplete('./listPolgroups', {
|
||
}).result(autocomplete_ready);
|
||
$('.topic-autocomplete').each(sync_topics).autocomplete('./listTopics', {
|
||
}).result(autocomplete_ready);
|
||
});
|
||
})(jQuery);
|
||
</script>
|
||
|
||
</tal:block>
|
||
</tal:main-macro>
|
||
</metal:main>
|
||
|
||
</body>
|
||
</html>
|