Revision a05b9a37
Passage du nom d'hôte/service de la cause de l'événement corrélé au template lors de l'affichage des événements masqués.
git-svn-id: https://vigilo-dev.si.c-s.fr/svn@2773 b22e2e97-25c9-44ff-b637-2e5ceca36478
vigiboard/controllers/root.py | ||
---|---|---|
17 | 17 |
from repoze.what.predicates import Any, not_anonymous |
18 | 18 |
|
19 | 19 |
from vigilo.models.session import DBSession |
20 |
from vigilo.models.tables import Event, EventHistory, CorrEvent, \ |
|
21 |
SupItem, SupItemGroup |
|
20 |
from vigilo.models.tables import Event, EventHistory, CorrEvent, Host, \
|
|
21 |
SupItem, SupItemGroup, LowLevelService
|
|
22 | 22 |
from vigilo.models.functions import sql_escape_like |
23 | 23 |
from vigilo.models.tables.secondary_tables import EVENTSAGGREGATE_TABLE |
24 | 24 |
|
... | ... | |
213 | 213 |
page = 1 |
214 | 214 |
|
215 | 215 |
user = get_current_user() |
216 |
|
|
217 |
# Récupère la liste des événements masqués de l'événement |
|
218 |
# corrélé donné par idcorrevent. |
|
216 | 219 |
events = VigiboardRequest(user, False) |
217 | 220 |
events.add_table( |
218 | 221 |
Event, |
... | ... | |
228 | 231 |
events.add_filter(Event.idevent != CorrEvent.idcause) |
229 | 232 |
events.add_filter(CorrEvent.idcorrevent == idcorrevent) |
230 | 233 |
|
234 |
# Récupère l'instance de SupItem associé à la cause de |
|
235 |
# l'événement corrélé. Cette instance est utilisé pour |
|
236 |
# obtenir le nom d'hôte/service auquel la cause est |
|
237 |
# rattachée (afin de fournir un contexte à l'utilisateur). |
|
238 |
hostname = None |
|
239 |
servicename = None |
|
240 |
cause_supitem = DBSession.query( |
|
241 |
SupItem, |
|
242 |
).join( |
|
243 |
(Event, Event.idsupitem == SupItem.idsupitem), |
|
244 |
(EVENTSAGGREGATE_TABLE, EVENTSAGGREGATE_TABLE.c.idevent == |
|
245 |
Event.idevent), |
|
246 |
(CorrEvent, CorrEvent.idcorrevent == |
|
247 |
EVENTSAGGREGATE_TABLE.c.idcorrevent), |
|
248 |
).filter(CorrEvent.idcorrevent == idcorrevent |
|
249 |
).filter(Event.idevent == CorrEvent.idcause |
|
250 |
).one() |
|
251 |
|
|
252 |
if isinstance(cause_supitem, LowLevelService): |
|
253 |
hostname = cause_supitem.host.name |
|
254 |
servicename = cause_supitem.servicename |
|
255 |
elif isinstance(cause_supitem, Host): |
|
256 |
hostname = cause_supitem.name |
|
257 |
|
|
231 | 258 |
# Vérification que l'événement existe |
232 | 259 |
total_rows = events.num_rows() |
233 | 260 |
if total_rows < 1: |
... | ... | |
251 | 278 |
|
252 | 279 |
return dict( |
253 | 280 |
idcorrevent = idcorrevent, |
254 |
hostname = None,
|
|
255 |
servicename = None,
|
|
281 |
hostname = hostname,
|
|
282 |
servicename = servicename,
|
|
256 | 283 |
events = events.events, |
257 | 284 |
plugins = get_plugins_instances(), |
258 | 285 |
rows_info = { |
Also available in: Unified diff