Revision b00c0ea7
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
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