Project

General

Profile

Revision 4cd0f170

ID4cd0f170a794f4d9b74f884dd726dc4c81da8d9e
Parent ec5e7a22
Child 873b686a

Added by Yves OUATTARA about 9 years ago

[#1316] Contrôles sur les dates dans le formulaire

Ajout de contrôles sur les dates du formulaire de recherche dans
VigiBoard.

[+] Ajout de tests unitaires

Change-Id: I276cbc547a1bb09b32b7e794c7479913bb3d371e
Refs: #1316
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1716
Tested-by: Build system <>
Reviewed-by: Thomas BURGUIERE <>

View differences:

vigiboard/controllers/plugins/date.py
29 29
from vigilo.models import tables
30 30

  
31 31
from vigiboard.controllers.plugins import VigiboardRequestPlugin, ITEMS
32
from vigiboard.lib import dateformat
32
from vigiboard.lib import dateformat, error_handler
33 33

  
34 34

  
35 35
class ExampleDateFormat(object):
......
103 103
        if search.get('from_date'):
104 104
            query.add_filter(tables.CorrEvent.timestamp_active >=
105 105
                search['from_date'])
106

  
107
            # Ajout de contrôles sur la date de début
108
            if search['from_date'] >= datetime.now():
109
                error_handler.handle_error_message(
110
                    _('Start date cannot be greater than current date'))
111

  
112
            if search.get('to_date') and \
113
               search['from_date'] > search['to_date']:
114
                error_handler.handle_error_message(
115
                    _('Start date cannot be greater than end date'))
116

  
106 117
        if search.get('to_date'):
107 118
            query.add_filter(tables.CorrEvent.timestamp_active <=
108 119
                search['to_date'])
109 120

  
121
            # Ajout de contrôles sur la date de fin
122
            if search['to_date'] >= datetime.now():
123
                error_handler.handle_error_message(
124
                    _('End date cannot be greater than current date'))
125

  
110 126
    def get_data(self, event):
111 127
        state = tables.StateName.value_to_statename(
112 128
                    event[0].cause.current_state)
vigiboard/controllers/silence.py
51 51

  
52 52
from vigilo.models.utils import group_concat
53 53

  
54
from vigiboard.lib import error_handler
55

  
54 56
import logging
55 57

  
56 58
LOGGER = logging.getLogger(__name__)
......
73 75
            msg=l_("Insufficient privileges for this action"))
74 76
    )
75 77

  
76
    def handle_error_message(self, message, redirection_url='./'):
77
        """
78
        Affiche le message dans l'IHM, l'enregistre dans les logs
79
        et renvoie le navigateur vers l'URL de redirection.
80

  
81
        @param message: message d'erreur à afficher
82
        @type  message: C{str}
83
        @param redirection_url: (optionnel) URL de redirection
84
        @type  redirection_url: C{str}
85
        """
86
        LOGGER.error(message)
87
        flash(message, 'error')
88
        redirect(redirection_url)
89

  
90 78
    def process_form_errors(self, *argv, **kwargv):
