def event(self, idevent, page): """ Affichage de l'historique d'un événement brut. Pour accéder à cette page, l'utilisateur doit être authentifié. @param idevent: identifiant de l'événement brut souhaité. @type idevent: C{int} @param page: numéro de la page à afficher. @type page: C{int} Cette méthode permet de satisfaire l'exigence VIGILO_EXIG_VIGILO_BAC_0080. """ # Auto-supervision self.get_failures() user = get_current_user() events = VigiboardRequest(user, False) events.add_table( Event, events.items.c.hostname.label('hostname'), events.items.c.servicename.label('servicename'), ) events.add_join((EVENTSAGGREGATE_TABLE, \ EVENTSAGGREGATE_TABLE.c.idevent == Event.idevent)) events.add_join((CorrEvent, CorrEvent.idcorrevent == \ EVENTSAGGREGATE_TABLE.c.idcorrevent)) events.add_join((events.items, Event.idsupitem == events.items.c.idsupitem)) events.add_filter(Event.idevent == idevent) if events.num_rows() != 1: flash(_('No such event or access denied'), 'error') redirect('/') events.format_events(0, 1) events.generate_tmpl_context() history = events.format_history() # Pagination des résultats items_per_page = int(session.get('items_per_page', config['vigiboard_items_per_page'])) page = paginate.Page(history, page=page, items_per_page=items_per_page) event = events.req[0] return dict( idevent = idevent, hostname = event.hostname, servicename = event.servicename, plugins_data = {}, page = page, search_form = create_search_form, search = {}, fixed_search = {}, )