def check_role_alerts(authz): alerts = Alert.by_role(authz.role).all() if not len(alerts): return log.info('Alerting %r, %d alerts...', authz.role, len(alerts)) for alert in alerts: args = { 'q': alert.query_text, 'filter:entities.id': alert.entity_id, 'limit': 50 } state = QueryState(args, authz) results = documents_query(state, since=alert.notified_at) if results['total'] == 0: continue log.info('Found %d new results for: %r', results['total'], alert.label) alert.update() try: subject = '%s (%s new results)' % (alert.label, results['total']) html = render_template('email/alert.html', alert=alert, role=authz.role, total=results.get('total'), results=format_results(alert, results), app_title=app_title, app_url=app_url) notify_role(authz.role, subject, html) except Exception as ex: log.exception(ex) db.session.commit()
def check_role_alerts(authz): alerts = Alert.by_role(authz.role).all() if not len(alerts): return log.info('Alerting %r, %d alerts...', authz.role, len(alerts)) for alert in alerts: args = {'q': alert.query_text} entity = get_entity(alert.entity_id) if alert.entity_id else None state = SearchQueryParser(args, authz) query = AlertDocumentsQuery(state, entity=entity, since=alert.notified_at) results = query.search().get('hits') if results['total'] == 0: continue log.info('Found %d new results for: %r', results['total'], alert.label) alert.update() try: subject = '%s (%s new results)' % (alert.label, results['total']) html = render_template('email/alert.html', alert=alert, role=authz.role, total=results.get('total'), results=format_results(alert, results), app_title=app_title, ui_url=app_ui_url) notify_role(authz.role, subject, html) except Exception as ex: log.exception(ex) db.session.commit()
def check_role_alerts(role): alerts = Alert.by_role(role).all() if not len(alerts): return log.info('Alerting %r, %d alerts...', role, len(alerts)) for alert in alerts: results = alert_query(alert) if results['total'] == 0: continue log.info('Found: %d new results for: %r', results['total'], alert.label) alert.update() try: subject = '%s (%s new results)' % (alert.label, results['total']) html = render_template('alert.html', alert=alert, results=results, role=role, qs=make_document_query(alert), app_title=get_config('APP_TITLE'), app_url=get_app_url()) notify_role(role, subject, html) except Exception as ex: log.exception(ex) db.session.commit()
def check_role_alerts(role): alerts = Alert.by_role(role).all() if not len(alerts): return log.info('Alerting %r, %d alerts...', role, len(alerts)) for alert in alerts: results = alert_query(alert) if results['total'] == 0: continue log.info('Found: %d new results for: %r', results['total'], alert.label) alert.update() try: subject = '%s (%s new results)' % (alert.label, results['total']) html = render_template('alert.html', alert=alert, results=results, role=role, qs=make_document_query(alert), app_title=get_app_title(), app_url=get_app_url()) notify_role(role, subject, html) except Exception as ex: log.exception(ex) db.session.commit()
def index(): require(request.authz.logged_in) query = Alert.by_role(request.authz.role) result = DatabaseQueryResult(request, query, schema=AlertSchema) return jsonify(result)
def index(): if request.authz.logged_in: alerts = Alert.by_role(request.authz.role).all() return jsonify({'results': alerts, 'total': len(alerts)}) return jsonify({'results': [], 'total': 0})
def index(): if authz.logged_in(): alerts = Alert.by_role(request.auth_role).all() return jsonify({'results': alerts, 'total': len(alerts)}) return jsonify({'results': [], 'total': 0})
def index(): authz.require(authz.logged_in()) alerts = Alert.by_role(request.auth_role).all() return jsonify({'results': alerts, 'total': len(alerts)})
def check_alerts(): """Go through all users and execute their alerts.""" for role in Role.all(): authz = Authz(role=role) for alert in Alert.by_role(role).all(): check_alert(authz, alert)