91 79
        """
92 80
        Gestion des erreurs de validation : on affiche les erreurs
......
175 163
        else:
176 164
            msg = _("Another rule already exists for host '%s'.") % (
177 165
                silence.supitem.name)
178
        self.handle_error_message(msg)
166
        error_handler.handle_error_message(msg)
179 167

  
180 168
    class IndexSchema(schema.Schema):
181 169
        """Schéma de validation de la méthode index."""
......
312 300
        except InvalidRequestError, e:
313 301
            msg = _('An exception has been raised while ' \
314 302
                    'querying the database: %s') % str(e)
315
            self.handle_error_message(msg)
303
            error_handler.handle_error_message(msg)
316 304
        if not silence:
317 305
            msg = _("Silence rule #%s does not exist.") % id
318
            self.handle_error_message(msg)
306
            error_handler.handle_error_message(msg)
319 307

  
320 308
        # On s'assure que l'utilisateur dispose bien des permissions sur le
321 309
        # supitem considéré
322 310
        user = get_current_user()
323 311
        if not silence.supitem.is_allowed_for(user):
324 312
            msg = _("Silence rule #%s does not exist.") % id
325
            self.handle_error_message(msg)
313
            error_handler.handle_error_message(msg)
326 314

  
327 315
        if hasattr(silence.supitem, 'servicename'):
328 316
            hostname = silence.supitem.host.name
......
393 381
        # TODO: Faire ce traitement dans le schéma de validation
394 382
        if not states:
395 383
            msg = _('No state specified for the silence rule.')
396
            self.handle_error_message(msg)
384
            error_handler.handle_error_message(msg)
397 385
        states = list(states)
398 386

  
399 387
        # On récupère le nom et l'IP de l'utilisateur.
......
411 399
            except InvalidRequestError, e:
412 400
                msg = _('An exception has been raised while ' \
413 401
                        'querying the database: %s') % str(e)
414
                self.handle_error_message(msg)
402
                error_handler.handle_error_message(msg)
415 403
        if not idsupitem or not supitem.is_allowed_for(user):
416 404
            if not service:
417 405
                msg = _("Host '%s' does not exist.") % host
418
                self.handle_error_message(msg)
406
                error_handler.handle_error_message(msg)
419 407
            else:
420 408
                msg = _("Service '%s' does not exist for host '%s'."
421 409
                    ) % (service, host)
422
                self.handle_error_message(msg)
410
                error_handler.handle_error_message(msg)
423 411

  
424 412
        # On distingue mise à jour et création :
425 413

  
......
433 421
            except InvalidRequestError, e:
434 422
                msg = _('An exception has been raised while ' \
435 423
                        'querying the database: %s') % str(e)
436
                self.handle_error_message(msg)
424
                error_handler.handle_error_message(msg)
437 425
            if not silence:
438 426
                msg = _("Silence rule #%s does not exist.") % idsilence
439
                self.handle_error_message(msg)
427
                error_handler.handle_error_message(msg)
440 428

  
441 429
            # - Si le supitem a été modifié, on vérifie qu'aucune
442 430
            #   autre règle n'existe pour le nouveau supitem
......
471 459
        except (IntegrityError, InvalidRequestError), e:
472 460
            msg = _('An exception has been raised while ' \
473 461
                    'updating the database: %s') % str(e)
474
            self.handle_error_message(msg)
462
            error_handler.handle_error_message(msg)
475 463

  
476 464
        # On notifie l'opération dans les logs, on affiche un message de
477 465
        # succès, et on redirige le navigateur vers la liste des règles de
......
572 560
        # TODO: Faire ce traitement dans le schéma de validation
573 561
        if not id:
574 562
            msg = _('No silence rule id specified.')
575
            self.handle_error_message(msg)
563
            error_handler.handle_error_message(msg)
576 564
        id = list(id)
577 565

  
578 566
        # On recherche les règles dans la BDD.
......
582 570
        except InvalidRequestError, e:
583 571
            msg = _('An exception has been raised while ' \
584 572
                    'querying the database: %s') % str(e)
585
            self.handle_error_message(msg)
573
            error_handler.handle_error_message(msg)
586 574

  
587 575
        # On s'assure que toutes les règles ont bien été trouvées dans la
588 576
        # base, faute de quoi on lève une erreur et on arrête le traitement
......
595 583
            else:
596 584
                msg = _('Error: silence rule #%s does not exist.'
597 585
                    ) % ", ".join(str(i) for i in missing_ids)
598
            self.handle_error_message(msg)
586
            error_handler.handle_error_message(msg)
599 587

  
600 588
        # On s'assure que l'utilisateur dispose bien des permissions nécessaires
601 589
        # pour supprimer chacune des règles
......
603 591
        for s in silences:
604 592
            if not s.supitem.is_allowed_for(user):
605 593
                msg = _("Silence rule #%s does not exist.") % s.idsilence
606
                self.handle_error_message(msg)
594
                error_handler.handle_error_message(msg)
607 595

  
608 596
        # On supprime les règles dans la BDD.
609 597
        try:
......
613 601
        except InvalidRequestError, e:
614 602
            msg = _('An exception has been raised while ' \
615 603
                    'deleting the silence rules: %s') % str(e)
616
            self.handle_error_message(msg)
604
            error_handler.handle_error_message(msg)
617 605

  
618 606
        # On notifie l'opération dans les logs
619 607
        user_name = user.user_name
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: 2015-04-21 11:49+0200\n"
11
"PO-Revision-Date: 2015-04-23 18:04+0200\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"
......
23 23
msgstr ""
24 24

  
25 25
#: vigiboard/controllers/root.py:89 vigiboard/controllers/root.py:99
26
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:70
26
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:72
27 27
msgid "You need to be authenticated"
28 28
msgstr "Sie müssen sich authentifizieren"
29 29

  
......
126 126
msgid "Next %(limit)s"
127 127
msgstr ""
128 128

  
129
#: vigiboard/controllers/silence.py:73
129
#: vigiboard/controllers/silence.py:75
130 130
msgid "Insufficient privileges for this action"
131 131
msgstr ""
132 132

  
133
#: vigiboard/controllers/silence.py:172
133
#: vigiboard/controllers/silence.py:160
134 134
#, python-format
135 135
msgid "Another rule already exists for service '%s' on host '%s'."
136 136
msgstr ""
137 137

  
138
#: vigiboard/controllers/silence.py:176
138
#: vigiboard/controllers/silence.py:164
139 139
#, python-format
140 140
msgid "Another rule already exists for host '%s'."
141 141
msgstr ""
142 142

  
143
#: vigiboard/controllers/silence.py:258
143
#: vigiboard/controllers/silence.py:246
144 144
#: vigiboard/controllers/plugins/hostname.py:38
145 145
msgid "Host"
146 146
msgstr "Host"
147 147

  
148
#: vigiboard/controllers/silence.py:259
148
#: vigiboard/controllers/silence.py:247
149 149
#: vigiboard/controllers/plugins/servicename.py:41
150 150
msgid "Service"
151 151
msgstr "Service"
152 152

  
153
#: vigiboard/controllers/silence.py:260
153
#: vigiboard/controllers/silence.py:248
154 154
msgid "States"
155 155
msgstr ""
156 156

  
157
#: vigiboard/controllers/silence.py:261
157
#: vigiboard/controllers/silence.py:249
158 158
msgid "Last modification"
159 159
msgstr ""
160 160

  
161
#: vigiboard/controllers/silence.py:262
161
#: vigiboard/controllers/silence.py:250
162 162
msgid "Author"
163 163
msgstr ""
164 164

  
165
#: vigiboard/controllers/silence.py:263
165
#: vigiboard/controllers/silence.py:251
166 166
msgid "Comment"
167 167
msgstr ""
168 168

  
169
#: vigiboard/controllers/silence.py:313 vigiboard/controllers/silence.py:412
170
#: vigiboard/controllers/silence.py:434 vigiboard/controllers/silence.py:583
169
#: vigiboard/controllers/silence.py:301 vigiboard/controllers/silence.py:400
170
#: vigiboard/controllers/silence.py:422 vigiboard/controllers/silence.py:571
171 171
#, python-format
172 172
msgid "An exception has been raised while querying the database: %s"
173 173
msgstr ""
174 174

  
175
#: vigiboard/controllers/silence.py:317 vigiboard/controllers/silence.py:324
176
#: vigiboard/controllers/silence.py:438 vigiboard/controllers/silence.py:605
175
#: vigiboard/controllers/silence.py:305 vigiboard/controllers/silence.py:312
176
#: vigiboard/controllers/silence.py:426 vigiboard/controllers/silence.py:593
177 177
#, python-format
178 178
msgid "Silence rule #%s does not exist."
179 179
msgstr ""
180 180

  
181
#: vigiboard/controllers/silence.py:395
181
#: vigiboard/controllers/silence.py:383
182 182
msgid "No state specified for the silence rule."
183 183
msgstr ""
184 184

  
185
#: vigiboard/controllers/silence.py:417
185
#: vigiboard/controllers/silence.py:405
186 186
#, python-format
187 187
msgid "Host '%s' does not exist."
188 188
msgstr ""
189 189

  
190
#: vigiboard/controllers/silence.py:420
190
#: vigiboard/controllers/silence.py:408
191 191
#, python-format
192 192
msgid "Service '%s' does not exist for host '%s'."
193 193
msgstr ""
194 194

  
195
#: vigiboard/controllers/silence.py:472
195
#: vigiboard/controllers/silence.py:460
196 196
#, python-format
197 197
msgid "An exception has been raised while updating the database: %s"
198 198
msgstr ""
199 199

  
200
#: vigiboard/controllers/silence.py:482
200
#: vigiboard/controllers/silence.py:470
201 201
#, python-format
202 202
msgid ""
203 203
"User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for service "
204 204
"%(service)s on host %(host)s."
205 205
msgstr ""
206 206

  
207
#: vigiboard/controllers/silence.py:492
207
#: vigiboard/controllers/silence.py:480
208 208
#, python-format
209 209
msgid ""
210 210
"Silence rule #%(id)s (host: %(host)s, service: %(service)s) has been "
211 211
"successfully updated."
212 212
msgstr ""
213 213

  
214
#: vigiboard/controllers/silence.py:501
214
#: vigiboard/controllers/silence.py:489
215 215
#, python-format
216 216
msgid "User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for host %(host)s."
217 217
msgstr ""
218 218

  
219
#: vigiboard/controllers/silence.py:509
219
#: vigiboard/controllers/silence.py:497
220 220
#, python-format
221 221
msgid "Silence rule #%(id)s (host: %(host)s) has been successfully updated."
222 222
msgstr ""
223 223

  
224
#: vigiboard/controllers/silence.py:518
224
#: vigiboard/controllers/silence.py:506
225 225
#, python-format
226 226
msgid ""
227 227
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for service "
228 228
"%(service)s on host %(host)s."
229 229
msgstr ""
230 230

  
231
#: vigiboard/controllers/silence.py:528
231
#: vigiboard/controllers/silence.py:516
232 232
#, python-format
233 233
msgid ""
234 234
"A new silence rule (#%(id)s) has been added for service \"%(service)s\" "
235 235
"on host \"%(host)s\"."
236 236
msgstr ""
237 237

  
238
#: vigiboard/controllers/silence.py:536
238
#: vigiboard/controllers/silence.py:524
239 239
#, python-format
240 240
msgid ""
241 241
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for host "
242 242
"%(host)s."
243 243
msgstr ""
244 244

  
245
#: vigiboard/controllers/silence.py:544
245
#: vigiboard/controllers/silence.py:532
246 246
#, python-format
247 247
msgid "A new silence rule (#%(id)s) has been added for the host \"%(host)s\"."
248 248
msgstr ""
249 249

  
250
#: vigiboard/controllers/silence.py:574
250
#: vigiboard/controllers/silence.py:562
251 251
msgid "No silence rule id specified."
252 252
msgstr ""
253 253

  
254
#: vigiboard/controllers/silence.py:593
254
#: vigiboard/controllers/silence.py:581
255 255
#, python-format
256 256
msgid "Error: the following silence rules do not exist: %s."
257 257
msgstr ""
258 258

  
259
#: vigiboard/controllers/silence.py:596
259
#: vigiboard/controllers/silence.py:584
260 260
#, python-format
261 261
msgid "Error: silence rule #%s does not exist."
262 262
msgstr ""
263 263

  
264
#: vigiboard/controllers/silence.py:614
264
#: vigiboard/controllers/silence.py:602
265 265
#, python-format
266 266
msgid "An exception has been raised while deleting the silence rules: %s"
267 267
msgstr ""
268 268

  
269
#: vigiboard/controllers/silence.py:624
269
#: vigiboard/controllers/silence.py:612
270 270
#, python-format
271 271
msgid ""
272 272
"User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for service "
273 273
"%(service)s on host %(host)s"
274 274
msgstr ""
275 275

  
276
#: vigiboard/controllers/silence.py:636
276
#: vigiboard/controllers/silence.py:624
277 277
#, python-format
278 278
msgid "User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for host %(host)s"
279 279
msgstr ""
280 280

  
281
#: vigiboard/controllers/silence.py:647
281
#: vigiboard/controllers/silence.py:635
282 282
#, python-format
283 283
msgid "The following silence rules have been successfully deleted: %s."
284 284
msgstr ""
285 285

  
286
#: vigiboard/controllers/silence.py:650
286
#: vigiboard/controllers/silence.py:638
287 287
#, python-format
288 288
msgid "Silence rule #%s has been successfully deleted."
289 289
msgstr ""
......
311 311
msgid "And"
312 312
msgstr ""
313 313

  
314
#: vigiboard/controllers/plugins/date.py:109
315
msgid "Start date cannot be greater than current date"
316
msgstr ""
317

  
318
#: vigiboard/controllers/plugins/date.py:112
319
msgid "Start date cannot be greater than end date"
320
msgstr ""
321

  
322
#: vigiboard/controllers/plugins/date.py:120
323
msgid "End date cannot be greater than current date"
324
msgstr ""
325

  
314 326
#: vigiboard/controllers/plugins/details.py:195
315 327
#: vigiboard/controllers/plugins/state.py:47
316 328
msgid "Current state"
vigiboard/i18n/en/LC_MESSAGES/vigiboard.po
8 8
msgstr ""
9 9
"Project-Id-Version: vigilo-vigiboard 3.5\n"
10 10
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n"
11
"POT-Creation-Date: 2015-04-21 11:49+0200\n"
12
"PO-Revision-Date: 2015-04-21 11:49+0200\n"
11
"POT-Creation-Date: 2015-04-23 18:04+0200\n"
12
"PO-Revision-Date: 2015-04-23 18:04+0200\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"
......
24 24
msgstr "Vigilo has detected a breakdown on the following collector(s): %(list)s"
25 25

  
26 26
#: vigiboard/controllers/root.py:89 vigiboard/controllers/root.py:99
27
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:70
27
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:72
28 28
msgid "You need to be authenticated"
29 29
msgstr "You need to be authenticated"
30 30

  
......
130 130
msgid "Next %(limit)s"
131 131
msgstr "Next %(limit)s"
132 132

  
133
#: vigiboard/controllers/silence.py:73
133
#: vigiboard/controllers/silence.py:75
134 134
msgid "Insufficient privileges for this action"
135 135
msgstr "Insufficient privileges for this action"
136 136

  
137
#: vigiboard/controllers/silence.py:172
137
#: vigiboard/controllers/silence.py:160
138 138
#, python-format
139 139
msgid "Another rule already exists for service '%s' on host '%s'."
140 140
msgstr "Another rule already exists for service '%s' on host '%s'."
141 141

  
142
#: vigiboard/controllers/silence.py:176
142
#: vigiboard/controllers/silence.py:164
143 143
#, python-format
144 144
msgid "Another rule already exists for host '%s'."
145 145
msgstr "Another rule already exists for host '%s'."
146 146

  
147
#: vigiboard/controllers/silence.py:258
147
#: vigiboard/controllers/silence.py:246
148 148
#: vigiboard/controllers/plugins/hostname.py:38
149 149
msgid "Host"
150 150
msgstr "Host"
151 151

  
152
#: vigiboard/controllers/silence.py:259
152
#: vigiboard/controllers/silence.py:247
153 153
#: vigiboard/controllers/plugins/servicename.py:41
154 154
msgid "Service"
155 155
msgstr "Service"
156 156

  
157
#: vigiboard/controllers/silence.py:260
157
#: vigiboard/controllers/silence.py:248
158 158
msgid "States"
159 159
msgstr "States"
160 160

  
161
#: vigiboard/controllers/silence.py:261
161
#: vigiboard/controllers/silence.py:249
162 162
msgid "Last modification"
163 163
msgstr "Last modification"
164 164

  
165
#: vigiboard/controllers/silence.py:262
165
#: vigiboard/controllers/silence.py:250
166 166
msgid "Author"
167 167
msgstr "Author"
168 168

  
169
#: vigiboard/controllers/silence.py:263
169
#: vigiboard/controllers/silence.py:251
170 170
msgid "Comment"
171 171
msgstr "Comment"
172 172

  
173
#: vigiboard/controllers/silence.py:313 vigiboard/controllers/silence.py:412
174
#: vigiboard/controllers/silence.py:434 vigiboard/controllers/silence.py:583
173
#: vigiboard/controllers/silence.py:301 vigiboard/controllers/silence.py:400
174
#: vigiboard/controllers/silence.py:422 vigiboard/controllers/silence.py:571
175 175
#, python-format
176 176
msgid "An exception has been raised while querying the database: %s"
177 177
msgstr "An exception has been raised while querying the database: %s"
178 178

  
179
#: vigiboard/controllers/silence.py:317 vigiboard/controllers/silence.py:324
180
#: vigiboard/controllers/silence.py:438 vigiboard/controllers/silence.py:605
179
#: vigiboard/controllers/silence.py:305 vigiboard/controllers/silence.py:312
180
#: vigiboard/controllers/silence.py:426 vigiboard/controllers/silence.py:593
181 181
#, python-format
182 182
msgid "Silence rule #%s does not exist."
183 183
msgstr "Silence rule #%s does not exist."
184 184

  
185
#: vigiboard/controllers/silence.py:395
185
#: vigiboard/controllers/silence.py:383
186 186
msgid "No state specified for the silence rule."
187 187
msgstr "No state specified for the silence rule."
188 188

  
189
#: vigiboard/controllers/silence.py:417
189
#: vigiboard/controllers/silence.py:405
190 190
#, python-format
191 191
msgid "Host '%s' does not exist."
192 192
msgstr "Host '%s' does not exist."
193 193

  
194
#: vigiboard/controllers/silence.py:420
194
#: vigiboard/controllers/silence.py:408
195 195
#, python-format
196 196
msgid "Service '%s' does not exist for host '%s'."
197 197
msgstr "Service '%s' does not exist for host '%s'."
198 198

  
199
#: vigiboard/controllers/silence.py:472
199
#: vigiboard/controllers/silence.py:460
200 200
#, python-format
201 201
msgid "An exception has been raised while updating the database: %s"
202 202
msgstr "An exception has been raised while updating the database: %s"
203 203

  
204
#: vigiboard/controllers/silence.py:482
204
#: vigiboard/controllers/silence.py:470
205 205
#, python-format
206 206
msgid ""
207 207
"User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for service "
......
210 210
"User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for service "
211 211
"%(service)s on host %(host)s."
212 212

  
213
#: vigiboard/controllers/silence.py:492
213
#: vigiboard/controllers/silence.py:480
214 214
#, python-format
215 215
msgid ""
216 216
"Silence rule #%(id)s (host: %(host)s, service: %(service)s) has been "
......
219 219
"Silence rule #%(id)s (host: %(host)s, service: %(service)s) has been "
220 220
"successfully updated."
221 221

  
222
#: vigiboard/controllers/silence.py:501
222
#: vigiboard/controllers/silence.py:489
223 223
#, python-format
224 224
msgid "User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for host %(host)s."
225 225
msgstr "User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for host %(host)s."
226 226

  
227
#: vigiboard/controllers/silence.py:509
227
#: vigiboard/controllers/silence.py:497
228 228
#, python-format
229 229
msgid "Silence rule #%(id)s (host: %(host)s) has been successfully updated."
230 230
msgstr "Silence rule #%(id)s (host: %(host)s) has been successfully updated."
231 231

  
232
#: vigiboard/controllers/silence.py:518
232
#: vigiboard/controllers/silence.py:506
233 233
#, python-format
234 234
msgid ""
235 235
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for service "
......
238 238
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for service "
239 239
"%(service)s on host %(host)s."
240 240

  
241
#: vigiboard/controllers/silence.py:528
241
#: vigiboard/controllers/silence.py:516
242 242
#, python-format
243 243
msgid ""
244 244
"A new silence rule (#%(id)s) has been added for service \"%(service)s\" "
......
247 247
"A new silence rule (#%(id)s) has been added for service \"%(service)s\" "
248 248
"on host \"%(host)s\"."
249 249

  
250
#: vigiboard/controllers/silence.py:536
250
#: vigiboard/controllers/silence.py:524
251 251
#, python-format
252 252
msgid ""
253 253
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for host "
......
256 256
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for host "
257 257
"%(host)s."
258 258

  
259
#: vigiboard/controllers/silence.py:544
259
#: vigiboard/controllers/silence.py:532
260 260
#, python-format
261 261
msgid "A new silence rule (#%(id)s) has been added for the host \"%(host)s\"."
262 262
msgstr "A new silence rule (#%(id)s) has been added for the host \"%(host)s\"."
263 263

  
264
#: vigiboard/controllers/silence.py:574
264
#: vigiboard/controllers/silence.py:562
265 265
msgid "No silence rule id specified."
266 266
msgstr "No silence rule id specified."
267 267

  
268
#: vigiboard/controllers/silence.py:593
268
#: vigiboard/controllers/silence.py:581
269 269
#, python-format
270 270
msgid "Error: the following silence rules do not exist: %s."
271 271
msgstr "Error: the following silence rules do not exist: %s."
272 272

  
273
#: vigiboard/controllers/silence.py:596
273
#: vigiboard/controllers/silence.py:584
274 274
#, python-format
275 275
msgid "Error: silence rule #%s does not exist."
276 276
msgstr "Error: silence rule #%s does not exist."
277 277

  
278
#: vigiboard/controllers/silence.py:614
278
#: vigiboard/controllers/silence.py:602
279 279
#, python-format
280 280
msgid "An exception has been raised while deleting the silence rules: %s"
281 281
msgstr "An exception has been raised while deleting the silence rules: %s"
282 282

  
283
#: vigiboard/controllers/silence.py:624
283
#: vigiboard/controllers/silence.py:612
284 284
#, python-format
285 285
msgid ""
286 286
"User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for service "
......
289 289
"User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for service "
290 290
"%(service)s on host %(host)s"
291 291

  
292
#: vigiboard/controllers/silence.py:636
292
#: vigiboard/controllers/silence.py:624
293 293
#, python-format
294 294
msgid "User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for host %(host)s"
295 295
msgstr "User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for host %(host)s"
296 296

  
297
#: vigiboard/controllers/silence.py:647
297
#: vigiboard/controllers/silence.py:635
298 298
#, python-format
299 299
msgid "The following silence rules have been successfully deleted: %s."
300 300
msgstr "The following silence rules have been successfully deleted: %s."
301 301

  
302
#: vigiboard/controllers/silence.py:650
302
#: vigiboard/controllers/silence.py:638
303 303
#, python-format
304 304
msgid "Silence rule #%s has been successfully deleted."
305 305
msgstr "Silence rule #%s has been successfully deleted."
......
327 327
msgid "And"
328 328
msgstr "And"
329 329

  
330
#: vigiboard/controllers/plugins/date.py:109
331
msgid "Start date cannot be greater than current date"
332
msgstr "Start date cannot be greater than current date"
333

  
334
#: vigiboard/controllers/plugins/date.py:112
335
msgid "Start date cannot be greater than end date"
336
msgstr "Start date cannot be greater than end date"
337

  
338
#: vigiboard/controllers/plugins/date.py:120
339
msgid "End date cannot be greater than current date"
340
msgstr "End date cannot be greater than current date"
341

  
330 342
#: vigiboard/controllers/plugins/details.py:195
331 343
#: vigiboard/controllers/plugins/state.py:47
332 344
msgid "Current state"
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: 2015-04-21 11:49+0200\n"
11
"PO-Revision-Date: 2015-04-23 18:04+0200\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"
......
23 23
msgstr "Vigilo a détecté une panne sur le(s) collecteur(s) suivant(s) : %(list)s"
24 24

  
25 25
#: vigiboard/controllers/root.py:89 vigiboard/controllers/root.py:99
26
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:70
26
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:72
27 27
msgid "You need to be authenticated"
28 28
msgstr "Vous devez vous authentifier"
29 29

  
......
131 131
msgid "Next %(limit)s"
132 132
msgstr "%(limit)s suivants"
133 133

  
134
#: vigiboard/controllers/silence.py:73
134
#: vigiboard/controllers/silence.py:75
135 135
msgid "Insufficient privileges for this action"
136 136
msgstr "Droits insuffisants pour cette action"
137 137

  
138
#: vigiboard/controllers/silence.py:172
138
#: vigiboard/controllers/silence.py:160
139 139
#, python-format
140 140
msgid "Another rule already exists for service '%s' on host '%s'."
141 141
msgstr "Une autre règle existe déjà pour le service '%s' sur l'hôte '%s'."
142 142

  
143
#: vigiboard/controllers/silence.py:176
143
#: vigiboard/controllers/silence.py:164
144 144
#, python-format
145 145
msgid "Another rule already exists for host '%s'."
146 146
msgstr "Une autre règle existe déjà pour l'hôte '%s'."
147 147

  
148
#: vigiboard/controllers/silence.py:258
148
#: vigiboard/controllers/silence.py:246
149 149
#: vigiboard/controllers/plugins/hostname.py:38
150 150
msgid "Host"
151 151
msgstr "Hôte"
152 152

  
153
#: vigiboard/controllers/silence.py:259
153
#: vigiboard/controllers/silence.py:247
154 154
#: vigiboard/controllers/plugins/servicename.py:41
155 155
msgid "Service"
156 156
msgstr "Service"
157 157

  
158
#: vigiboard/controllers/silence.py:260
158
#: vigiboard/controllers/silence.py:248
159 159
msgid "States"
160 160
msgstr "États"
161 161

  
162
#: vigiboard/controllers/silence.py:261
162
#: vigiboard/controllers/silence.py:249
163 163
msgid "Last modification"
164 164
msgstr "Dernière modification"
165 165

  
166
#: vigiboard/controllers/silence.py:262
166
#: vigiboard/controllers/silence.py:250
167 167
msgid "Author"
168 168
msgstr "Auteur"
169 169

  
170
#: vigiboard/controllers/silence.py:263
170
#: vigiboard/controllers/silence.py:251
171 171
msgid "Comment"
172 172
msgstr "Commentaire"
173 173

  
174
#: vigiboard/controllers/silence.py:313 vigiboard/controllers/silence.py:412
175
#: vigiboard/controllers/silence.py:434 vigiboard/controllers/silence.py:583
174
#: vigiboard/controllers/silence.py:301 vigiboard/controllers/silence.py:400
175
#: vigiboard/controllers/silence.py:422 vigiboard/controllers/silence.py:571
176 176
#, python-format
177 177
msgid "An exception has been raised while querying the database: %s"
178 178
msgstr ""
179 179
"Une exception a été levée lors de l'interrogation de la base de données :"
180 180
" %s"
181 181

  
182
#: vigiboard/controllers/silence.py:317 vigiboard/controllers/silence.py:324
183
#: vigiboard/controllers/silence.py:438 vigiboard/controllers/silence.py:605
182
#: vigiboard/controllers/silence.py:305 vigiboard/controllers/silence.py:312
183
#: vigiboard/controllers/silence.py:426 vigiboard/controllers/silence.py:593
184 184
#, python-format
185 185
msgid "Silence rule #%s does not exist."
186 186
msgstr "La règle de silence #%s n'existe pas."
187 187

  
188
#: vigiboard/controllers/silence.py:395
188
#: vigiboard/controllers/silence.py:383
189 189
msgid "No state specified for the silence rule."
190 190
msgstr "Aucun état n'a été spécifié pour la règle de silence."
191 191

  
192
#: vigiboard/controllers/silence.py:417
192
#: vigiboard/controllers/silence.py:405
193 193
#, python-format
194 194
msgid "Host '%s' does not exist."
195 195
msgstr "L'hôte '%s' n'existe pas."
196 196

  
197
#: vigiboard/controllers/silence.py:420
197
#: vigiboard/controllers/silence.py:408
198 198
#, python-format
199 199
msgid "Service '%s' does not exist for host '%s'."
200 200
msgstr "Le service '%s' n'existe pas pour l'hôte '%s'."
201 201

  
202
#: vigiboard/controllers/silence.py:472
202
#: vigiboard/controllers/silence.py:460
203 203
#, python-format
204 204
msgid "An exception has been raised while updating the database: %s"
205 205
msgstr ""
206 206
"Une exception a été levée lors de la mise à jour de la base de données : "
207 207
"%s"
208 208

  
209
#: vigiboard/controllers/silence.py:482
209
#: vigiboard/controllers/silence.py:470
210 210
#, python-format
211 211
msgid ""
212 212
"User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for service "
......
215 215
"L'utilisateur %(user)s (IP : %(ip)s) a mis à jour la règle de silence "
216 216
"#%(id)s pour le service %(service)s sur l'hôte %(host)s."
217 217

  
218
#: vigiboard/controllers/silence.py:492
218
#: vigiboard/controllers/silence.py:480
219 219
#, python-format
220 220
msgid ""
221 221
"Silence rule #%(id)s (host: %(host)s, service: %(service)s) has been "
......
224 224
"La règle de silence #%(id)s (hôte : %(host)s, service : %(service)s) a "
225 225
"été mise à jour avec succès."
226 226

  
227
#: vigiboard/controllers/silence.py:501
227
#: vigiboard/controllers/silence.py:489
228 228
#, python-format
229 229
msgid "User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for host %(host)s."
230 230
msgstr ""
231 231
"L'utilisateur %(user)s (IP: %(ip)s) a mis à jour la règle de silence "
232 232
"#%(id)s pour l'hôte %(host)s."
233 233

  
234
#: vigiboard/controllers/silence.py:509
234
#: vigiboard/controllers/silence.py:497
235 235
#, python-format
236 236
msgid "Silence rule #%(id)s (host: %(host)s) has been successfully updated."
237 237
msgstr "La règle #%(id)s (hôte : %(host)s) a été mise à jour avec succès."
238 238

  
239
#: vigiboard/controllers/silence.py:518
239
#: vigiboard/controllers/silence.py:506
240 240
#, python-format
241 241
msgid ""
242 242
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for service "
......
245 245
"L'utilisateur %(user)s (IP: %(ip)s) a ajouté une règle de silence "
246 246
"(#%(id)s) pour le service %(service)s sur l'hôte %(host)s."
247 247

  
248
#: vigiboard/controllers/silence.py:528
248
#: vigiboard/controllers/silence.py:516
249 249
#, python-format
250 250
msgid ""
251 251
"A new silence rule (#%(id)s) has been added for service \"%(service)s\" "
......
254 254
"Une nouvelle règle de silence (#%(id)s) a été ajoutée pour le service "
255 255
"\"%(service)s\" sur l'hôte \"%(host)s\"."
256 256

  
257
#: vigiboard/controllers/silence.py:536
257
#: vigiboard/controllers/silence.py:524
258 258
#, python-format
259 259
msgid ""
260 260
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for host "
......
263 263
"L'utilisateur %(user)s (IP: %(ip)s) a ajouté une règle de silence "
264 264
"(#%(id)s) pour l'hôte %(host)s."
265 265

  
266
#: vigiboard/controllers/silence.py:544
266
#: vigiboard/controllers/silence.py:532
267 267
#, python-format
268 268
msgid "A new silence rule (#%(id)s) has been added for the host \"%(host)s\"."
269 269
msgstr ""
270 270
"Une nouvelle règle de silence (#%(id)s) a été ajoutée pour l'hôte "
271 271
"\"%(host)s\"."
272 272

  
273
#: vigiboard/controllers/silence.py:574
273
#: vigiboard/controllers/silence.py:562
274 274
msgid "No silence rule id specified."
275 275
msgstr "Aucun identifiant de règle de silence spécifié."
276 276

  
277
#: vigiboard/controllers/silence.py:593
277
#: vigiboard/controllers/silence.py:581
278 278
#, python-format
279 279
msgid "Error: the following silence rules do not exist: %s."
280 280
msgstr "Erreur : les règles de silence suivantes n'existent pas : %s."
281 281

  
282
#: vigiboard/controllers/silence.py:596
282
#: vigiboard/controllers/silence.py:584
283 283
#, python-format
284 284
msgid "Error: silence rule #%s does not exist."
285 285
msgstr "Erreur : la règle de silence #%s n'existe pas."
286 286

  
287
#: vigiboard/controllers/silence.py:614
287
#: vigiboard/controllers/silence.py:602
288 288
#, python-format
289 289
msgid "An exception has been raised while deleting the silence rules: %s"
290 290
msgstr ""
291 291
"Une exception a été levée lors de la suppression des règles de silence : "
292 292
"%s"
293 293

  
294
#: vigiboard/controllers/silence.py:624
294
#: vigiboard/controllers/silence.py:612
295 295
#, python-format
296 296
msgid ""
297 297
"User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for service "
......
300 300
"L'utilisateur %(user)s (IP: %(ip)s) a supprimé la règle de silence "
301 301
"#%(id)s pour le service %(service)s sur l'hôte %(host)s"
302 302

  
303
#: vigiboard/controllers/silence.py:636
303
#: vigiboard/controllers/silence.py:624
304 304
#, python-format
305 305
msgid "User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for host %(host)s"
306 306
msgstr ""
307 307
"L'utilisateur %(user)s (IP: %(ip)s) a supprimé la règle de silence "
308 308
"#%(id)s pour l'hôte %(host)s"
309 309

  
310
#: vigiboard/controllers/silence.py:647
310
#: vigiboard/controllers/silence.py:635
311 311
#, python-format
312 312
msgid "The following silence rules have been successfully deleted: %s."
313 313
msgstr "Les règles de silence suivantes ont été supprimées avec succès: %s."
314 314

  
315
#: vigiboard/controllers/silence.py:650
315
#: vigiboard/controllers/silence.py:638
316 316
#, python-format
317 317
msgid "Silence rule #%s has been successfully deleted."
318 318
msgstr "La règle de silence #%s a été supprimée avec succès."
......
340 340
msgid "And"
341 341
msgstr "Et"
342 342

  
343
#: vigiboard/controllers/plugins/date.py:109
344
msgid "Start date cannot be greater than current date"
345
msgstr "La date de début ne peut être supérieure à la date courante"
346

  
347
#: vigiboard/controllers/plugins/date.py:112
348
msgid "Start date cannot be greater than end date"
349
msgstr "La date de début ne peut être supérieure à la date de fin"
350

  
351
#: vigiboard/controllers/plugins/date.py:120
352
msgid "End date cannot be greater than current date"
353
msgstr "La date de fin ne peut être supérieure à la date courante"
354

  
343 355
#: vigiboard/controllers/plugins/details.py:195
344 356
#: vigiboard/controllers/plugins/state.py:47
345 357
msgid "Current state"
vigiboard/i18n/vigiboard.pot
9 9
msgstr ""
10 10
"Project-Id-Version: vigilo-vigiboard 3.5\n"
11 11
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n"
12
"POT-Creation-Date: 2015-04-21 11:49+0200\n"
12
"POT-Creation-Date: 2015-04-23 18:04+0200\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"
......
24 24
msgstr ""
25 25

  
26 26
#: vigiboard/controllers/root.py:89 vigiboard/controllers/root.py:99
27
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:70
27
#: vigiboard/controllers/root.py:582 vigiboard/controllers/silence.py:72
28 28
msgid "You need to be authenticated"
29 29
msgstr ""
30 30

  
......
124 124
msgid "Next %(limit)s"
125 125
msgstr ""
126 126

  
127
#: vigiboard/controllers/silence.py:73
127
#: vigiboard/controllers/silence.py:75
128 128
msgid "Insufficient privileges for this action"
129 129
msgstr ""
130 130

  
131
#: vigiboard/controllers/silence.py:172
131
#: vigiboard/controllers/silence.py:160
132 132
#, python-format
133 133
msgid "Another rule already exists for service '%s' on host '%s'."
134 134
msgstr ""
135 135

  
136
#: vigiboard/controllers/silence.py:176
136
#: vigiboard/controllers/silence.py:164
137 137
#, python-format
138 138
msgid "Another rule already exists for host '%s'."
139 139
msgstr ""
140 140

  
141
#: vigiboard/controllers/silence.py:258
141
#: vigiboard/controllers/silence.py:246
142 142
#: vigiboard/controllers/plugins/hostname.py:38
143 143
msgid "Host"
144 144
msgstr ""
145 145

  
146
#: vigiboard/controllers/silence.py:259
146
#: vigiboard/controllers/silence.py:247
147 147
#: vigiboard/controllers/plugins/servicename.py:41
148 148
msgid "Service"
149 149
msgstr ""
150 150

  
151
#: vigiboard/controllers/silence.py:260
151
#: vigiboard/controllers/silence.py:248
152 152
msgid "States"
153 153
msgstr ""
154 154

  
155
#: vigiboard/controllers/silence.py:261
155
#: vigiboard/controllers/silence.py:249
156 156
msgid "Last modification"
157 157
msgstr ""
158 158

  
159
#: vigiboard/controllers/silence.py:262
159
#: vigiboard/controllers/silence.py:250
160 160
msgid "Author"
161 161
msgstr ""
162 162

  
163
#: vigiboard/controllers/silence.py:263
163
#: vigiboard/controllers/silence.py:251
164 164
msgid "Comment"
165 165
msgstr ""
166 166

  
167
#: vigiboard/controllers/silence.py:313 vigiboard/controllers/silence.py:412
168
#: vigiboard/controllers/silence.py:434 vigiboard/controllers/silence.py:583
167
#: vigiboard/controllers/silence.py:301 vigiboard/controllers/silence.py:400
168
#: vigiboard/controllers/silence.py:422 vigiboard/controllers/silence.py:571
169 169
#, python-format
170 170
msgid "An exception has been raised while querying the database: %s"
171 171
msgstr ""
172 172

  
173
#: vigiboard/controllers/silence.py:317 vigiboard/controllers/silence.py:324
174
#: vigiboard/controllers/silence.py:438 vigiboard/controllers/silence.py:605
173
#: vigiboard/controllers/silence.py:305 vigiboard/controllers/silence.py:312
174
#: vigiboard/controllers/silence.py:426 vigiboard/controllers/silence.py:593
175 175
#, python-format
176 176
msgid "Silence rule #%s does not exist."
177 177
msgstr ""
178 178

  
179
#: vigiboard/controllers/silence.py:395
179
#: vigiboard/controllers/silence.py:383
180 180
msgid "No state specified for the silence rule."
181 181
msgstr ""
182 182

  
183
#: vigiboard/controllers/silence.py:417
183
#: vigiboard/controllers/silence.py:405
184 184
#, python-format
185 185
msgid "Host '%s' does not exist."
186 186
msgstr ""
187 187

  
188
#: vigiboard/controllers/silence.py:420
188
#: vigiboard/controllers/silence.py:408
189 189
#, python-format
190 190
msgid "Service '%s' does not exist for host '%s'."
191 191
msgstr ""
192 192

  
193
#: vigiboard/controllers/silence.py:472
193
#: vigiboard/controllers/silence.py:460
194 194
#, python-format
195 195
msgid "An exception has been raised while updating the database: %s"
196 196
msgstr ""
197 197

  
198
#: vigiboard/controllers/silence.py:482
198
#: vigiboard/controllers/silence.py:470
199 199
#, python-format
200 200
msgid ""
201 201
"User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for service "
202 202
"%(service)s on host %(host)s."
203 203
msgstr ""
204 204

  
205
#: vigiboard/controllers/silence.py:492
205
#: vigiboard/controllers/silence.py:480
206 206
#, python-format
207 207
msgid ""
208 208
"Silence rule #%(id)s (host: %(host)s, service: %(service)s) has been "
209 209
"successfully updated."
210 210
msgstr ""
211 211

  
212
#: vigiboard/controllers/silence.py:501
212
#: vigiboard/controllers/silence.py:489
213 213
#, python-format
214 214
msgid "User %(user)s (IP: %(ip)s) updated silence rule #%(id)s for host %(host)s."
215 215
msgstr ""
216 216

  
217
#: vigiboard/controllers/silence.py:509
217
#: vigiboard/controllers/silence.py:497
218 218
#, python-format
219 219
msgid "Silence rule #%(id)s (host: %(host)s) has been successfully updated."
220 220
msgstr ""
221 221

  
222
#: vigiboard/controllers/silence.py:518
222
#: vigiboard/controllers/silence.py:506
223 223
#, python-format
224 224
msgid ""
225 225
"User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for service "
226 226
"%(service)s on host %(host)s."
227 227
msgstr ""
228 228

  
229
#: vigiboard/controllers/silence.py:528
229
#: vigiboard/controllers/silence.py:516
230 230
#, python-format
231 231
msgid ""
232 232
"A new silence rule (#%(id)s) has been added for service \"%(service)s\" on "
233 233
"host \"%(host)s\"."
234 234
msgstr ""
235 235

  
236
#: vigiboard/controllers/silence.py:536
236
#: vigiboard/controllers/silence.py:524
237 237
#, python-format
238 238
msgid "User %(user)s (IP: %(ip)s) added a silence rule (#%(id)s) for host %(host)s."
239 239
msgstr ""
240 240

  
241
#: vigiboard/controllers/silence.py:544
241
#: vigiboard/controllers/silence.py:532
242 242
#, python-format
243 243
msgid "A new silence rule (#%(id)s) has been added for the host \"%(host)s\"."
244 244
msgstr ""
245 245

  
246
#: vigiboard/controllers/silence.py:574
246
#: vigiboard/controllers/silence.py:562
247 247
msgid "No silence rule id specified."
248 248
msgstr ""
249 249

  
250
#: vigiboard/controllers/silence.py:593
250
#: vigiboard/controllers/silence.py:581
251 251
#, python-format
252 252
msgid "Error: the following silence rules do not exist: %s."
253 253
msgstr ""
254 254

  
255
#: vigiboard/controllers/silence.py:596
255
#: vigiboard/controllers/silence.py:584
256 256
#, python-format
257 257
msgid "Error: silence rule #%s does not exist."
258 258
msgstr ""
259 259

  
260
#: vigiboard/controllers/silence.py:614
260
#: vigiboard/controllers/silence.py:602
261 261
#, python-format
262 262
msgid "An exception has been raised while deleting the silence rules: %s"
263 263
msgstr ""
264 264

  
265
#: vigiboard/controllers/silence.py:624
265
#: vigiboard/controllers/silence.py:612
266 266
#, python-format
267 267
msgid ""
268 268
"User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for service "
269 269
"%(service)s on host %(host)s"
270 270
msgstr ""
271 271

  
272
#: vigiboard/controllers/silence.py:636
272
#: vigiboard/controllers/silence.py:624
273 273
#, python-format
274 274
msgid "User %(user)s (IP: %(ip)s) deleted silence rule #%(id)s for host %(host)s"
275 275
msgstr ""
276 276

  
277
#: vigiboard/controllers/silence.py:647
277
#: vigiboard/controllers/silence.py:635
278 278
#, python-format
279 279
msgid "The following silence rules have been successfully deleted: %s."
280 280
msgstr ""
281 281

  
282
#: vigiboard/controllers/silence.py:650
282
#: vigiboard/controllers/silence.py:638
283 283
#, python-format
284 284
msgid "Silence rule #%s has been successfully deleted."
285 285
msgstr ""
......
307 307
msgid "And"
308 308
msgstr ""
309 309

  
310
#: vigiboard/controllers/plugins/date.py:109
311
msgid "Start date cannot be greater than current date"
312
msgstr ""
313

  
314
#: vigiboard/controllers/plugins/date.py:112
315
msgid "Start date cannot be greater than end date"
316
msgstr ""
317

  
318
#: vigiboard/controllers/plugins/date.py:120
319
msgid "End date cannot be greater than current date"
320
msgstr ""
321

  
310 322
#: vigiboard/controllers/plugins/details.py:195
311 323
#: vigiboard/controllers/plugins/state.py:47
312 324
msgid "Current state"
vigiboard/lib/error_handler.py
1
# vim: set fileencoding=utf-8 sw=4 ts=4 et :
2
################################################################################
3
#
4
# Copyright (C) 2007-2015 CS-SI
5
#
6
# This program is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License version 2 as
8
# published by the Free Software Foundation.
9
#
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with this program; if not, write to the Free Software
17
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
################################################################################
19

  
20
"""Fonction de gestion des messages d'erreur"""
21

  
22
import logging
23

  
24
from tg import flash, redirect
25

  
26
LOGGER = logging.getLogger(__name__)
27

  
28
def handle_error_message(message, redirection_url='./'):
29
    """
30
    Affiche le message dans l'IHM, l'enregistre dans les logs
31
    et renvoie le navigateur vers l'URL de redirection.
32

  
33
    @param message: message d'erreur à afficher
34
    @type  message: C{str}
35
    @param redirection_url: (optionnel) URL de redirection
36
    @type  redirection_url: C{str}
37
    """
