Project

General

Profile

Revision 780ca169

ID780ca1695e02b3a9e7dc1519d1b54b54ee51a140
Parent ef31cc13
Child a45763b4

Added by Francois POIROTTE over 14 years ago

Prise en compte du renommage de EventsAggregate en CorrEvent dans le modèle.

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

View differences:

vigiboard/controllers/root.py
13 13
import math
14 14

  
15 15
from vigiboard.model import DBSession
16
from vigiboard.model import Event, EventHistory, EventsAggregate, \
16
from vigiboard.model import Event, EventHistory, CorrEvent, \
17 17
                            Host, HostGroup, \
18 18
                            StateName, User
19 19
from repoze.what.predicates import Any, not_anonymous
......
113 113
            search['tt'] = trouble_ticket
114 114
            trouble_ticket = trouble_ticket.replace('%', '\\%') \
115 115
                    .replace('_', '\\_').replace('*', '%').replace('?', '_')
116
            aggregates.add_filter(EventsAggregate.trouble_ticket.ilike(
116
            aggregates.add_filter(CorrEvent.trouble_ticket.ilike(
117 117
                '%%%s%%' % trouble_ticket))
118 118

  
119 119
        # Calcul des éléments à afficher et du nombre de pages possibles
......
166 166
        user = User.by_user_name(username)
167 167

  
168 168
        event = DBSession.query(
169
                        EventsAggregate.priority,
169
                        CorrEvent.priority,
170 170
                        Event,
171 171
                 ).join(
172
                    (Event, EventsAggregate.idcause == Event.idevent),
172
                    (Event, CorrEvent.idcause == Event.idevent),
173 173
                    (HostGroup, Event.hostname == HostGroup.hostname),
174 174
                 ).filter(HostGroup.idgroup.in_(user.groups)
175
                 ).filter(EventsAggregate.idaggregate == idaggregate
175
                 ).filter(CorrEvent.idcorrevent == idaggregate
176 176
                 ).one()
177 177

  
178 178
        history = DBSession.query(
......
218 218

  
219 219
        username = request.environ['repoze.who.identity']['repoze.who.userid']
220 220
        events = VigiboardRequest(User.by_user_name(username))
221
        events.add_filter(EventsAggregate.idaggregate == idaggregate)
221
        events.add_filter(CorrEvent.idcorrevent == idaggregate)
222 222
        
223 223
        # Vérification que l'événement existe
224 224
        if events.num_rows() != 1 :
......
338 338
        
339 339
        username = request.environ['repoze.who.identity']['repoze.who.userid']
340 340
        events = VigiboardRequest(User.by_user_name(username))
341
        events.add_filter(EventsAggregate.idaggregate.in_(ids))
341
        events.add_filter(CorrEvent.idcorrevent.in_(ids))
342 342
        
343 343
        # Vérification que au moins un des identifiants existe et est éditable
344 344
        if events.num_rows() <= 0 :
......
350 350
        username = request.environ['repoze.who.identity']['repoze.who.userid']
351 351

  
352 352
        for req in events.req:
353
            if isinstance(req, EventsAggregate):
353
            if isinstance(req, CorrEvent):
354 354
                event = req
355 355
            else:
356 356
                event = req[0]
vigiboard/controllers/vigiboard_plugin/shn.py
6 6

  
7 7
from vigiboard.controllers.vigiboard_plugin import \
8 8
        VigiboardRequestPlugin
9
from vigiboard.model import DBSession, EventsAggregate#, HighLevelService
9
from vigiboard.model import DBSession, CorrEvent
10 10
from pylons.i18n import gettext as _
11 11
from tg import tmpl_context, url
12 12
from tw.jquery.ui_dialog import JQueryUIDialog
......
30 30
        """Fonction d'affichage"""
31 31
        dico = {
32 32
            'baseurl': url('/'),
33
            'idaggregate': aggregate.idaggregate,
33
            'idaggregate': aggregate.idcorrevent,
34 34
            'impacted_hls': aggregate.high_level_services.count(),
35 35
        }
36 36
        # XXX Il faudrait échapper l'URL contenue dans baseurl
......
55 55
    def controller(self, *argv, **krgv):
56 56
        """Ajout de fonctionnalités au contrôleur"""
57 57
        idaggregate = krgv['idaggregate']
58
        aggregate = DBSession.query(EventsAggregate) \
59
                .filter(EventsAggregate.idaggregate == idaggregate).one()
60
        shns = aggregate.high_level_services
58
        correvent = DBSession.query(CorrEvent) \
59
                .filter(CorrEvent.idcorrevent == idaggregate).one()
60
        shns = correvent.high_level_services
61 61

  
62 62
        return dict(shns=[shn.name for shn in shns]) 
63 63

  
vigiboard/controllers/vigiboardrequest.py
2 2
# vim:set expandtab tabstop=4 shiftwidth=4: 
3 3
"""Gestion de la requête, des plugins et de l'affichage du Vigiboard"""
4 4

  
5
from vigiboard.model import Event, EventsAggregate, EventHistory, \
5
from vigiboard.model import Event, CorrEvent, EventHistory, \
6 6
                            Host, HostGroup, ServiceLowLevel, ServiceGroup, \
7 7
                            StateName
8 8
from vigilo.models.secondary_tables import HOST_GROUP_TABLE, \
......
41 41
        self.generaterq = False
42 42

  
43 43
        self.table = [
44
            EventsAggregate,
45
            sql.func.count(EventsAggregate.idaggregate),
44
            CorrEvent,
45
            sql.func.count(CorrEvent.idcorrevent),
46 46
        ]
47 47

  
48 48
        self.join = [
49
            (Event, EventsAggregate.idcause == Event.idevent),
49
            (Event, CorrEvent.idcause == Event.idevent),
50 50
            (ServiceLowLevel, Event._idservice == ServiceLowLevel.idservice),
51 51
            (Host, Host.name == ServiceLowLevel.hostname),
52 52
            (StateName, StateName.idstatename == Event.current_state),
......
66 66
                # et traités (status == u'AAClosed').
67 67
                not_(and_(
68 68
                    StateName.statename == u'OK',
69
                    EventsAggregate.status == u'AAClosed'
69
                    CorrEvent.status == u'AAClosed'
70 70
                )),
71
                EventsAggregate.timestamp_active != None,
71
                CorrEvent.timestamp_active != None,
72 72
            ]
73 73

  
74 74
        # Permet de définir le sens de tri pour la priorité.
75 75
        if config['vigiboard_priority_order'] == 'asc':
76
            priority_order = asc(EventsAggregate.priority)
76
            priority_order = asc(CorrEvent.priority)
77 77
        else:
78
            priority_order = desc(EventsAggregate.priority)
78
            priority_order = desc(CorrEvent.priority)
79 79

  
80 80
        self.orderby = [
81
                desc(EventsAggregate.status),   # None, Acknowledged, AAClosed
81
                desc(CorrEvent.status),   # None, Acknowledged, AAClosed
82 82
                priority_order,                 # Priorité ITIL (entier).
83 83
                desc(StateName.order),          # Etat courant (entier).
84 84
                desc(Event.timestamp),
......
86 86
            ]
87 87

  
88 88
        self.groupby = [
89
                EventsAggregate.idaggregate,
90
                EventsAggregate,
89
                CorrEvent.idcorrevent,
90
                CorrEvent,
91 91
                ServiceLowLevel.hostname,
92 92
                StateName.order,
93 93
                Event.timestamp,
......
334 334
            # req devient une liste plutôt que d'être directement la
335 335
            # table souhaitée
336 336

  
337
            if isinstance(req, EventsAggregate):
337
            if isinstance(req, CorrEvent):
338 338
                event = req
339 339
            else:
340 340
                event = req[0]
vigiboard/model/__init__.py
8 8

  
9 9

  
10 10
from vigilo.models import User, UserGroup, Permission
11
from vigilo.models import Event, EventHistory, EventsAggregate
12
from vigilo.models import Graph, GraphGroup, GraphToGroups
11
from vigilo.models import Event, EventHistory, CorrEvent
13 12
from vigilo.models import Version, HostState, ServiceState, StateName
14 13
from vigilo.models import Host, HostGroup
15 14
from vigilo.models import ServiceLowLevel, ServiceHighLevel, ServiceGroup
vigiboard/tests/functional/test_vigiboardrequest.py
10 10
import transaction
11 11

  
12 12
from vigiboard.model import DBSession, \
13
    Event, EventHistory, EventsAggregate, \
13
    Event, EventHistory, CorrEvent, \
14 14
    Permission, User, StateName, \
15 15
    Host, HostGroup, ServiceLowLevel, ServiceGroup
16 16
from vigiboard.tests import TestController
......
155 155
            'priority': 1,
156 156
            'status': u'None',
157 157
        }
158
        self.aggregate1 = EventsAggregate(
158
        self.aggregate1 = CorrEvent(
159 159
            idcause=event1.idevent, **aggregate_template)
160
        self.aggregate2 = EventsAggregate(
160
        self.aggregate2 = CorrEvent(
161 161
            idcause=event4.idevent, **aggregate_template)
162 162

  
163 163
        self.aggregate1.events.append(event1)

Also available in: Unified diff