Revision 8ba2de75
s/CorrEvent.status/CorrEvent.ack/
Le changement permet de se débarrasser du champ texte dont les valeurs
étaient organisées pour permettre le tri des événements dans VigiBoard
via un hack.
À la place, le champ CorrEvent.ack (no pun intended) et les constantes
associées (CorrEvent.ACK_NONE, etc.) peuvent être utilisées.
Fait aussi en sorte que les valeurs du champ "Type" et "Value" soient
traduits dans l'historique de VigiBoard (dans la mesure du possible et
du raisonnable).
Change-Id: I749fa189a465a4947dfeca659c151e671f915da9
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/463
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Aurelien BOMPARD <aurelien.bompard@c-s.fr>
vigiboard/controllers/plugins/status.py | ||
---|---|---|
49 | 49 |
def get_search_fields(self): |
50 | 50 |
options = [ |
51 | 51 |
('', l_('All alerts')), |
52 |
('None', l_('New alerts')), |
|
53 |
('Acknowledged', l_('Alerts marked as Acknowledged')), |
|
54 |
('AAClosed', l_('Alerts marked as Closed')), |
|
52 |
# On doit passer un type basestring pour les options. |
|
53 |
# Donc, on convertit les constantes (entiers) en type str. |
|
54 |
(str(CorrEvent.ACK_NONE), l_('New alerts')), |
|
55 |
(str(CorrEvent.ACK_KNOWN), l_('Alerts marked as Acknowledged')), |
|
56 |
(str(CorrEvent.ACK_CLOSED), l_('Alerts marked as Closed')), |
|
55 | 57 |
] |
56 | 58 |
|
57 | 59 |
return [ |
... | ... | |
61 | 63 |
validator=twf.validators.String(if_missing=None), |
62 | 64 |
), |
63 | 65 |
twf.SingleSelectField( |
64 |
'status',
|
|
66 |
'ack',
|
|
65 | 67 |
label_text=l_('Acknowledgement Status'), |
66 | 68 |
options=options, |
67 | 69 |
validator=twf.validators.OneOf( |
... | ... | |
80 | 82 |
tt = sql_escape_like(search['trouble_ticket']) |
81 | 83 |
query.add_filter(CorrEvent.trouble_ticket.ilike(tt)) |
82 | 84 |
|
83 |
if search.get('status'): |
|
84 |
query.add_filter(CorrEvent.status == search['status']) |
|
85 |
|
|
85 |
if search.get('ack'): |
|
86 |
try: |
|
87 |
query.add_filter(CorrEvent.ack == int(search['ack'])) |
|
88 |
except (ValueError, TypeError): |
|
89 |
# On ignore silencieusement le critère de recherche erroné. |
|
90 |
pass |
vigiboard/controllers/root.py | ||
---|---|---|
555 | 555 |
flash(reason, 'error') |
556 | 556 |
raise redirect(request.environ.get('HTTP_REFERER', '/')) |
557 | 557 |
|
558 |
# Définit 2 mappings dont les ensembles sont disjoincts |
|
559 |
# pour basculer entre la représentation en base de données |
|
560 |
# et la représentation "humaine" du bac à événements. |
|
561 |
ack_mapping = { |
|
562 |
# Permet d'associer la valeur dans le widget ToscaWidgets |
|
563 |
# (cf. vigiboard.widgets.edit_event.edit_event_status_options) |
|
564 |
# avec la valeur dans la base de données. |
|
565 |
u'None': CorrEvent.ACK_NONE, |
|
566 |
u'Acknowledged': CorrEvent.ACK_KNOWN, |
|
567 |
u'AAClosed': CorrEvent.ACK_CLOSED, |
|
568 |
|
|
569 |
# Permet d'afficher un libellé plus sympathique pour l'utilisateur |
|
570 |
# représentant l'état d'acquittement stocké en base de données. |
|
571 |
CorrEvent.ACK_NONE: l_('None'), |
|
572 |
CorrEvent.ACK_KNOWN: l_('Acknowledged'), |
|
573 |
CorrEvent.ACK_CLOSED: l_('Acknowledged and closed'), |
|
574 |
} |
|
575 |
|
|
576 |
# Toutes les valeurs de ce dictionnaire ne sont pas utilisées |
|
577 |
# par cette méthode, néanmoins il permet de marquer les différentes |
|
578 |
# valeurs possibles pour le champ "type_action" comme étant à traduire. |
|
579 |
valid_types = { |
|
580 |
u'Ticket change': l_('Ticket change'), |
|
581 |
u'Forced change state': l_('Forced change state'), |
|
582 |
u'Acknowledgement change state': l_('Acknowledgement change state'), |
|
583 |
u'Ticket change notification': l_('Ticket change notification'), |
|
584 |
u'New occurrence': l_('New occurrence'), |
|
585 |
u'Nagios update state': l_('Nagios update state'), |
|
586 |
} |
|
587 |
|
|
558 | 588 |
# Modification des événements et création d'un historique |
559 | 589 |
# chaque fois que cela est nécessaire. |
560 | 590 |
for event in events.req: |
561 | 591 |
if trouble_ticket and trouble_ticket != event.trouble_ticket: |
562 | 592 |
history = EventHistory( |
563 |
type_action=u"Ticket change",
|
|
593 |
type_action=unicode(valid_types["Ticket change"]),
|
|
564 | 594 |
idevent=event.idcause, |
565 | 595 |
value=unicode(trouble_ticket), |
566 | 596 |
text="Changed trouble ticket from '%(from)s' " |
... | ... | |
608 | 638 |
}) |
609 | 639 |
|
610 | 640 |
history = EventHistory( |
611 |
type_action=u"Forced change state", |
|
641 |
type_action= |
|
642 |
unicode(valid_types[u"Forced change state"]), |
|
612 | 643 |
idevent=event.idcause, |
613 | 644 |
value=u'OK', |
614 | 645 |
text="Forced state to 'OK'", |
... | ... | |
625 | 656 |
'idevent': event.idcause, |
626 | 657 |
}) |
627 | 658 |
|
659 |
# Convertit la valeur du widget ToscaWidgets |
|
660 |
# vers le code interne puis vers un libellé |
|
661 |
# "humain". |
|
662 |
ack_label = ack_mapping[ack_mapping[changed_ack]] |
|
663 |
|
|
664 |
# Si le changement a été forcé, |
|
665 |
# on veut le mettre en évidence. |
|
666 |
if ack == u'Forced': |
|
667 |
history_label = l_('Forced') |
|
668 |
else: |
|
669 |
history_label = ack_label |
|
670 |
|
|
628 | 671 |
history = EventHistory( |
629 |
type_action=u"Acknowledgement change state", |
|
672 |
type_action=unicode( |
|
673 |
valid_types[u"Acknowledgement change state"] |
|
674 |
), |
|
630 | 675 |
idevent=event.idcause, |
631 |
value=ack,
|
|
676 |
value=unicode(history_label),
|
|
632 | 677 |
text="Changed acknowledgement status " |
633 | 678 |
"from '%s' to '%s'" % ( |
634 |
event.status, changed_ack |
|
679 |
ack_mapping[event.ack], |
|
680 |
ack_label, |
|
635 | 681 |
), |
636 | 682 |
username=user.user_name, |
637 | 683 |
timestamp=datetime.now(), |
... | ... | |
642 | 688 |
'#%(idevent)d') % { |
643 | 689 |
'user': request.identity['repoze.who.userid'], |
644 | 690 |
'address': request.remote_addr, |
645 |
'previous': event.status,
|
|
646 |
'new': changed_ack,
|
|
691 |
'previous': _(ack_mapping[event.ack]),
|
|
692 |
'new': _(ack_label),
|
|
647 | 693 |
'idevent': event.idcause, |
648 | 694 |
}) |
649 |
event.status = changed_ack
|
|
695 |
event.ack = ack_mapping[changed_ack]
|
|
650 | 696 |
|
651 | 697 |
DBSession.flush() |
652 | 698 |
flash(_('Updated successfully')) |
vigiboard/controllers/vigiboardrequest.py | ||
---|---|---|
45 | 45 |
le préformatage des événements et celui des historiques |
46 | 46 |
""" |
47 | 47 |
|
48 |
class_ack = { |
|
49 |
'None': '', |
|
50 |
'Acknowledged': '_Ack', |
|
51 |
'AAClosed': '_Ack', |
|
52 |
} |
|
53 |
|
|
54 | 48 |
def __init__(self, user, mask_closed_events=True, search=None): |
55 | 49 |
""" |
56 | 50 |
Initialisation de l'objet qui effectue les requêtes de VigiBoard |
... | ... | |
85 | 79 |
self.groupby = [ |
86 | 80 |
StateName.order, |
87 | 81 |
Event.timestamp, |
88 |
CorrEvent.status,
|
|
82 |
CorrEvent.ack,
|
|
89 | 83 |
CorrEvent.priority, |
90 | 84 |
StateName.statename, |
91 | 85 |
] |
... | ... | |
101 | 95 |
# - VIGILO_EXIG_VIGILO_BAC_0050 |
102 | 96 |
# - VIGILO_EXIG_VIGILO_BAC_0060 |
103 | 97 |
self.orderby = [ |
104 |
desc(CorrEvent.status), # État acquittement
|
|
98 |
asc(CorrEvent.ack), # État acquittement
|
|
105 | 99 |
asc(StateName.statename.in_([u'OK', u'UP'])), # Vert / Pas vert |
106 | 100 |
priority_order, # Priorité ITIL |
107 | 101 |
] |
... | ... | |
192 | 186 |
if mask_closed_events: |
193 | 187 |
self.filter.append( |
194 | 188 |
# On masque les événements avec l'état OK |
195 |
# et traités (status == u'AAClosed').
|
|
189 |
# et traités (ack == CorrEvent.ACK_CLOSED).
|
|
196 | 190 |
not_(and_( |
197 | 191 |
StateName.statename.in_([u'OK', u'UP']), |
198 |
CorrEvent.status == u'AAClosed'
|
|
192 |
CorrEvent.ack == CorrEvent.ACK_CLOSED
|
|
199 | 193 |
)) |
200 | 194 |
) |
201 | 195 |
|
vigiboard/i18n/de/LC_MESSAGES/vigiboard.po | ||
---|---|---|
8 | 8 |
"Project-Id-Version: vigiboard 2.0.0\n" |
9 | 9 |
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" |
10 | 10 |
"POT-Creation-Date: 2010-11-19 10:22+0100\n" |
11 |
"PO-Revision-Date: 2011-08-28 16:29+0200\n"
|
|
11 |
"PO-Revision-Date: 2012-01-06 11:27+0100\n"
|
|
12 | 12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 | 13 |
"Language-Team: de_DE <LL@li.org>\n" |
14 | 14 |
"Plural-Forms: nplurals=2; plural=(n != 1)\n" |
... | ... | |
17 | 17 |
"Content-Transfer-Encoding: 8bit\n" |
18 | 18 |
"Generated-By: Babel 0.9.4\n" |
19 | 19 |
|
20 |
#: vigiboard/controllers/root.py:77 vigiboard/controllers/root.py:85
|
|
21 |
#: vigiboard/controllers/root.py:485
|
|
20 |
#: vigiboard/controllers/root.py:79 vigiboard/controllers/root.py:87
|
|
21 |
#: vigiboard/controllers/root.py:487
|
|
22 | 22 |
msgid "You need to be authenticated" |
23 | 23 |
msgstr "Sie müssen sich authentifizieren" |
24 | 24 |
|
25 |
#: vigiboard/controllers/root.py:88
|
|
25 |
#: vigiboard/controllers/root.py:90
|
|
26 | 26 |
msgid "You don't have access to VigiBoard" |
27 | 27 |
msgstr "Sie haben keinen Zugang zu VigiBoard" |
28 | 28 |
|
29 |
#: vigiboard/controllers/root.py:202 vigiboard/controllers/root.py:457
|
|
30 |
#: vigiboard/controllers/vigiboardrequest.py:458
|
|
29 |
#: vigiboard/controllers/root.py:204 vigiboard/controllers/root.py:459
|
|
30 |
#: vigiboard/controllers/vigiboardrequest.py:452
|
|
31 | 31 |
msgid "Apply" |
32 | 32 |
msgstr "Anwenden" |
33 | 33 |
|
34 |
#: vigiboard/controllers/root.py:320
|
|
34 |
#: vigiboard/controllers/root.py:322
|
|
35 | 35 |
msgid "No masked event or access denied" |
36 | 36 |
msgstr "Kein maskiertes Ereignis oder Zugriff verweigert" |
37 | 37 |
|
38 |
#: vigiboard/controllers/root.py:374
|
|
38 |
#: vigiboard/controllers/root.py:376
|
|
39 | 39 |
msgid "No such event or access denied" |
40 | 40 |
msgstr "Ereignis nicht vorhanden oder Zugriff verweigert" |
41 | 41 |
|
42 |
#: vigiboard/controllers/root.py:424
|
|
42 |
#: vigiboard/controllers/root.py:426
|
|
43 | 43 |
msgid "No such host/service" |
44 | 44 |
msgstr "Host/Service nicht vorhanden" |
45 | 45 |
|
46 |
#: vigiboard/controllers/root.py:447
|
|
46 |
#: vigiboard/controllers/root.py:449
|
|
47 | 47 |
msgid "No access to this host/service or no event yet" |
48 | 48 |
msgstr "Kein Zugang zu diesem Host/Service oder Ereignis noch nicht vorhanden" |
49 | 49 |
|
50 |
#: vigiboard/controllers/root.py:488
|
|
50 |
#: vigiboard/controllers/root.py:490
|
|
51 | 51 |
msgid "You don't have write access to VigiBoard" |
52 | 52 |
msgstr "Sie haben keinen Schreibzugriff auf VigiBoard" |
53 | 53 |
|
54 |
#: vigiboard/controllers/root.py:511
|
|
54 |
#: vigiboard/controllers/root.py:513
|
|
55 | 55 |
msgid "No event has been selected" |
56 | 56 |
msgstr "Es wurde kein Ereignis ausgewählt" |
57 | 57 |
|
58 |
#: vigiboard/controllers/root.py:534
|
|
58 |
#: vigiboard/controllers/root.py:536
|
|
59 | 59 |
msgid "" |
60 | 60 |
"Changes have occurred since the page was last displayed, your changes " |
61 | 61 |
"HAVE NOT been saved." |
... | ... | |
63 | 63 |
"Die seit der letzten Anzeige der Seite von Ihnen vorgenommenen Änderungen" |
64 | 64 |
" WURDEN NICHT gespeichert." |
65 | 65 |
|
66 |
#: vigiboard/controllers/root.py:540
|
|
66 |
#: vigiboard/controllers/root.py:542
|
|
67 | 67 |
msgid "No access to this event" |
68 | 68 |
msgstr "Kein Zugang zu diesem Ereignis " |
69 | 69 |
|
70 |
#: vigiboard/controllers/root.py:547
|
|
70 |
#: vigiboard/controllers/root.py:549
|
|
71 | 71 |
msgid "You don't have administrative access to VigiBoard" |
72 | 72 |
msgstr "Sie haben keine administrativen Zugriff auf VigiBoard" |
73 | 73 |
|
74 |
#: vigiboard/controllers/root.py:571 |
|
75 |
msgid "None" |
|
76 |
msgstr "" |
|
77 |
|
|
78 |
#: vigiboard/controllers/root.py:572 |
|
79 |
#, fuzzy |
|
80 |
msgid "Acknowledged" |
|
81 |
msgstr "Bestätigen" |
|
82 |
|
|
74 | 83 |
#: vigiboard/controllers/root.py:573 |
84 |
msgid "Acknowledged and closed" |
|
85 |
msgstr "" |
|
86 |
|
|
87 |
#: vigiboard/controllers/root.py:580 |
|
88 |
#, fuzzy |
|
89 |
msgid "Ticket change" |
|
90 |
msgstr "Keine Änderung" |
|
91 |
|
|
92 |
#: vigiboard/controllers/root.py:581 |
|
93 |
msgid "Forced change state" |
|
94 |
msgstr "" |
|
95 |
|
|
96 |
#: vigiboard/controllers/root.py:582 |
|
97 |
#, fuzzy |
|
98 |
msgid "Acknowledgement change state" |
|
99 |
msgstr "Bestätigungsstatus" |
|
100 |
|
|
101 |
#: vigiboard/controllers/root.py:583 |
|
102 |
msgid "Ticket change notification" |
|
103 |
msgstr "" |
|
104 |
|
|
105 |
#: vigiboard/controllers/root.py:584 |
|
106 |
msgid "New occurrence" |
|
107 |
msgstr "" |
|
108 |
|
|
109 |
#: vigiboard/controllers/root.py:585 |
|
110 |
msgid "Nagios update state" |
|
111 |
msgstr "" |
|
112 |
|
|
113 |
#: vigiboard/controllers/root.py:605 |
|
75 | 114 |
#, python-format |
76 | 115 |
msgid "" |
77 | 116 |
"User \"%(user)s\" (%(address)s) changed the trouble ticket from " |
78 | 117 |
"\"%(previous)s\" to \"%(new)s\" on event #%(idevent)d" |
79 | 118 |
msgstr "" |
80 | 119 |
|
81 |
#: vigiboard/controllers/root.py:617
|
|
120 |
#: vigiboard/controllers/root.py:650
|
|
82 | 121 |
#, python-format |
83 | 122 |
msgid "User \"%(user)s\" (%(address)s) forcefully closed event #%(idevent)d" |
84 | 123 |
msgstr "" |
85 | 124 |
|
86 |
#: vigiboard/controllers/root.py:637 |
|
125 |
#: vigiboard/controllers/root.py:666 |
|
126 |
msgid "Forced" |
|
127 |
msgstr "" |
|
128 |
|
|
129 |
#: vigiboard/controllers/root.py:684 |
|
87 | 130 |
#, python-format |
88 | 131 |
msgid "" |
89 | 132 |
"User \"%(user)s\" (%(address)s) changed the state from \"%(previous)s\" " |
90 | 133 |
"to \"%(new)s\" on event #%(idevent)d" |
91 | 134 |
msgstr "" |
92 | 135 |
|
93 |
#: vigiboard/controllers/root.py:649
|
|
136 |
#: vigiboard/controllers/root.py:696
|
|
94 | 137 |
msgid "Updated successfully" |
95 | 138 |
msgstr "Erfolgreich aktualisiert" |
96 | 139 |
|
97 |
#: vigiboard/controllers/root.py:674
|
|
140 |
#: vigiboard/controllers/root.py:721
|
|
98 | 141 |
#, fuzzy, python-format |
99 | 142 |
msgid "No such plugin '%s'" |
100 | 143 |
msgstr "Plug-In \"%s\" nicht vorhanden" |
101 | 144 |
|
102 |
#: vigiboard/controllers/root.py:717
|
|
145 |
#: vigiboard/controllers/root.py:764
|
|
103 | 146 |
msgid "No such incident or insufficient permissions" |
104 | 147 |
msgstr "Ereignis nicht vorhanden oder unzureichende Berechtigungen" |
105 | 148 |
|
106 |
#: vigiboard/controllers/root.py:829
|
|
149 |
#: vigiboard/controllers/root.py:876
|
|
107 | 150 |
#, python-format |
108 | 151 |
msgid "Next %(limit)s" |
109 | 152 |
msgstr "" |
110 | 153 |
|
111 |
#: vigiboard/controllers/vigiboard_controller.py:55 |
|
112 |
msgid "Wrong credentials" |
|
113 |
msgstr "Ungültige Anmeldeinformationen" |
|
114 |
|
|
115 |
#: vigiboard/controllers/vigiboard_controller.py:69 |
|
116 |
#, python-format |
|
117 |
msgid "\"%(username)s\" logged in (from %(IP)s)" |
|
118 |
msgstr "\"%(username)s\" (aus %(IP)s) angemeldet" |
|
119 |
|
|
120 |
#: vigiboard/controllers/vigiboard_controller.py:73 |
|
121 |
#, python-format |
|
122 |
msgid "Welcome back, %s!" |
|
123 |
msgstr "Willkommen %s!" |
|
124 |
|
|
125 |
#: vigiboard/controllers/vigiboard_controller.py:82 |
|
126 |
#, python-format |
|
127 |
msgid "Some user logged out (from %(IP)s)" |
|
128 |
msgstr "Ein Benutzer (aus %(IP)s) hat sich abgemeldet" |
|
129 |
|
|
130 |
#: vigiboard/controllers/vigiboard_controller.py:85 |
|
131 |
msgid "We hope to see you soon!" |
|
132 |
msgstr "Bis bald!" |
|
133 |
|
|
134 | 154 |
#. TRANSLATORS: Format de date et heure Python/JavaScript. |
135 | 155 |
#. TRANSLATORS: |
136 | 156 |
#. http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_5.3.5 |
... | ... | |
187 | 207 |
msgid "All alerts" |
188 | 208 |
msgstr "" |
189 | 209 |
|
190 |
#: vigiboard/controllers/plugins/status.py:52
|
|
210 |
#: vigiboard/controllers/plugins/status.py:54
|
|
191 | 211 |
msgid "New alerts" |
192 | 212 |
msgstr "" |
193 | 213 |
|
194 |
#: vigiboard/controllers/plugins/status.py:53
|
|
214 |
#: vigiboard/controllers/plugins/status.py:55
|
|
195 | 215 |
msgid "Alerts marked as Acknowledged" |
196 | 216 |
msgstr "" |
197 | 217 |
|
198 |
#: vigiboard/controllers/plugins/status.py:54
|
|
218 |
#: vigiboard/controllers/plugins/status.py:56
|
|
199 | 219 |
msgid "Alerts marked as Closed" |
200 | 220 |
msgstr "" |
201 | 221 |
|
202 |
#: vigiboard/controllers/plugins/status.py:60
|
|
222 |
#: vigiboard/controllers/plugins/status.py:62
|
|
203 | 223 |
#: vigiboard/widgets/edit_event.py:58 |
204 | 224 |
msgid "Trouble Ticket" |
205 | 225 |
msgstr "Trouble Ticket" |
206 | 226 |
|
207 |
#: vigiboard/controllers/plugins/status.py:65
|
|
227 |
#: vigiboard/controllers/plugins/status.py:67
|
|
208 | 228 |
#: vigiboard/widgets/edit_event.py:61 |
209 | 229 |
msgid "Acknowledgement Status" |
210 | 230 |
msgstr "Bestätigungsstatus" |
... | ... | |
251 | 271 |
#: vigiboard/widgets/search_form.py:55 |
252 | 272 |
msgid "Search" |
253 | 273 |
msgstr "Suchen" |
274 |
|
vigiboard/i18n/en/LC_MESSAGES/vigiboard.po | ||
---|---|---|
1 | 1 |
# English translations for vigilo-vigiboard. |
2 |
# Copyright (C) 2011 ORGANIZATION
|
|
2 |
# Copyright (C) 2012 ORGANIZATION
|
|
3 | 3 |
# This file is distributed under the same license as the vigilo-vigiboard |
4 | 4 |
# project. |
5 |
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
|
5 |
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
|
6 | 6 |
# |
7 | 7 |
msgid "" |
8 | 8 |
msgstr "" |
9 |
"Project-Id-Version: vigilo-vigiboard 2.0.5\n"
|
|
9 |
"Project-Id-Version: vigilo-vigiboard 2.0.11\n"
|
|
10 | 10 |
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n" |
11 |
"POT-Creation-Date: 2011-08-28 16:29+0200\n"
|
|
12 |
"PO-Revision-Date: 2011-08-28 16:29+0200\n"
|
|
11 |
"POT-Creation-Date: 2012-01-06 11:27+0100\n"
|
|
12 |
"PO-Revision-Date: 2012-01-06 11:27+0100\n"
|
|
13 | 13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 14 |
"Language-Team: en <LL@li.org>\n" |
15 | 15 |
"Plural-Forms: nplurals=2; plural=(n != 1)\n" |
... | ... | |
18 | 18 |
"Content-Transfer-Encoding: 8bit\n" |
19 | 19 |
"Generated-By: Babel 0.9.4\n" |
20 | 20 |
|
21 |
#: vigiboard/controllers/root.py:77 vigiboard/controllers/root.py:85
|
|
22 |
#: vigiboard/controllers/root.py:485
|
|
21 |
#: vigiboard/controllers/root.py:79 vigiboard/controllers/root.py:87
|
|
22 |
#: vigiboard/controllers/root.py:487
|
|
23 | 23 |
msgid "You need to be authenticated" |
24 | 24 |
msgstr "You need to be authenticated" |
25 | 25 |
|
26 |
#: vigiboard/controllers/root.py:88
|
|
26 |
#: vigiboard/controllers/root.py:90
|
|
27 | 27 |
msgid "You don't have access to VigiBoard" |
28 | 28 |
msgstr "You don't have access to VigiBoard" |
29 | 29 |
|
30 |
#: vigiboard/controllers/root.py:202 vigiboard/controllers/root.py:457
|
|
31 |
#: vigiboard/controllers/vigiboardrequest.py:458
|
|
30 |
#: vigiboard/controllers/root.py:204 vigiboard/controllers/root.py:459
|
|
31 |
#: vigiboard/controllers/vigiboardrequest.py:452
|
|
32 | 32 |
msgid "Apply" |
33 | 33 |
msgstr "Apply" |
34 | 34 |
|
35 |
#: vigiboard/controllers/root.py:320
|
|
35 |
#: vigiboard/controllers/root.py:322
|
|
36 | 36 |
msgid "No masked event or access denied" |
37 | 37 |
msgstr "No masked event or access denied" |
38 | 38 |
|
39 |
#: vigiboard/controllers/root.py:374
|
|
39 |
#: vigiboard/controllers/root.py:376
|
|
40 | 40 |
msgid "No such event or access denied" |
41 | 41 |
msgstr "No such event or access denied" |
42 | 42 |
|
43 |
#: vigiboard/controllers/root.py:424
|
|
43 |
#: vigiboard/controllers/root.py:426
|
|
44 | 44 |
msgid "No such host/service" |
45 | 45 |
msgstr "No such host/service" |
46 | 46 |
|
47 |
#: vigiboard/controllers/root.py:447
|
|
47 |
#: vigiboard/controllers/root.py:449
|
|
48 | 48 |
msgid "No access to this host/service or no event yet" |
49 | 49 |
msgstr "No access to this host/service or no event yet" |
50 | 50 |
|
51 |
#: vigiboard/controllers/root.py:488
|
|
51 |
#: vigiboard/controllers/root.py:490
|
|
52 | 52 |
msgid "You don't have write access to VigiBoard" |
53 | 53 |
msgstr "You don't have write access to VigiBoard" |
54 | 54 |
|
55 |
#: vigiboard/controllers/root.py:511
|
|
55 |
#: vigiboard/controllers/root.py:513
|
|
56 | 56 |
msgid "No event has been selected" |
57 | 57 |
msgstr "No event has been selected" |
58 | 58 |
|
59 |
#: vigiboard/controllers/root.py:534
|
|
59 |
#: vigiboard/controllers/root.py:536
|
|
60 | 60 |
msgid "" |
61 | 61 |
"Changes have occurred since the page was last displayed, your changes " |
62 | 62 |
"HAVE NOT been saved." |
... | ... | |
64 | 64 |
"Changes have occurred since the page was last displayed, your changes " |
65 | 65 |
"HAVE NOT been saved." |
66 | 66 |
|
67 |
#: vigiboard/controllers/root.py:540
|
|
67 |
#: vigiboard/controllers/root.py:542
|
|
68 | 68 |
msgid "No access to this event" |
69 | 69 |
msgstr "No access to this event" |
70 | 70 |
|
71 |
#: vigiboard/controllers/root.py:547
|
|
71 |
#: vigiboard/controllers/root.py:549
|
|
72 | 72 |
msgid "You don't have administrative access to VigiBoard" |
73 | 73 |
msgstr "You don't have administrative access to VigiBoard" |
74 | 74 |
|
75 |
#: vigiboard/controllers/root.py:571 |
|
76 |
msgid "None" |
|
77 |
msgstr "None" |
|
78 |
|
|
79 |
#: vigiboard/controllers/root.py:572 |
|
80 |
msgid "Acknowledged" |
|
81 |
msgstr "Acknowledged" |
|
82 |
|
|
75 | 83 |
#: vigiboard/controllers/root.py:573 |
84 |
msgid "Acknowledged and closed" |
|
85 |
msgstr "Acknowledged and closed" |
|
86 |
|
|
87 |
#: vigiboard/controllers/root.py:580 |
|
88 |
msgid "Ticket change" |
|
89 |
msgstr "Ticket change" |
|
90 |
|
|
91 |
#: vigiboard/controllers/root.py:581 |
|
92 |
msgid "Forced change state" |
|
93 |
msgstr "Forced change state" |
|
94 |
|
|
95 |
#: vigiboard/controllers/root.py:582 |
|
96 |
msgid "Acknowledgement change state" |
|
97 |
msgstr "Acknowledgement change state" |
|
98 |
|
|
99 |
#: vigiboard/controllers/root.py:583 |
|
100 |
msgid "Ticket change notification" |
|
101 |
msgstr "Ticket change notification" |
|
102 |
|
|
103 |
#: vigiboard/controllers/root.py:584 |
|
104 |
msgid "New occurrence" |
|
105 |
msgstr "New occurrence" |
|
106 |
|
|
107 |
#: vigiboard/controllers/root.py:585 |
|
108 |
msgid "Nagios update state" |
|
109 |
msgstr "Nagios update state" |
|
110 |
|
|
111 |
#: vigiboard/controllers/root.py:605 |
|
76 | 112 |
#, python-format |
77 | 113 |
msgid "" |
78 | 114 |
"User \"%(user)s\" (%(address)s) changed the trouble ticket from " |
... | ... | |
81 | 117 |
"User \"%(user)s\" (%(address)s) changed the trouble ticket from " |
82 | 118 |
"\"%(previous)s\" to \"%(new)s\" on event #%(idevent)d" |
83 | 119 |
|
84 |
#: vigiboard/controllers/root.py:617
|
|
120 |
#: vigiboard/controllers/root.py:650
|
|
85 | 121 |
#, python-format |
86 | 122 |
msgid "User \"%(user)s\" (%(address)s) forcefully closed event #%(idevent)d" |
87 | 123 |
msgstr "User \"%(user)s\" (%(address)s) forcefully closed event #%(idevent)d" |
88 | 124 |
|
89 |
#: vigiboard/controllers/root.py:637 |
|
125 |
#: vigiboard/controllers/root.py:666 |
|
126 |
msgid "Forced" |
|
127 |
msgstr "Forced" |
|
128 |
|
|
129 |
#: vigiboard/controllers/root.py:684 |
|
90 | 130 |
#, python-format |
91 | 131 |
msgid "" |
92 | 132 |
"User \"%(user)s\" (%(address)s) changed the state from \"%(previous)s\" " |
... | ... | |
95 | 135 |
"User \"%(user)s\" (%(address)s) changed the state from \"%(previous)s\" " |
96 | 136 |
"to \"%(new)s\" on event #%(idevent)d" |
97 | 137 |
|
98 |
#: vigiboard/controllers/root.py:649
|
|
138 |
#: vigiboard/controllers/root.py:696
|
|
99 | 139 |
msgid "Updated successfully" |
100 | 140 |
msgstr "Updated successfully" |
101 | 141 |
|
102 |
#: vigiboard/controllers/root.py:674
|
|
142 |
#: vigiboard/controllers/root.py:721
|
|
103 | 143 |
#, python-format |
104 | 144 |
msgid "No such plugin '%s'" |
105 | 145 |
msgstr "No such plugin '%s'" |
106 | 146 |
|
107 |
#: vigiboard/controllers/root.py:717
|
|
147 |
#: vigiboard/controllers/root.py:764
|
|
108 | 148 |
msgid "No such incident or insufficient permissions" |
109 | 149 |
msgstr "No such incident or insufficient permissions" |
110 | 150 |
|
111 |
#: vigiboard/controllers/root.py:829
|
|
151 |
#: vigiboard/controllers/root.py:876
|
|
112 | 152 |
#, python-format |
113 | 153 |
msgid "Next %(limit)s" |
114 | 154 |
msgstr "Next %(limit)s" |
115 | 155 |
|
116 |
#: vigiboard/controllers/vigiboard_controller.py:55 |
|
117 |
msgid "Wrong credentials" |
|
118 |
msgstr "Wrong credentials" |
|
119 |
|
|
120 |
#: vigiboard/controllers/vigiboard_controller.py:69 |
|
121 |
#, python-format |
|
122 |
msgid "\"%(username)s\" logged in (from %(IP)s)" |
|
123 |
msgstr "\"%(username)s\" logged in (from %(IP)s)" |
|
124 |
|
|
125 |
#: vigiboard/controllers/vigiboard_controller.py:73 |
|
126 |
#, python-format |
|
127 |
msgid "Welcome back, %s!" |
|
128 |
msgstr "Welcome back, %s!" |
|
129 |
|
|
130 |
#: vigiboard/controllers/vigiboard_controller.py:82 |
|
131 |
#, python-format |
|
132 |
msgid "Some user logged out (from %(IP)s)" |
|
133 |
msgstr "Some user logged out (from %(IP)s)" |
|
134 |
|
|
135 |
#: vigiboard/controllers/vigiboard_controller.py:85 |
|
136 |
msgid "We hope to see you soon!" |
|
137 |
msgstr "We hope to see you soon!" |
|
138 |
|
|
139 | 156 |
#. TRANSLATORS: Format de date et heure Python/JavaScript. |
140 | 157 |
#. TRANSLATORS: |
141 | 158 |
#. http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_5.3.5 |
... | ... | |
192 | 209 |
msgid "All alerts" |
193 | 210 |
msgstr "All alerts" |
194 | 211 |
|
195 |
#: vigiboard/controllers/plugins/status.py:52
|
|
212 |
#: vigiboard/controllers/plugins/status.py:54
|
|
196 | 213 |
msgid "New alerts" |
197 | 214 |
msgstr "New alerts" |
198 | 215 |
|
199 |
#: vigiboard/controllers/plugins/status.py:53
|
|
216 |
#: vigiboard/controllers/plugins/status.py:55
|
|
200 | 217 |
msgid "Alerts marked as Acknowledged" |
201 | 218 |
msgstr "Alerts marked as Acknowledged" |
202 | 219 |
|
203 |
#: vigiboard/controllers/plugins/status.py:54
|
|
220 |
#: vigiboard/controllers/plugins/status.py:56
|
|
204 | 221 |
msgid "Alerts marked as Closed" |
205 | 222 |
msgstr "Alerts marked as Closed" |
206 | 223 |
|
207 |
#: vigiboard/controllers/plugins/status.py:60
|
|
224 |
#: vigiboard/controllers/plugins/status.py:62
|
|
208 | 225 |
#: vigiboard/widgets/edit_event.py:58 |
209 | 226 |
msgid "Trouble Ticket" |
210 | 227 |
msgstr "Trouble Ticket" |
211 | 228 |
|
212 |
#: vigiboard/controllers/plugins/status.py:65
|
|
229 |
#: vigiboard/controllers/plugins/status.py:67
|
|
213 | 230 |
#: vigiboard/widgets/edit_event.py:61 |
214 | 231 |
msgid "Acknowledgement Status" |
215 | 232 |
msgstr "Acknowledgement Status" |
vigiboard/i18n/fr/LC_MESSAGES/vigiboard.po | ||
---|---|---|
8 | 8 |
"Project-Id-Version: vigiboard 0.1\n" |
9 | 9 |
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" |
10 | 10 |
"POT-Creation-Date: 2009-07-06 11:19+0200\n" |
11 |
"PO-Revision-Date: 2011-08-28 16:29+0200\n"
|
|
11 |
"PO-Revision-Date: 2012-01-06 11:27+0100\n"
|
|
12 | 12 |
"Last-Translator: Thomas ANDREJAK <thomas.andrejak@c-s.fr>\n" |
13 | 13 |
"Language-Team: fr_FR <LL@li.org>\n" |
14 | 14 |
"Plural-Forms: nplurals=2; plural=(n > 1)\n" |
... | ... | |
17 | 17 |
"Content-Transfer-Encoding: 8bit\n" |
18 | 18 |
"Generated-By: Babel 0.9.4\n" |
19 | 19 |
|
20 |
#: vigiboard/controllers/root.py:77 vigiboard/controllers/root.py:85
|
|
21 |
#: vigiboard/controllers/root.py:485
|
|
20 |
#: vigiboard/controllers/root.py:79 vigiboard/controllers/root.py:87
|
|
21 |
#: vigiboard/controllers/root.py:487
|
|
22 | 22 |
msgid "You need to be authenticated" |
23 | 23 |
msgstr "Vous devez vous authentifier" |
24 | 24 |
|
25 |
#: vigiboard/controllers/root.py:88
|
|
25 |
#: vigiboard/controllers/root.py:90
|
|
26 | 26 |
msgid "You don't have access to VigiBoard" |
27 | 27 |
msgstr "Vous n'avez pas accès à VigiBoard" |
28 | 28 |
|
29 |
#: vigiboard/controllers/root.py:202 vigiboard/controllers/root.py:457
|
|
30 |
#: vigiboard/controllers/vigiboardrequest.py:458
|
|
29 |
#: vigiboard/controllers/root.py:204 vigiboard/controllers/root.py:459
|
|
30 |
#: vigiboard/controllers/vigiboardrequest.py:452
|
|
31 | 31 |
msgid "Apply" |
32 | 32 |
msgstr "Appliquer" |
33 | 33 |
|
34 |
#: vigiboard/controllers/root.py:320
|
|
34 |
#: vigiboard/controllers/root.py:322
|
|
35 | 35 |
msgid "No masked event or access denied" |
36 | 36 |
msgstr "Aucun événement masqué ou accès refusé" |
37 | 37 |
|
38 |
#: vigiboard/controllers/root.py:374
|
|
38 |
#: vigiboard/controllers/root.py:376
|
|
39 | 39 |
msgid "No such event or access denied" |
40 | 40 |
msgstr "Aucun événement correspondant ou accès refusé" |
41 | 41 |
|
42 |
#: vigiboard/controllers/root.py:424
|
|
42 |
#: vigiboard/controllers/root.py:426
|
|
43 | 43 |
msgid "No such host/service" |
44 | 44 |
msgstr "Hôte ou service inexistant" |
45 | 45 |
|
46 |
#: vigiboard/controllers/root.py:447
|
|
46 |
#: vigiboard/controllers/root.py:449
|
|
47 | 47 |
msgid "No access to this host/service or no event yet" |
48 | 48 |
msgstr "Accès à cet hôte/service refusé ou aucun événement pour le moment" |
49 | 49 |
|
50 |
#: vigiboard/controllers/root.py:488
|
|
50 |
#: vigiboard/controllers/root.py:490
|
|
51 | 51 |
msgid "You don't have write access to VigiBoard" |
52 | 52 |
msgstr "Vous n'avez pas d'accès en écriture sur VigiBoard" |
53 | 53 |
|
54 |
#: vigiboard/controllers/root.py:511
|
|
54 |
#: vigiboard/controllers/root.py:513
|
|
55 | 55 |
msgid "No event has been selected" |
56 | 56 |
msgstr "Aucun événement sélectionné" |
57 | 57 |
|
58 |
#: vigiboard/controllers/root.py:534
|
|
58 |
#: vigiboard/controllers/root.py:536
|
|
59 | 59 |
msgid "" |
60 | 60 |
"Changes have occurred since the page was last displayed, your changes " |
61 | 61 |
"HAVE NOT been saved." |
... | ... | |
63 | 63 |
"Des modifications ont eu lieu depuis le dernier affichage de cette page, " |
64 | 64 |
"vos modifications N'ONT PAS été enregistrées." |
65 | 65 |
|
66 |
#: vigiboard/controllers/root.py:540
|
|
66 |
#: vigiboard/controllers/root.py:542
|
|
67 | 67 |
msgid "No access to this event" |
68 | 68 |
msgstr "Accès à cet événement refusé" |
69 | 69 |
|
70 |
#: vigiboard/controllers/root.py:547
|
|
70 |
#: vigiboard/controllers/root.py:549
|
|
71 | 71 |
msgid "You don't have administrative access to VigiBoard" |
72 | 72 |
msgstr "Vous n'avez les droits d'administration sur VigiBoard" |
73 | 73 |
|
74 |
#: vigiboard/controllers/root.py:571 |
|
75 |
msgid "None" |
|
76 |
msgstr "Aucun" |
|
77 |
|
|
78 |
#: vigiboard/controllers/root.py:572 |
|
79 |
msgid "Acknowledged" |
|
80 |
msgstr "Pris en compte" |
|
81 |
|
|
74 | 82 |
#: vigiboard/controllers/root.py:573 |
83 |
msgid "Acknowledged and closed" |
|
84 |
msgstr "Pris en compte et fermé" |
|
85 |
|
|
86 |
#: vigiboard/controllers/root.py:580 |
|
87 |
msgid "Ticket change" |
|
88 |
msgstr "Changement de ticket" |
|
89 |
|
|
90 |
#: vigiboard/controllers/root.py:581 |
|
91 |
msgid "Forced change state" |
|
92 |
msgstr "Changement d'état forcé" |
|
93 |
|
|
94 |
#: vigiboard/controllers/root.py:582 |
|
95 |
msgid "Acknowledgement change state" |
|
96 |
msgstr "Changement d'état d'acquittement" |
|
97 |
|
|
98 |
#: vigiboard/controllers/root.py:583 |
|
99 |
msgid "Ticket change notification" |
|
100 |
msgstr "Notification de changement de ticket" |
|
101 |
|
|
102 |
#: vigiboard/controllers/root.py:584 |
|
103 |
msgid "New occurrence" |
|
104 |
msgstr "Nouvelle occurrence" |
|
105 |
|
|
106 |
#: vigiboard/controllers/root.py:585 |
|
107 |
msgid "Nagios update state" |
|
108 |
msgstr "Mise à jour d'état par Nagios" |
|
109 |
|
|
110 |
#: vigiboard/controllers/root.py:605 |
|
75 | 111 |
#, python-format |
76 | 112 |
msgid "" |
77 | 113 |
"User \"%(user)s\" (%(address)s) changed the trouble ticket from " |
... | ... | |
80 | 116 |
"L'utilisateur \"%(user)s\" (%(address)s) a changé le ticket d'incident de" |
81 | 117 |
" l'événement n°%(idevent)d de \"%(previous)s\" vers \"%(new)s\"" |
82 | 118 |
|
83 |
#: vigiboard/controllers/root.py:617
|
|
119 |
#: vigiboard/controllers/root.py:650
|
|
84 | 120 |
#, python-format |
85 | 121 |
msgid "User \"%(user)s\" (%(address)s) forcefully closed event #%(idevent)d" |
86 | 122 |
msgstr "" |
87 | 123 |
"L'utilisateur \"%(user)s\" (%(address)s) a forcé la fermeture de " |
88 | 124 |
"l'événement #%(idevent)d" |
89 | 125 |
|
90 |
#: vigiboard/controllers/root.py:637 |
|
126 |
#: vigiboard/controllers/root.py:666 |
|
127 |
msgid "Forced" |
|
128 |
msgstr "Forcé" |
|
129 |
|
|
130 |
#: vigiboard/controllers/root.py:684 |
|
91 | 131 |
#, python-format |
92 | 132 |
msgid "" |
93 | 133 |
"User \"%(user)s\" (%(address)s) changed the state from \"%(previous)s\" " |
... | ... | |
96 | 136 |
"L'utilisateur \"%(user)s\" (%(address)s) a changé l'état de l'événement " |
97 | 137 |
"n°%(idevent)d de \"%(previous)s\" vers \"%(new)s\"" |
98 | 138 |
|
99 |
#: vigiboard/controllers/root.py:649
|
|
139 |
#: vigiboard/controllers/root.py:696
|
|
100 | 140 |
msgid "Updated successfully" |
101 | 141 |
msgstr "Mise à jour réussie" |
102 | 142 |
|
103 |
#: vigiboard/controllers/root.py:674
|
|
143 |
#: vigiboard/controllers/root.py:721
|
|
104 | 144 |
#, python-format |
105 | 145 |
msgid "No such plugin '%s'" |
106 | 146 |
msgstr "Module introuvable \"%s\"" |
107 | 147 |
|
108 |
#: vigiboard/controllers/root.py:717
|
|
148 |
#: vigiboard/controllers/root.py:764
|
|
109 | 149 |
msgid "No such incident or insufficient permissions" |
110 | 150 |
msgstr "Aucun incident correspondant ou permissions insuffisantes" |
111 | 151 |
|
112 |
#: vigiboard/controllers/root.py:829
|
|
152 |
#: vigiboard/controllers/root.py:876
|
|
113 | 153 |
#, python-format |
114 | 154 |
msgid "Next %(limit)s" |
115 | 155 |
msgstr "%(limit)s suivants" |
116 | 156 |
|
117 |
#: vigiboard/controllers/vigiboard_controller.py:55 |
|
118 |
msgid "Wrong credentials" |
|
119 |
msgstr "Identifiant ou mot de passe incorrect" |
|
120 |
|
|
121 |
#: vigiboard/controllers/vigiboard_controller.py:69 |
|
122 |
#, python-format |
|
123 |
msgid "\"%(username)s\" logged in (from %(IP)s)" |
|
124 |
msgstr "\"%(username)s\" s'est connecté (depuis %(IP)s)" |
|
125 |
|
|
126 |
#: vigiboard/controllers/vigiboard_controller.py:73 |
|
127 |
#, python-format |
|
128 |
msgid "Welcome back, %s!" |
|
129 |
msgstr "Bienvenue, %s!" |
|
130 |
|
|
131 |
#: vigiboard/controllers/vigiboard_controller.py:82 |
|
132 |
#, python-format |
|
133 |
msgid "Some user logged out (from %(IP)s)" |
|
134 |
msgstr "Un utilisateur s'est déconnecté (depuis %(IP)s)" |
|
135 |
|
|
136 |
#: vigiboard/controllers/vigiboard_controller.py:85 |
|
137 |
msgid "We hope to see you soon!" |
|
138 |
msgstr "Nous espérons vous revoir bientôt!" |
|
139 |
|
|
140 | 157 |
#. TRANSLATORS: Format de date et heure Python/JavaScript. |
141 | 158 |
#. TRANSLATORS: |
142 | 159 |
#. http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_5.3.5 |
... | ... | |
193 | 210 |
msgid "All alerts" |
194 | 211 |
msgstr "Toutes les alertes" |
195 | 212 |
|
196 |
#: vigiboard/controllers/plugins/status.py:52
|
|
213 |
#: vigiboard/controllers/plugins/status.py:54
|
|
197 | 214 |
msgid "New alerts" |
198 | 215 |
msgstr "Nouvelles alertes" |
199 | 216 |
|
200 |
#: vigiboard/controllers/plugins/status.py:53
|
|
217 |
#: vigiboard/controllers/plugins/status.py:55
|
|
201 | 218 |
msgid "Alerts marked as Acknowledged" |
202 | 219 |
msgstr "Alertes « Prises en compte »" |
203 | 220 |
|
204 |
#: vigiboard/controllers/plugins/status.py:54
|
|
221 |
#: vigiboard/controllers/plugins/status.py:56
|
|
205 | 222 |
msgid "Alerts marked as Closed" |
206 | 223 |
msgstr "Alertes « Fermées »" |
207 | 224 |
|
208 |
#: vigiboard/controllers/plugins/status.py:60
|
|
225 |
#: vigiboard/controllers/plugins/status.py:62
|
|
209 | 226 |
#: vigiboard/widgets/edit_event.py:58 |
210 | 227 |
msgid "Trouble Ticket" |
211 | 228 |
msgstr "Ticket d'incident" |
212 | 229 |
|
213 |
#: vigiboard/controllers/plugins/status.py:65
|
|
230 |
#: vigiboard/controllers/plugins/status.py:67
|
|
214 | 231 |
#: vigiboard/widgets/edit_event.py:61 |
215 | 232 |
msgid "Acknowledgement Status" |
216 | 233 |
msgstr "Statut d'acquittement" |
vigiboard/i18n/vigiboard.pot | ||
---|---|---|
1 | 1 |
# Translations template for vigilo-vigiboard. |
2 |
# Copyright (C) 2011 ORGANIZATION
|
|
2 |
# Copyright (C) 2012 ORGANIZATION
|
|
3 | 3 |
# This file is distributed under the same license as the vigilo-vigiboard |
4 | 4 |
# project. |
5 |
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
|
|
5 |
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
|
6 | 6 |
# |
7 | 7 |
#, fuzzy |
8 | 8 |
msgid "" |
9 | 9 |
msgstr "" |
10 |
"Project-Id-Version: vigilo-vigiboard 2.0.5\n"
|
|
10 |
"Project-Id-Version: vigilo-vigiboard 2.0.11\n"
|
|
11 | 11 |
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n" |
12 |
"POT-Creation-Date: 2011-08-28 16:29+0200\n"
|
|
12 |
"POT-Creation-Date: 2012-01-06 11:27+0100\n"
|
|
13 | 13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
14 | 14 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
15 | 15 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
... | ... | |
18 | 18 |
"Content-Transfer-Encoding: 8bit\n" |
19 | 19 |
"Generated-By: Babel 0.9.4\n" |
20 | 20 |
|
21 |
#: vigiboard/controllers/root.py:77 vigiboard/controllers/root.py:85
|
|
22 |
#: vigiboard/controllers/root.py:485
|
|
21 |
#: vigiboard/controllers/root.py:79 vigiboard/controllers/root.py:87
|
|
22 |
#: vigiboard/controllers/root.py:487
|
|
23 | 23 |
msgid "You need to be authenticated" |
24 | 24 |
msgstr "" |
25 | 25 |
|
26 |
#: vigiboard/controllers/root.py:88
|
|
26 |
#: vigiboard/controllers/root.py:90
|
|
27 | 27 |
msgid "You don't have access to VigiBoard" |
28 | 28 |
msgstr "" |
29 | 29 |
|
30 |
#: vigiboard/controllers/root.py:202 vigiboard/controllers/root.py:457
|
|
31 |
#: vigiboard/controllers/vigiboardrequest.py:458
|
|
30 |
#: vigiboard/controllers/root.py:204 vigiboard/controllers/root.py:459
|
|
31 |
#: vigiboard/controllers/vigiboardrequest.py:452
|
|
32 | 32 |
msgid "Apply" |
33 | 33 |
msgstr "" |
34 | 34 |
|
35 |
#: vigiboard/controllers/root.py:320
|
|
35 |
#: vigiboard/controllers/root.py:322
|
|
36 | 36 |
msgid "No masked event or access denied" |
37 | 37 |
msgstr "" |
38 | 38 |
|
39 |
#: vigiboard/controllers/root.py:374
|
|
39 |
#: vigiboard/controllers/root.py:376
|
|
40 | 40 |
msgid "No such event or access denied" |
41 | 41 |
msgstr "" |
42 | 42 |
|
43 |
#: vigiboard/controllers/root.py:424
|
|
43 |
#: vigiboard/controllers/root.py:426
|
|
44 | 44 |
msgid "No such host/service" |
45 | 45 |
msgstr "" |
46 | 46 |
|
47 |
#: vigiboard/controllers/root.py:447
|
|
47 |
#: vigiboard/controllers/root.py:449
|
|
48 | 48 |
msgid "No access to this host/service or no event yet" |
49 | 49 |
msgstr "" |
50 | 50 |
|
51 |
#: vigiboard/controllers/root.py:488
|
|
51 |
#: vigiboard/controllers/root.py:490
|
|
52 | 52 |
msgid "You don't have write access to VigiBoard" |
53 | 53 |
msgstr "" |
54 | 54 |
|
55 |
#: vigiboard/controllers/root.py:511
|
|
55 |
#: vigiboard/controllers/root.py:513
|
|
56 | 56 |
msgid "No event has been selected" |
57 | 57 |
msgstr "" |
58 | 58 |
|
59 |
#: vigiboard/controllers/root.py:534
|
|
59 |
#: vigiboard/controllers/root.py:536
|
|
60 | 60 |
msgid "" |
61 | 61 |
"Changes have occurred since the page was last displayed, your changes HAVE " |
62 | 62 |
"NOT been saved." |
63 | 63 |
msgstr "" |
64 | 64 |
|
65 |
#: vigiboard/controllers/root.py:540
|
|
65 |
#: vigiboard/controllers/root.py:542
|
|
66 | 66 |
msgid "No access to this event" |
67 | 67 |
msgstr "" |
68 | 68 |
|
69 |
#: vigiboard/controllers/root.py:547
|
|
69 |
#: vigiboard/controllers/root.py:549
|
|
70 | 70 |
msgid "You don't have administrative access to VigiBoard" |
71 | 71 |
msgstr "" |
72 | 72 |
|
73 |
#: vigiboard/controllers/root.py:571 |
|
74 |
msgid "None" |
|
75 |
msgstr "" |
|
76 |
|
|
77 |
#: vigiboard/controllers/root.py:572 |
|
78 |
msgid "Acknowledged" |
|
79 |
msgstr "" |
|
80 |
|
|
73 | 81 |
#: vigiboard/controllers/root.py:573 |
82 |
msgid "Acknowledged and closed" |
|
83 |
msgstr "" |
|
84 |
|
|
85 |
#: vigiboard/controllers/root.py:580 |
|
86 |
msgid "Ticket change" |
|
87 |
msgstr "" |
|
88 |
|
|
89 |
#: vigiboard/controllers/root.py:581 |
|
90 |
msgid "Forced change state" |
|
91 |
msgstr "" |
|
92 |
|
|
93 |
#: vigiboard/controllers/root.py:582 |
|
94 |
msgid "Acknowledgement change state" |
|
95 |
msgstr "" |
|
96 |
|
|
97 |
#: vigiboard/controllers/root.py:583 |
|
98 |
msgid "Ticket change notification" |
|
99 |
msgstr "" |
|
100 |
|
|
101 |
#: vigiboard/controllers/root.py:584 |
|
102 |
msgid "New occurrence" |
|
103 |
msgstr "" |
|
104 |
|
|
105 |
#: vigiboard/controllers/root.py:585 |
|
106 |
msgid "Nagios update state" |
|
107 |
msgstr "" |
|
108 |
|
|
109 |
#: vigiboard/controllers/root.py:605 |
|
74 | 110 |
#, python-format |
75 | 111 |
msgid "" |
76 | 112 |
"User \"%(user)s\" (%(address)s) changed the trouble ticket from " |
77 | 113 |
"\"%(previous)s\" to \"%(new)s\" on event #%(idevent)d" |
78 | 114 |
msgstr "" |
79 | 115 |
|
80 |
#: vigiboard/controllers/root.py:617
|
|
116 |
#: vigiboard/controllers/root.py:650
|
|
81 | 117 |
#, python-format |
82 | 118 |
msgid "User \"%(user)s\" (%(address)s) forcefully closed event #%(idevent)d" |
83 | 119 |
msgstr "" |
84 | 120 |
|
85 |
#: vigiboard/controllers/root.py:637 |
|
121 |
#: vigiboard/controllers/root.py:666 |
|
122 |
msgid "Forced" |
|
123 |
msgstr "" |
|
124 |
|
|
125 |
#: vigiboard/controllers/root.py:684 |
|
86 | 126 |
#, python-format |
87 | 127 |
msgid "" |
88 | 128 |
"User \"%(user)s\" (%(address)s) changed the state from \"%(previous)s\" to " |
89 | 129 |
"\"%(new)s\" on event #%(idevent)d" |
90 | 130 |
msgstr "" |
91 | 131 |
|
92 |
#: vigiboard/controllers/root.py:649
|
|
132 |
#: vigiboard/controllers/root.py:696
|
|
93 | 133 |
msgid "Updated successfully" |
94 | 134 |
msgstr "" |
95 | 135 |
|
96 |
#: vigiboard/controllers/root.py:674
|
|
136 |
#: vigiboard/controllers/root.py:721
|
|
97 | 137 |
#, python-format |
98 | 138 |
msgid "No such plugin '%s'" |
99 | 139 |
msgstr "" |
100 | 140 |
|
101 |
#: vigiboard/controllers/root.py:717
|
|
141 |
#: vigiboard/controllers/root.py:764
|
|
102 | 142 |
msgid "No such incident or insufficient permissions" |
103 | 143 |
msgstr "" |
104 | 144 |
|
105 |
#: vigiboard/controllers/root.py:829
|
|
145 |
#: vigiboard/controllers/root.py:876
|
|
106 | 146 |
#, python-format |
107 | 147 |
msgid "Next %(limit)s" |
108 | 148 |
msgstr "" |
109 | 149 |
|
110 |
#: vigiboard/controllers/vigiboard_controller.py:55 |
|
111 |
msgid "Wrong credentials" |
|
112 |
msgstr "" |
|
113 |
|
|
114 |
#: vigiboard/controllers/vigiboard_controller.py:69 |
|
115 |
#, python-format |
|
116 |
msgid "\"%(username)s\" logged in (from %(IP)s)" |
|
117 |
msgstr "" |
|
118 |
|
|
119 |
#: vigiboard/controllers/vigiboard_controller.py:73 |
|
120 |
#, python-format |
|
121 |
msgid "Welcome back, %s!" |
|
122 |
msgstr "" |
|
123 |
|
|
124 |
#: vigiboard/controllers/vigiboard_controller.py:82 |
|
125 |
#, python-format |
|
126 |
msgid "Some user logged out (from %(IP)s)" |
|
127 |
msgstr "" |
|
128 |
|
|
129 |
#: vigiboard/controllers/vigiboard_controller.py:85 |
|
130 |
msgid "We hope to see you soon!" |
|
131 |
msgstr "" |
|
132 |
|
|
133 | 150 |
#. TRANSLATORS: Format de date et heure Python/JavaScript. |
134 | 151 |
#. TRANSLATORS: |
135 | 152 |
#. http://www.dynarch.com/static/jscalendar-1.0/doc/html/reference.html#node_sec_5.3.5 |
... | ... | |
186 | 203 |
msgid "All alerts" |
187 | 204 |
msgstr "" |
188 | 205 |
|
189 |
#: vigiboard/controllers/plugins/status.py:52
|
|
206 |
#: vigiboard/controllers/plugins/status.py:54
|
|
190 | 207 |
msgid "New alerts" |
191 | 208 |
msgstr "" |
192 | 209 |
|
193 |
#: vigiboard/controllers/plugins/status.py:53
|
|
210 |
#: vigiboard/controllers/plugins/status.py:55
|
|
194 | 211 |
msgid "Alerts marked as Acknowledged" |
195 | 212 |
msgstr "" |
196 | 213 |
|
197 |
#: vigiboard/controllers/plugins/status.py:54
|
|
214 |
#: vigiboard/controllers/plugins/status.py:56
|
|
198 | 215 |
msgid "Alerts marked as Closed" |
199 | 216 |
msgstr "" |
200 | 217 |
|
201 |
#: vigiboard/controllers/plugins/status.py:60 vigiboard/widgets/edit_event.py:58
|
|
218 |
#: vigiboard/controllers/plugins/status.py:62 vigiboard/widgets/edit_event.py:58
|
|
202 | 219 |
msgid "Trouble Ticket" |
203 | 220 |
msgstr "" |
204 | 221 |
|
205 |
#: vigiboard/controllers/plugins/status.py:65 vigiboard/widgets/edit_event.py:61
|
|
222 |
#: vigiboard/controllers/plugins/status.py:67 vigiboard/widgets/edit_event.py:61
|
|
206 | 223 |
msgid "Acknowledgement Status" |
207 | 224 |
msgstr "" |
208 | 225 |
|
vigiboard/tests/functional/plugins/test_details_plugin.py | ||
---|---|---|
81 | 81 |
impact=42, |
82 | 82 |
priority=42, |
83 | 83 |
trouble_ticket=None, |
84 |
status=u'None',
|
|
84 |
ack=CorrEvent.ACK_NONE,
|
|
85 | 85 |
occurrence=42, |
86 | 86 |
timestamp_active=timestamp, |
87 | 87 |
cause=event, |
vigiboard/tests/functional/plugins/test_plugin_hls.py | ||
---|---|---|
63 | 63 |
idcause = event1.idevent, |
64 | 64 |
timestamp_active = datetime.now(), |
65 | 65 |
priority = 1, |
66 |
status = u'None')
|
|
66 |
ack = CorrEvent.ACK_NONE)
|
|
67 | 67 |
aggregate.events.append(event1) |
68 | 68 |
DBSession.add(aggregate) |
69 | 69 |
DBSession.flush() |
vigiboard/tests/functional/test_history_table.py | ||
---|---|---|
95 | 95 |
idcause = event.idevent, |
96 | 96 |
timestamp_active = datetime.now(), |
97 | 97 |
priority = 1, |
98 |
status = u"None")
|
|
98 |
ack = CorrEvent.ACK_NONE)
|
|
99 | 99 |
aggregate.events.append(event) |
100 | 100 |
DBSession.add(aggregate) |
101 | 101 |
DBSession.flush() |
vigiboard/tests/functional/test_raw_events_table.py | ||
---|---|---|
116 | 116 |
idcause = event.idevent, |
117 | 117 |
timestamp_active = datetime.now(), |
118 | 118 |
priority = 1, |
119 |
status = u"None")
|
|
119 |
ack = CorrEvent.ACK_NONE)
|
|
120 | 120 |
aggregate.events.append(event) |
121 | 121 |
DBSession.add(aggregate) |
122 | 122 |
DBSession.flush() |
vigiboard/tests/functional/test_root.py | ||
---|---|---|
88 | 88 |
return ([host1, host2], [service1, service2]) |
89 | 89 |
|
90 | 90 |
def add_correvent_caused_by(supitem, timestamp, |
91 |
correvent_status=u"None", event_status=u"WARNING"):
|
|
91 |
correvent_status=CorrEvent.ACK_NONE, event_status=u"WARNING"):
|
|
92 | 92 |
""" |
93 | 93 |
Ajoute dans la base de données un évènement corrélé causé |
94 | 94 |
par un incident survenu sur l'item passé en paramètre. |
... | ... | |
110 | 110 |
idcause = event.idevent, |
111 | 111 |
timestamp_active = timestamp, |
112 | 112 |
priority = 1, |
113 |
status = correvent_status)
|
|
113 |
ack = correvent_status)
|
|
114 | 114 |
aggregate.events.append(event) |
115 | 115 |
DBSession.add(aggregate) |
116 | 116 |
DBSession.flush() |
... | ... | |
370 | 370 |
# On s'assure que le statut de l'évènement corrélé |
371 | 371 |
# a bien été mis à jour dans la base de données. |
372 | 372 |
correvents = DBSession.query( |
373 |
CorrEvent.status
|
|
373 |
CorrEvent.ack
|
|
374 | 374 |
).filter(CorrEvent.idcorrevent.in_([correvent1_id, correvent2_id]) |
375 | 375 |
).all() |
376 |
assert_equal(correvents[0].status, u'Acknowledged')
|
|
377 |
assert_equal(correvents[1].status, u'Acknowledged')
|
|
376 |
assert_equal(correvents[0].ack, CorrEvent.ACK_KNOWN)
|
|
377 |
assert_equal(correvents[1].ack, CorrEvent.ACK_KNOWN)
|
|
378 | 378 |
|
379 | 379 |
|
380 | 380 |
def test_update_service_correvents_tickets(self): |
... | ... | |
444 | 444 |
# On s'assure que le statut de l'évènement corrélé |
445 | 445 |
# a bien été mis à jour dans la base de données. |
446 | 446 |
correvents = DBSession.query( |
447 |
CorrEvent.status
|
|
447 |
CorrEvent.ack
|
|
448 | 448 |
).filter(CorrEvent.idcorrevent.in_([correvent1_id, correvent2_id]) |
449 | 449 |
).all() |
450 |
assert_equal(correvents[0].status, u'Acknowledged')
|
|
451 |
assert_equal(correvents[1].status, u'Acknowledged')
|
|
450 |
assert_equal(correvents[0].ack, CorrEvent.ACK_KNOWN)
|
|
451 |
assert_equal(correvents[1].ack, CorrEvent.ACK_KNOWN)
|
|
452 | 452 |
|
453 | 453 |
def test_update_while_data_have_changed(self): |
454 | 454 |
"""Màj d'un évènement corrélé modifié entre temps.""" |
... | ... | |
502 | 502 |
# On s'assure que le statut de l'évènement corrélé |
503 | 503 |
# n'a pas été modifié dans la base de données. |
504 | 504 |
status = DBSession.query( |
505 |
CorrEvent.status
|
|
505 |
CorrEvent.ack
|
|
506 | 506 |
).filter(CorrEvent.idcorrevent == correvent1_id |
507 | 507 |
).scalar() |
508 |
assert_equal(status, u'None')
|
|
508 |
assert_equal(status, CorrEvent.ACK_NONE)
|
|
509 | 509 |
|
510 | 510 |
def test_close_last_page(self): |
511 | 511 |
""" |
vigiboard/tests/functional/test_search_form_host.py | ||
---|---|---|
53 | 53 |
impact=42, |
54 | 54 |
priority=42, |
55 | 55 |
trouble_ticket=None, |
56 |
status=u'None',
|
|
56 |
ack=CorrEvent.ACK_NONE,
|
|
57 | 57 |
occurrence=42, |
58 | 58 |
timestamp_active=timestamp, |
59 | 59 |
cause=event, |
vigiboard/tests/functional/test_search_form_misc.py | ||
---|---|---|
52 | 52 |
impact=42, |
53 | 53 |
priority=42, |
54 | 54 |
trouble_ticket=u'FOO BAR BAZ', |
55 |
status=u'None',
|
|
55 |
ack=CorrEvent.ACK_NONE,
|
|
56 | 56 |
occurrence=42, |
57 | 57 |
timestamp_active=timestamp, |
58 | 58 |
cause=event, |
vigiboard/tests/functional/test_search_form_service.py | ||
---|---|---|
69 | 69 |
impact=42, |
70 | 70 |
priority=42, |
71 | 71 |
trouble_ticket=None, |
72 |
status=u'None',
|
|
72 |
ack=CorrEvent.ACK_NONE,
|
|
73 | 73 |
occurrence=42, |
74 | 74 |
timestamp_active=timestamp, |
75 | 75 |
cause=event, |
vigiboard/tests/functional/utils.py | ||
---|---|---|
150 | 150 |
aggregate_template = { |
151 | 151 |
'timestamp_active': datetime.now(), |
152 | 152 |
'priority': 1, |
153 |
'status': u'None',
|
|
153 |
'ack': CorrEvent.ACK_NONE,
|
|
154 | 154 |
} |
155 | 155 |
|
156 | 156 |
aggregate1 = CorrEvent( |
... | ... | |
178 | 178 |
DBSession.flush() |
179 | 179 |
|
180 | 180 |
transaction.commit() |
181 |
|
Also available in: Unified diff