Project

General

Profile

Revision a05b9a37

IDa05b9a377b96915caa58cdec73c2df1d1eea7182
Parent 5f3fb89b
Child 91e073fd

Added by Francois POIROTTE about 14 years ago

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

View differences:

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