Remove Romain from authors.
[infos-pratiques:etalage.git] / etalage / templates / index.mako
1 ## -*- coding: utf-8 -*-
2
3
4 ## Etalage -- Open Data POIs portal
5 ## By: Emmanuel Raviart <eraviart@easter-eggs.com>
6 ##
7 ## Copyright (C) 2011 Easter-eggs
8 ## http://gitorious.org/infos-pratiques/etalage
9 ##
10 ## This file is part of Etalage.
11 ##
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.
16 ##
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.
21 ##
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/>.
24
25
26 <%!
27 import urlparse
28
29 from etalage import conf, urls
30 %>
31
32
33 <%inherit file="/site.mako"/>
34
35
36 <%def name="container_content()" filter="trim">
37         <form action="${urls.get_url(ctx, mode)}" class="internal" id="search-form" method="get">
38             <fieldset>
39     % for name, value in sorted(params.iteritems()):
40 <%
41         if name in (
42                 'bbox',
43                 'category' if not ctx.hide_category else None,
44                 'filter' if ctx.show_filter else None,
45                 'page',
46                 'term',
47                 'territory',
48                 ):
49             continue
50         if value is None or value == u'':
51             continue
52 %>\
53         % if isinstance(value, list):
54             % for item_value in value:
55                 <input name="${name}" type="hidden" value="${item_value or ''}">
56             % endfor
57         % else:
58                 <input name="${name}" type="hidden" value="${value or ''}">
59         % endif
60     % endfor
61     % if not ctx.hide_category:
62 <%
63         error = errors.get('category') if errors is not None else None
64 %>\
65                 <div class="clearfix${' error' if error else ''}">
66                     <label for="category">Catégorie</label>
67                     <div class="input">
68                         <input class="span6" id="category" name="category" type="text" value="${params['category'] or ''}">
69         % if error:
70                         <span class="help-inline">${error}</span>
71         % endif
72                     </div>
73                 </div>
74     % endif
75 <%
76     error = errors.get('term') if errors is not None else None
77 %>\
78                 <div class="clearfix${' error' if error else ''}">
79                     <label for="term">Intitulé</label>
80                     <div class="input">
81                         <input class="span6" id="term" name="term" type="text" value="${params['term'] or ''}">
82     % if error:
83                         <span class="help-inline">${error}</span>
84     % endif
85                     </div>
86                 </div>
87 <%
88     error = errors.get('territory') if errors is not None else None
89 %>\
90                 <div class="clearfix${' error' if error else ''}">
91                     <label for="territory">Territoire</label>
92                     <div class="input">
93                         <input class="span6" id="territory" name="territory" type="text" value="${params['territory'] or ''}">
94     % if error:
95                         <span class="help-inline">${error}</span>
96     % endif
97                     </div>
98                 </div>
99     % if ctx.show_filter:
100 <%
101         error = errors.get('filter') if errors is not None else None
102 %>\
103                 <div class="clearfix${' error' if error else ''}">
104                     <label for="filter">Afficher</label>
105                     <div class="input">
106                         <ul class="inputs-list">
107                             <li>
108                                 <label>
109                                     <input${' checked' if not params['filter'] else ''} name="filter" type="radio" value="">
110                                     <span>Tous les organismes</span>
111                                 </label>
112                             </li>
113                             <li>
114                                 <label>
115                                     <input${' checked' if params['filter'] == 'competence' else ''} name="filter" type="radio" value="competence">
116                                     <span>Uniquement les organismes compétents pour le territoire</span>
117                                 </label>
118                             </li>
119                             <li>
120                                 <label>
121                                     <input${' checked' if params['filter'] == 'presence' else ''} name="filter" type="radio" value="presence">
122                                     <span>Uniquement les organismes présents sur le territoire</span>
123                                 </label>
124                             </li>
125                         </ul>
126         % if error:
127                         <span class="help-inline">${error}</span>
128         % endif
129                     </div>
130                 </div>
131     % endif
132                 <div class="actions">
133                     <input class="btn primary" type="submit" value="${_('Search')}">
134                 </div>
135             </fieldset>
136         </form>
137         <ul class="tabs">
138 <%
139     modes_infos = (
140         (u'carte', u'Carte'),
141         (u'liste', u'Liste'),
142         (u'annuaire', u'Annuaire'),
143         (u'export', u'Export'),
144         )
145 %>\
146     % for tab_mode, tab_name in modes_infos:
147             <li${' class="active"' if tab_mode == mode else '' | n}>
148                 <a class="internal" href="${urls.get_url(ctx, tab_mode, **params)}">${tab_name}</a>
149             </li>
150     % endfor
151         </ul>
152         ## There is a bug in the tabs CSS above that requires a style="clear: left;".
153         ## Remove the div below once it is repaired.
154         <div style="clear: left;">
155 ##    % if errors is None:
156         <%self:results/>
157 ##    % endif
158         </div>
159 </%def>
160
161
162 <%def name="scripts()" filter="trim">
163     <%parent:scripts/>
164     <script src="/js/categories.js"></script>
165     <script src="/js/territories.js"></script>
166     <script>
167 var etalage = etalage || {};
168 etalage.categories.tags = ${ctx.category_tags_slug | n, js};
169 etalage.territories.autocompleterUrl = ${urlparse.urljoin(conf['territoria_url'],
170     '/api/v1/autocomplete-territory') | n, js};
171 etalage.params = ${params | n, js};
172
173 $(function () {
174     etalage.categories.createAutocompleter($('#category'));
175     etalage.territories.createAutocompleter($('#territory'));
176 });
177     </script>
178 </%def>
179