Revision 924533ae
Indicateur si trop de résultats retournés (#624).
Cette révision ajoute un indicateur visuel (triangle rouge d'avertissement)
dans la recherche de VigiMap/VigiGraph lorsque la recherche a retourné plus
de 100 messages (indiquant que d'autres résultats existent mais ne sont pas
affichés).
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@6994 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigigraph/controllers/rpc.py | ||
---|---|---|
103 | 103 |
@return: couples hote-graphe |
104 | 104 |
@rtype: document json (sous forme de dict) |
105 | 105 |
""" |
106 |
limit = 100 |
|
106 | 107 |
user = get_current_user() |
107 |
items = [] |
|
108 |
ids = [] |
|
109 |
labels = [] |
|
108 | 110 |
|
109 | 111 |
if user is None: |
110 | 112 |
return dict(items=[]) |
... | ... | |
170 | 172 |
SUPITEM_GROUP_TABLE.c.idgroup) |
171 | 173 |
).filter(GroupHierarchy.idparent.in_(supitemgroups)) |
172 | 174 |
|
173 |
items = items.limit(100).all() # pylint: disable-msg=E1103 |
|
175 |
items = items.limit(limit + 1).all() # pylint: disable-msg=E1103 |
|
176 |
more_results = len(items) > limit |
|
177 |
|
|
174 | 178 |
if not search_form_graph: |
175 |
ids = [(item.idhost, None) for item in items] |
|
176 |
labels = [(item.hostname, None) for item in items] |
|
179 |
for i in xrange(min(limit, len(items))): |
|
180 |
ids.append((items[i].idhost, None)) |
|
181 |
labels.append((items[i].hostname, None)) |
|
177 | 182 |
else: |
178 |
ids = [(item.idhost, item.idgraph) for item in items] |
|
179 |
labels = [(item.hostname, item.graphname) for item in items] |
|
183 |
for i in xrange(min(limit, len(items))): |
|
184 |
ids.append((items[i].idhost, items[i].idgraph)) |
|
185 |
labels.append((items[i].hostname, items[i].graphname)) |
|
180 | 186 |
|
181 |
return dict(labels=labels, ids=ids) |
|
187 |
return dict(labels=labels, ids=ids, more=more_results)
|
|
182 | 188 |
|
183 | 189 |
@expose('graphslist.html') |
184 | 190 |
def graphsList(self, nocache=None, **kwargs): |
Also available in: Unified diff