Project

General

Profile

Revision b00c0ea7

IDb00c0ea715301faf0302b78e0b82f58c01af7e65
Parent a43ec272
Child ded62121

Added by Francois POIROTTE about 14 years ago

Correction de l'ordre des événements (séparer vert/pas vert).

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

View differences:

vigiboard/controllers/vigiboardrequest.py
128 128

  
129 129
        # Tris (ORDER BY)
130 130
        self.orderby = [
131
            desc(CorrEvent.status),         # None, Acknowledged, AAClosed
132
            desc(StateName.order),          # Etat courant (entier).
133
            priority_order,                 # Priorité ITIL (entier).
134
            desc(Event.timestamp),
131
            desc(CorrEvent.status),                         # État acquittement
132
            asc(StateName.statename.in_([u'OK', u'UP'])),   # Vert / Pas vert
133
            priority_order,                                 # Priorité ITIL
134
            desc(StateName.order),                          # Etat courant
135
            desc(Event.timestamp),                          # Timestamp
135 136
        ]
136 137

  
137 138
        # Regroupements (GROUP BY)
139
        # PostgreSQL est pointilleux sur les colonnes qui apparaissent
140
        # dans la clause GROUP BY. Si une colonne apparaît dans ORDER BY,
141
        # elle doit systématiquement apparaître AUSSI dans GROUP BY.
138 142
        self.groupby = [
139 143
            StateName.order,
140 144
            Event.timestamp,
141 145
            CorrEvent.status,
142 146
            CorrEvent.priority,
147
            StateName.statename,
143 148
        ]
144 149

  
145 150
        self.plugin = []
......
184 189
                # On loggue l'erreur et on ignore le plugin.
185 190
                LOGGER.error(_('No such plugin "%s"') % plug[0])
186 191

  
192
        # Toutes les requêtes ont besoin de récupérer l'état courant
193
        # de l'événement.
187 194
        self.join.append((StateName, StateName.idstatename == \
188 195
                                        Event.current_state))
196

  
197
        # PostgreSQL est pointilleux sur les colonnes qui apparaissent
198
        # dans la clause GROUP BY. Si une colonne apparaît dans SELECT,
199
        # elle doit systématiquement apparaître AUSSI dans GROUP BY.
200
        # Ici, on ajoute automatiquement les colonnes du SELECT au GROUP BY.
189 201
        self.add_group_by(*self.table)
190 202

  
191 203
        # query et join ont besoin de referrence

Also available in: Unified diff