Add buttons de to edit or create an organism.
[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, 2012 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="horizontal-form internal" id="search-form" method="get">
38     % for name, value in sorted(params.iteritems()):
39 <%
40         if name in (
41                 'bbox',
42                 'category' if not ctx.hide_category else None,
43                 'filter' if ctx.show_filter else None,
44                 'page',
45                 'term',
46                 'territory',
47                 ):
48             continue
49         if value is None or value == u'':
50             continue
51 %>\
52         % if isinstance(value, list):
53             % for item_value in value:
54             <input name="${name}" type="hidden" value="${item_value or ''}">
55             % endfor
56         % else:
57             <input name="${name}" type="hidden" value="${value or ''}">
58         % endif
59     % endfor
60     % if not ctx.hide_category:
61 <%
62         error = errors.get('category') if errors is not None else None
63 %>\
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 ''}">
68         % if error:
69                     <span class="help-inline">${error}</span>
70         % endif
71                 </div>
72             </fieldset>
73     % endif
74 <%
75     error = errors.get('term') if errors is not None else None
76 %>\
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 ''}">
81     % if error:
82                     <span class="help-inline">${error}</span>
83     % endif
84                 </div>
85             </fieldset>
86 <%
87     error = errors.get('territory') if errors is not None else None
88 %>\
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 ''}">
93     % if error:
94                     <span class="help-inline">${error}</span>
95     % endif
96                 </div>
97             </fieldset>
98     % if ctx.show_filter:
99 <%
100         error = errors.get('filter') if errors is not None else None
101 %>\
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">
106                         <label>
107                             <input${' checked' if not params['filter'] else ''} name="filter" type="radio" value="">
108                             <span>Tous les organismes</span>
109                         </label>
110                         <label>
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>
113                         </label>
114                         <label>
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>
117                         </label>
118                     </div>
119         % if error:
120                     <p class="help-text">${error}</p>
121         % endif
122                 </div>
123             </fieldset>
124     % endif
125             <fieldset class="form-actions">
126                 <input class="btn primary" type="submit" value="${_('Search')}">
127             </fieldset>
128         </form>
129         <ul class="tabs">
130 <%
131     modes_infos = (
132         (u'carte', u'Carte'),
133         (u'liste', u'Liste'),
134         (u'annuaire', u'Annuaire'),
135         (u'export', u'Export'),
136         )
137 %>\
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>
141             </li>
142     % endfor
143         </ul>
144 ##    % if errors is None:
145         <%self:results/>
146 ##    % endif
147 </%def>
148
149
150 <%def name="footer_data_p_content()" filter="trim">
151 ${parent.footer_data_p_content()}
152     % if conf.get('petitpois_url'):
153  &mdash; <a class="btn" href="${urlparse.urljoin(conf['petitpois_url'], '/poi/search'
154         )}" rel="external">Ajouter une fiche</a>
155     % endif
156 </%def>
157
158
159 <%def name="scripts()" filter="trim">
160     <%parent:scripts/>
161     <script src="/js/categories.js"></script>
162     <script src="/js/territories.js"></script>
163     <script>
164 var etalage = etalage || {};
165 etalage.categories.tags = ${ctx.category_tags_slug | n, js};
166 etalage.territories.autocompleterUrl = ${urlparse.urljoin(conf['territoria_url'],
167     '/api/v1/autocomplete-territory') | n, js};
168 etalage.params = ${params | n, js};
169
170 $(function () {
171     etalage.categories.createAutocompleter($('#category'));
172     etalage.territories.createAutocompleter($('#territory'));
173 });
174     </script>
175 </%def>
176