1 ## -*- coding: utf-8 -*-
4 ## Etalage -- Open Data POIs portal
5 ## By: Emmanuel Raviart <eraviart@easter-eggs.com>
7 ## Copyright (C) 2011, 2012 Easter-eggs
8 ## http://gitorious.org/infos-pratiques/etalage
10 ## This file is part of Etalage.
12 ## Etalage is free software; you can redistribute it and/or modify
13 ## it under the terms of the GNU Affero General Public License as
14 ## published by the Free Software Foundation, either version 3 of the
15 ## License, or (at your option) any later version.
17 ## Etalage is distributed in the hope that it will be useful,
18 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ## GNU Affero General Public License for more details.
22 ## You should have received a copy of the GNU Affero General Public License
23 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
29 from etalage import conf, urls
33 <%inherit file="/site.mako"/>
36 <%def name="container_content()" filter="trim">
37 <form action="${urls.get_url(ctx, mode)}" class="horizontal-form internal" id="search-form" method="get">
38 % for name, value in sorted(params.iteritems()):
42 'category' if not ctx.hide_category else None,
43 'filter' if ctx.show_filter else None,
49 if value is None or value == u'':
52 % if isinstance(value, list):
53 % for item_value in value:
54 <input name="${name}" type="hidden" value="${item_value or ''}">
57 <input name="${name}" type="hidden" value="${value or ''}">
60 % if not ctx.hide_category:
62 error = errors.get('category') if errors is not None else None
64 <fieldset class="control-group${' error' if error else ''}">
65 <label class="control-label" for="category">Catégorie</label>
66 <div class="controls">
67 <input class="input-xlarge" id="category" name="category" type="text" value="${params['category'] or ''}">
69 <span class="help-inline">${error}</span>
75 error = errors.get('term') if errors is not None else None
77 <fieldset class="control-group${' error' if error else ''}">
78 <label class="control-label" for="term">Intitulé</label>
79 <div class="controls">
80 <input class="input-xlarge" id="term" name="term" type="text" value="${params['term'] or ''}">
82 <span class="help-inline">${error}</span>
87 error = errors.get('territory') if errors is not None else None
89 <fieldset class="control-group${' error' if error else ''}">
90 <label class="control-label" for="territory">Territoire</label>
91 <div class="controls">
92 <input class="input-xlarge" id="territory" name="territory" type="text" value="${params['territory'] or ''}">
94 <span class="help-inline">${error}</span>
100 error = errors.get('filter') if errors is not None else None
102 <fieldset class="control-group${' error' if error else ''}">
103 <label class="control-label" for="filter">Afficher</label>
104 <div class="controls">
105 <div class="control-list">
107 <input${' checked' if not params['filter'] else ''} name="filter" type="radio" value="">
108 <span>Tous les organismes</span>
111 <input${' checked' if params['filter'] == 'competence' else ''} name="filter" type="radio" value="competence">
112 <span>Uniquement les organismes compétents pour le territoire</span>
115 <input${' checked' if params['filter'] == 'presence' else ''} name="filter" type="radio" value="presence">
116 <span>Uniquement les organismes présents sur le territoire</span>
120 <p class="help-text">${error}</p>
125 <fieldset class="form-actions">
126 <input class="btn primary" type="submit" value="${_('Search')}">
132 (u'carte', u'Carte'),
133 (u'liste', u'Liste'),
134 (u'annuaire', u'Annuaire'),
135 (u'export', u'Export'),
138 % for tab_mode, tab_name in modes_infos:
139 <li${' class="active"' if tab_mode == mode else '' | n}>
140 <a class="internal" href="${urls.get_url(ctx, tab_mode, **params)}">${tab_name}</a>
144 ## % if errors is None:
150 <%def name="scripts()" filter="trim">
152 <script src="/js/categories.js"></script>
153 <script src="/js/territories.js"></script>
155 var etalage = etalage || {};
156 etalage.categories.tags = ${ctx.category_tags_slug | n, js};
157 etalage.territories.autocompleterUrl = ${urlparse.urljoin(conf['territoria_url'],
158 '/api/v1/autocomplete-territory') | n, js};
159 etalage.params = ${params | n, js};
162 etalage.categories.createAutocompleter($('#category'));
163 etalage.territories.createAutocompleter($('#territory'));