38
    LOGGER.error(message)
39
    flash(message, 'error')
40
    redirect(redirection_url)
vigiboard/tests/functional/test_search_form_misc.py
7 7
"""
8 8
from nose.tools import assert_true, assert_equal
9 9
from datetime import datetime
10
from datetime import timedelta
10 11
import transaction
11 12

  
12 13
from vigiboard.tests import TestController
......
17 18

  
18 19
def insert_deps():
19 20
    """Insère les dépendances nécessaires aux tests."""
20
    timestamp = datetime.now()
21
    timestamp = datetime.now() + timedelta(seconds=-10)
21 22

  
22 23
    host = Host(
23 24
        name=u'bar',
......
68 69
    DBSession.flush()
69 70
    return timestamp
70 71

  
71

  
72 72
class TestSearchFormMisc(TestController):
73 73
    """Teste la récupération d'événements selon le nom d'hôte."""
74 74
    def setUp(self):
......
86 86
        DBSession.add(usergroup)
87 87
        DBSession.flush()
88 88

  
89
    def get_number_of_rows(self, from_date, to_date):
90
        """Détermine le nombre de lignes parmi les résultats d'une recherche sur le formulaire."""
91
        response = self.app.get(
92
            '/?from_date=%(from_date)s&to_date=%(to_date)s' % {
93
                'from_date': from_date,
94
                'to_date': to_date,
95
            },
96
            extra_environ={'REMOTE_USER': 'user'})
