Revision a2fa6a5b
Export CSV alertes de VigiBoard (#954).
Permet l'export des alertes (événements corrélés) affichés à l'écran au
format CSV. L'export tient compte des critères de recherche
éventuellement appliqués.
Refs: #954.
Change-Id: I3c6639dbef9ca53043d45d8a683f5c77619af23a
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1017
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Thomas BURGUIERE <thomas.burguiere@c-s.fr>
vigiboard/controllers/plugins/status.py | ||
---|---|---|
26 | 26 |
- la dernière colonne permet de (dé)sélectionner l'événement pour |
27 | 27 |
effectuer un traitement par lot. |
28 | 28 |
""" |
29 |
import urllib |
|
30 |
import tg |
|
29 | 31 |
import tw.forms as twf |
30 | 32 |
from pylons.i18n import lazy_ugettext as l_ |
31 | 33 |
|
32 |
from vigilo.models.tables import CorrEvent |
|
34 |
from vigilo.models.tables import CorrEvent, StateName
|
|
33 | 35 |
from vigilo.models.functions import sql_escape_like |
34 | 36 |
from vigiboard.controllers.plugins import VigiboardRequestPlugin, ITEMS |
35 | 37 |
|
... | ... | |
88 | 90 |
except (ValueError, TypeError): |
89 | 91 |
# On ignore silencieusement le critère de recherche erroné. |
90 | 92 |
pass |
93 |
|
|
94 |
def get_data(self, event): |
|
95 |
cause = event[0].cause |
|
96 |
ack = event[0].ack |
|
97 |
state = StateName.value_to_statename(cause.current_state) |
|
98 |
|
|
99 |
trouble_ticket_id = None |
|
100 |
trouble_ticket_link = None |
|
101 |
if event[0].trouble_ticket: |
|
102 |
trouble_ticket_id = event[0].trouble_ticket |
|
103 |
trouble_ticket_link = tg.config['vigiboard_links.tt'] % { |
|
104 |
'id': event[0].idcorrevent, |
|
105 |
'host': event[1] and urllib.quote(event[1], '') or event[1], |
|
106 |
'service': event[2] and urllib.quote(event[2], '') or event[2], |
|
107 |
'tt': trouble_ticket_id and \ |
|
108 |
urllib.quote(trouble_ticket_id, '') or \ |
|
109 |
trouble_ticket_id, |
|
110 |
} |
|
111 |
|
|
112 |
return { |
|
113 |
'trouble_ticket_link': trouble_ticket_link, |
|
114 |
'trouble_ticket_id': trouble_ticket_id, |
|
115 |
'state': state, |
|
116 |
'id': event[0].idcorrevent, |
|
117 |
'ack': ack, |
|
118 |
} |
Also available in: Unified diff