Project

General

Profile

Revision a4ffe87d

IDa4ffe87d08a27dc62af28eeafc3dfd5b7ef37bf7
Parent a2fa6a5b
Child 25892058

Added by Francois POIROTTE over 11 years ago

Correction ordre des cartes.

Corrige l'ordre d'apparition des liens vers les cartes dans VigiBoard,
afin que celles-ci apparaissent par ordre alphabétique croissant
(l'ordre était perdu à cause d'une conversion en dictionnaire).

Change-Id: I233c3454675e713ce20c631332f0cc23a183eb57
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1077
Tested-by: Build system <>
Reviewed-by: Thomas BURGUIERE <>

View differences:

vigiboard/controllers/plugins/details.py
27 27
import urllib
28 28
from tg import config, url, request
29 29
from sqlalchemy.sql.expression import null as expr_null, union_all
30
from sqlalchemy import func
30 31

  
31 32
from repoze.what.predicates import has_permission, in_group
32 33
from vigilo.turbogears.helpers import get_current_user
......
86 87
        ).first()
87 88

  
88 89
        # On détermine les cartes auxquelles cet utilisateur a accès.
89
        user_maps = {}
90
        user_maps = []
90 91
        max_maps = int(config['max_maps'])
91 92
        is_manager = in_group('managers').is_met(request.environ)
92 93
        if max_maps != 0 and (is_manager or
......
99 100
                    (MAP_GROUP_TABLE, MAP_GROUP_TABLE.c.idmap == Map.idmap),
100 101
                    (MapGroup, MapGroup.idgroup == MAP_GROUP_TABLE.c.idgroup),
101 102
                    (MapNodeHost, MapNodeHost.idmap == Map.idmap),
102
                ).order_by(Map.title.asc()
103
                ).order_by(func.lower(Map.title).asc()
103 104
                ).filter(MapNodeHost.idhost == event.idhost)
104 105

  
105 106
            if not is_manager:
......
114 115
                # de cartes que la limite configurée.
115 116
                items = items.limit(max_maps + 1)
116 117

  
117
            user_maps = dict([(m.idmap, m.title) for m in items.all()])
118
            user_maps = [(m.idmap, m.title) for m in items.all()]
118 119

  
119 120
        context = {
120 121
            'idcorrevent': idcorrevent,
vigiboard/tests/functional/plugins/test_details_plugin.py
115 115
            "current_state": "WARNING",
116 116
            "host": "bar",
117 117
            "initial_state": "WARNING",
118
            "maps": {},
118
            "maps": [],
119 119
        })
120 120

  
121 121
    def test_details_plugin_LLS_alert_when_manager(self):
......
141 141
            "current_state": "WARNING",
142 142
            "host": "bar",
143 143
            "initial_state": "WARNING",
144
            "maps": {},
144
            "maps": [],
145 145
        })
146 146

  
147 147
    def test_details_plugin_host_alert_when_allowed(self):
......
167 167
            "current_state": "WARNING",
168 168
            "host": "bar",
169 169
            "initial_state": "WARNING",
170
            "maps": {},
170
            "maps": [],
171 171
        })
172 172

  
173 173
    def test_details_plugin_host_alert_when_manager(self):
......
193 193
            "current_state": "WARNING",
194 194
            "host": "bar",
195 195
            "initial_state": "WARNING",
196
            "maps": {},
196
            "maps": [],
197 197
        })
198 198

  
199 199
    def test_details_plugin_LLS_when_forbidden(self):
vigiboard/tests/functional/plugins/test_details_plugin_maps.py
23 23
    # Seules les 2 premières cartes doivent figurer.
24 24
    # La 1ère correspond à la limite, la 2 seconde permet
25 25
    # de détecter qu'il y avait plus de cartes que la limite.
26
    manager = {'1': 'M1', '2': 'M2'}
26
    manager = [[1, 'M1'], [2, 'M2']]
27 27
    # L'utilisateur avec droits étendus voit
28 28
    # la même chose que le manager (2 cartes).
29
    unrestricted = manager.copy()
29
    unrestricted = manager[:]
30 30
    # L'utilisateur avec droits restreints ne voit
31 31
    # qu'une seule carte : "M2".
32
    restricted = {'2': 'M2'}
32
    restricted = [[2, 'M2']]
33 33
    supitem_class = Host
34 34

  
35 35
    def shortDescription(self, *args, **kwargs):
......
146 146
            }, extra_environ={'REMOTE_USER': 'no_rights'})
147 147
        # L'utilisateur n'a pas accès à VigiMap, donc il ne doit pas voir
148 148
        # les cartes, même s'il a accès à VigiBoard par ailleurs.
149
        self.assertEquals(response.json['maps'], {})
149
        self.assertEquals(response.json['maps'], [])
150 150

  
151 151
    def test_maps_links_restricted(self):
152 152
        """Cartes dans dialogue détails avec droits restreints."""
......
180 180
    # La réponse ne doit contenir aucune carte,
181 181
    # quel que soit l'utilisateur qui interroge
182 182
    # VigiBoard (la fonctionnalité est désactivée).
183
    manager = {}
184
    unrestricted = {}
185
    restricted = {}
183
    manager = []
184
    unrestricted = []
185
    restricted = []
186 186

  
187 187
    def shortDescription(self, *args, **kwargs):
188 188
        """Description courte du test en cours d'exécution."""
......
199 199
    # Le manager voit tout et en particulier les 3 cartes sur lesquelles
200 200
    # l'hôte apparaît. M1 ne doit apparaître qu'une seule fois
201 201
    # même si l'hôte est présent 2 fois sur la carte.
202
    manager = {'1': 'M1', '3': 'M3', '2': 'M2'}
202
    manager = [[1, 'M1'], [2, 'M2'], [3, 'M3']]
203 203
    # L'utilisateur avec droits étendus voit
204 204
    # la même chose que le manager (3 cartes).
205
    unrestricted = manager.copy()
205
    unrestricted = manager[:]
206 206
    # L'utilisateur avec droits restreints ne voit pas 'M2'.
207
    restricted = {'2': 'M2'}
207
    restricted = [[2, 'M2']]
208 208

  
209 209
    def shortDescription(self, *args, **kwargs):
210 210
        """Description courte du test en cours d'exécution."""

Also available in: Unified diff