97
        rows = response.lxml.xpath('//table[@class="vigitable"]/tbody/tr')
98
        print "There are %d rows in the result set" % len(rows)
99
        return len(rows)
100

  
89 101
    def test_search_by_output(self):
90 102
        """Teste la recherche sur le message issu de Nagios."""
91 103
        insert_deps()
......
134 146

  
135 147
        # Préparation des dates/heures.
136 148
        from_date = timestamp.strftime("%Y-%m-%d %I:%M:%S %p")
137
        to_date = datetime.max.strftime("%Y-%m-%d %I:%M:%S %p")
149
        to_date = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
138 150

  
139 151
        # Permet également de vérifier que la recherche
140 152
        # par date est inclusive.
......
154 166
        cols = response.lxml.xpath('//table[@class="vigitable"]/tbody/tr/td')
155 167
        print "There are %d columns in the result set" % len(cols)
156 168
        assert_true(len(cols) > 1)
169

  
170
    def test_future_begin_date(self):
171
        """Contrôle des dates. Vérifie que date de début < date courante."""
172
        timestamp = insert_deps()
173
        transaction.commit()
174

  
175
        # Préparation des dates/heures.
176
        from_date = datetime.now() + timedelta(seconds=60)
177
        from_date = from_date.strftime("%Y-%m-%d %I:%M:%S %p")
