Project

General

Profile

Revision ecf084d9

IDecf084d9a08b90371ae23e8e56d1ff95a08bbd49
Parent 67b3acd3
Child 9332c7c0

Added by Francois POIROTTE about 9 years ago

Modifications de la légende de VigiMap

Apporte les modifications suivantes :
- [#1312] Déplace la légende de VigiMap vers la barre de menu (affichage
permanent des compteurs)
- [#1319] Ajoute des liens dans la légende permettant d'accéder à une
vue filtrée dans VigiBoard portant sur les éléments de la carte se
trouvant dans l'état sélectionné.
- [#1283] Ajoute les icônes d'état dans la légende de VigiMap en plus du
code couleur habituel.

Ce changement implémente également la sélection multiple d'état dans
VigiBoard et rend obsolète la nécessité de pouvoir déplacer la légende
de VigiMap (#1284).

Change-Id: Iaa0331735014c5353e3f096b6212e777bf3da81e
Refs: #1283,#1312,#1319,#1284
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1598
Tested-by: Build system <>
Reviewed-by: Thomas BURGUIERE <>

View differences:

vigiboard/controllers/plugins/details.py
187 187
    def get_search_fields(self):
188 188
        states = DBSession.query(StateName.idstatename, StateName.statename
189 189
                    ).order_by(StateName.order.asc()).all()
190
        options = [('', u'')] + \
191
                    [( str(s.idstatename), s.statename ) for s in states]
190
        # Liste des valeurs acceptées pour la validation.
191
        valid = []
192
        # Liste des options présentes dans le champ de sélection.
193
        options = []
194
        for s in states:
195
            valid.extend([str(s.idstatename), s.statename])
196
            options.append( (
197
                str(s.idstatename),
198
                s.statename,
199
                {'title': l_(s.statename)}
200
            ) )
201

  
192 202
        return [
193
            twf.SingleSelectField(
203
            twf.MultipleSelectField(
194 204
                'state',
195 205
                label_text=l_('Current state'),
196 206
                options=options,
197 207
                validator=twf.validators.OneOf(
198
                    dict(options).keys(),
199
                    if_invalid=None,
200
                    if_missing=None,
208
                    valid,
209
                    if_invalid=[],
210
                    if_missing=[],
201 211
                ),
202 212
            ),
203 213
        ]
......
206 216
        if state != ITEMS:
207 217
            return
208 218

  
209
        if search.get('state'):
219
        states = []
220
        for value in search.get('state'):
210 221
            try:
211
                query.add_filter(Event.current_state == int(search['state']))
222
                states.append(int(value))
212 223
            except (ValueError, TypeError):
213
                # On ignore silencieusement le critère de recherche erroné.
214
                pass
224
                try:
225
                    states.append(StateName.statename_to_value(value))
226
                except:
227
                    # On ignore silencieusement un critère de recherche erroné.
228
                    pass
229

  
230
        if states:
231
            query.add_filter(Event.current_state.in_(states))
215 232

  
216 233
    def get_sort_criterion(self, query, column):
217 234
        columns = {

Also available in: Unified diff