add TG CSV export

This commit is contained in:
KF7EEL 2021-08-02 13:15:43 -07:00
parent 2d23f9521f
commit 601656b448
2 changed files with 27 additions and 17 deletions

View File

@ -21,7 +21,7 @@
Flask based application that is the web server for HBNet. Controls user authentication, DMR server config, etc.
'''
from flask import Flask, render_template_string, request, make_response, jsonify, render_template, Markup, flash, redirect, url_for, current_app
from flask import Flask, render_template_string, request, make_response, jsonify, render_template, Markup, flash, redirect, url_for, current_app, Response
from flask_sqlalchemy import SQLAlchemy
from flask_user import login_required, UserManager, UserMixin, user_registered, roles_required
from werkzeug.security import check_password_hash
@ -1801,6 +1801,16 @@ def create_app():
<p>&nbsp;</p>'''
return render_template('flask_user_layout.html', markup_content = Markup(content))
@app.route('/hbnet_tg.csv')
## @login_required
def tg_csv():
cbl = BridgeList.query.filter_by(public_list=True).all()
gen_csv = 'number, name\n'
for t in cbl:
gen_csv = gen_csv + str(t.tg) + ', ' + t.bridge_name + '\n'
response = Response(gen_csv, mimetype="text/csv")
return response
@app.route('/talkgroups')
## @login_required
def tg_list():
@ -1809,7 +1819,7 @@ def create_app():
content = '''
<p>&nbsp;</p>
<p style="text-align: center;"><strong>Note:</strong> Talkgroups listed here may not be available on all servers. See <a href="/generate_passphrase">Passphrase(s)</a> for complete list of talkgroup availability per server.</p>
<p style="text-align: center;"><a href="talkgrousp_csv"><strong>Download talkgroup CSV</strong></a></p>
<p style="text-align: center;"><a href="hbnet_tg.csv"><strong>Download talkgroup CSV</strong></a></p>
<table style="width: 600px; margin-left: auto; margin-right: auto;" border="1">
<tbody>
<tr>

View File

@ -38,9 +38,9 @@
<tbody>
<tr>
<td style="text-align: center;"><a href={{url}}/>Home</a></td>
<td style="text-align: center;"><a href={{url}}/news>News</a></td>
<td style="text-align: center;"><a href={{url}}/talkgroups>Talkgroups</a></td>
<td style="text-align: center;"><a href=/>Home</a></td>
<td style="text-align: center;"><a href=news>News</a></td>
<td style="text-align: center;"><a href=talkgroups>Talkgroups</a></td>
{% if not call_or_get(current_user.is_authenticated) %}
<td style="text-align: center;"><a href={{ url_for('user.register') }}>Register</a></td>
@ -48,15 +48,15 @@
{% endif %}
{% if call_or_get(current_user.is_authenticated) %}
{% if call_or_get(current_user.has_roles('Admin')) %}
<td style="text-align: center;"><a href={{url}}/add_user><strong>Add a User</strong></a></td>
<td style="text-align: center;"><a href={{url}}/list_users><strong>Edit Users</strong></a></td>
<td style="text-align: center;"><a href={{url}}/approve_users><strong>Waiting Approval</strong></a></td>
<td style="text-align: center;"><a href={{url}}/auth_log><strong>Auth Log</strong></a></td>
<td style="text-align: center;"><a href=add_user><strong>Add a User</strong></a></td>
<td style="text-align: center;"><a href=list_users><strong>Edit Users</strong></a></td>
<td style="text-align: center;"><a href=approve_users><strong>Waiting Approval</strong></a></td>
<td style="text-align: center;"><a href=auth_log><strong>Auth Log</strong></a></td>
{% endif %}
<td style="text-align: center;"><a href={{url}}/help>Help</a></td>
<td style="text-align: center;"><a href={{url}}/generate_passphrase>Passphrase(s)</a></td>
<!-- <td style="text-align: center;"><a href={{url}}/user_tg>Current TGs</a></td> -->
<td style="text-align: center;"><a href=help>Help</a></td>
<td style="text-align: center;"><a href=generate_passphrase>Passphrase(s)</a></td>
<!-- <td style="text-align: center;"><a href=user_tg>Current TGs</a></td> -->
<td style="text-align: center;"><a href="{{ url_for('user.edit_user_profile') }}">Edit {{ current_user.username or current_user.email }}</a></td>
<td style="text-align: center;"><a href={{ url_for('user.logout') }}>Sign out</a></td>
{% endif %}
@ -69,11 +69,11 @@
<table style="width: 800px; margin-left: auto; margin-right: auto;" border="black" cellspacing="3" cellpadding="3">
<tbody>
<tr>
<td style="text-align: center;"><a href={{url}}/manage_servers>Manage Servers</a></td>
<td style="text-align: center;"><a href={{url}}/manage_peers>Manage Peers</a></td>
<td style="text-align: center;"><a href={{url}}/manage_masters>Manage Masters</a></td>
<td style="text-align: center;"><a href={{url}}/manage_rules>Manage Rules</a></td>
<td style="text-align: center;"><a href={{url}}/manage_news>Manage News</a></td>
<td style="text-align: center;"><a href=manage_servers>Manage Servers</a></td>
<td style="text-align: center;"><a href=manage_peers>Manage Peers</a></td>
<td style="text-align: center;"><a href=manage_masters>Manage Masters</a></td>
<td style="text-align: center;"><a href=manage_rules>Manage Rules</a></td>
<td style="text-align: center;"><a href=manage_news>Manage News</a></td>
</tr>
</tbody>