def export(): provider = Provider() search = provider.search() logs = provider.dns_logs() users = provider.users() # Prepare names and variables. filename = str(int(time.time())) + '.csv' download_filename = "snitch_logs_" + filename save_results_as = users.get_user_data_path(current_user.id, filename=filename) # Perform the search. results = search.search_from_request(request, paginate=False, method='get') rows = results['results'] # Export to disk. if not logs.save_results_csv(rows, save_results_as, overwrite=True): flash('Could not generate CSV file.', 'error') return redirect(url_for('logs.index')) # And download. return send_file(save_results_as, attachment_filename=download_filename, as_attachment=True)
def index(): # This function deliberately doesn't have a @login_required parameter because we want to run a check for a # 'first-visit' type scenario, in order to create the administrator. provider = Provider() zones = provider.dns_zones() users = provider.users() if users.count() == 0: # Looks like we need to setup the administrator. return redirect(url_for('install.index')) if not current_user.is_authenticated: return redirect(url_for('auth.login')) search = provider.search() results = search.search_from_request(request) aliases = provider.aliases() return render_template( 'home/index.html', results=results['results'], params=results['params'], page_url='home.index', zone_count=zones.count(user_id=current_user.id), aliases=aliases.get_dict( None if current_user.admin else current_user.id))
def index(): provider = Provider() search = provider.search() aliases = provider.aliases() results = search.search_from_request(request) advanced = int(request.args.get('advanced', 0)) == 1 return render_template( 'logs/index.html', results=results['results'], params=results['params'], filters=results['filters'], page_url='logs.index', advanced=advanced, aliases=aliases.get_dict( None if current_user.admin else current_user.id))