178
        to_date = datetime.now().strftime("%Y-%m-%d %I:%M:%S %p")
179

  
180
        # Démarrage du test
181
        rows = self.get_number_of_rows(from_date, to_date)
182

  
183
        # Aucun résultat.
184
        assert_equal(rows, 0)
185

  
186
    def test_future_end_date(self):
187
        """Contrôle des dates. Vérifie que date de fin < date courante."""
188
        timestamp = insert_deps()
189
        transaction.commit()
190

  
191
        # Préparation des dates/heures.
192
        from_date = timestamp.strftime("%Y-%m-%d %I:%M:%S %p")
193
        to_date = datetime.now() + timedelta(seconds=60)
194
        to_date = to_date.strftime("%Y-%m-%d %I:%M:%S %p")
195

  
196
        # Démarrage du test
197
        rows = self.get_number_of_rows(from_date, to_date)
198

  
199
        # Aucun résultat.
200
        assert_equal(rows, 0)
201

  
202
    def test_dates_inconsistency(self):
203
        """Contrôle des dates. Vérifie date de début <= date de fin."""
204
        timestamp = insert_deps()
205
        transaction.commit()
206

  
207
        # Préparation des dates/heures.
208
        from_date = timestamp + timedelta(seconds=5)
209
        from_date = from_date.strftime("%Y-%m-%d %I:%M:%S %p")
210
        to_date = timestamp.strftime("%Y-%m-%d %I:%M:%S %p")
211

  
212
        # Démarrage du test
213
        rows = self.get_number_of_rows(from_date, to_date)
214

  
215
        # Aucun résultat.
216
        assert_equal(rows, 0)

Also available in: Unified diff