Project

General

Profile

Revision 3d0d254c

ID3d0d254cf9f9d1b45e6a3e56a7fcbaad4cc344e4
Parent be29aa96
Child c49defb8

Added by Francois POIROTTE over 14 years ago

Utilisation de idaggregate de préférence par rapport à idevent (permet d'obtenir plus d'informations).
On suppose que la base de données génère les id des events (le corrélateur et le connector-db sont en train d'être modifiés pour suivre ce changement).
Utilisation de HighLevelService plutôt que ServiceHautNiveau.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@794 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigiboard/controllers/vigiboardrequest.py
6 6
        Host, HostGroup, Service, ServiceGroup
7 7
from tg import tmpl_context, url, config
8 8
from vigiboard.model import DBSession
9
from sqlalchemy import not_ , and_ , asc , desc
9
from sqlalchemy import not_, and_, asc, desc, sql
10 10
from tw.jquery.ui_dialog import JQueryUIDialog
11 11
from vigiboard.widgets.edit_event import EditEventForm , SearchForm
12 12
from vigiboard.controllers.vigiboard_plugin import VigiboardRequestPlugin
......
59 59

  
60 60
        self.generaterq = False
61 61

  
62
        self.table = [EventsAggregate]
62
        self.table = [
63
            EventsAggregate,
64
            sql.func.count(EventsAggregate.idaggregate)
65
        ]
63 66

  
64 67
        self.join = [
65 68
                (Event, EventsAggregate.idcause == Event.idevent),
......
75 78
                HostGroup.groupname.in_(self.user_groups),
76 79
                ServiceGroup.groupname.in_(self.user_groups),
77 80
                not_(and_(Event.active == False,
78
                    EventsAggregate.status == 'AAClosed')),
81
                    EventsAggregate.status == u'AAClosed')),
79 82
                EventsAggregate.timestamp_active != None#,
80 83
                #not_(Event.timestamp_active.like('0000-00-00 00:00:00'))
81 84
            ]
......
134 137
            try:
135 138
                mypac = __import__(
136 139
                    'vigiboard.controllers.vigiboard_plugin.' +\
137
                            plug[0],globals(), locals(), [plug[1]],-1)
140
                            plug[0], globals(), locals(), [plug[1]], -1)
138 141
                self.add_plugin(getattr(mypac, plug[1])())
139 142
            except:
140 143
                raise
......
162 165
        @return: Nombre de ligne
163 166
        """
164 167

  
165
        if not self.generaterq :
168
        if not self.generaterq:
166 169
            self.generate_request()
167 170
            self.generaterq = True
168 171
        return self.req.count()
......
329 332
        for req in self.req[first_row : last_row]:
330 333
            # Si il y a plus d'un élément dans la liste des tables,
331 334
            # rq devient une liste plutôt que d'être directement la
332
            # table souhaité
333
            
334
            if isinstance(req, EventsAggregate) :
335
            # table souhaitée
336

  
337
            if isinstance(req, EventsAggregate):
335 338
                event = req
336 339
            else:
337 340
                event = req[0]
......
358 361
                        {'src' : '/images/%s2.png' % \
359 362
                                self.bouton_severity[event.severity].upper()},
360 363
                        self.format_events_img_status(event),
361
                        [[j.__show__(req), j.style] for j in self.plugin]
364
                        [[j.__show__(event), j.style] for j in self.plugin]
362 365
                    ])
363 366

  
364 367
            else:
......
371 374
                        {'src' : '/images/%s2.png' % \
372 375
                                self.bouton_severity[event.severity].upper()},
373 376
                        self.format_events_img_status(event),
374
                        [[j.__show__(req), j.style] for j in self.plugin]
377
                        [[j.__show__(event), j.style] for j in self.plugin]
375 378
                    ])
376 379
            i += 1
377 380

  

Also available in: Unified diff