diff --git a/user_managment/app.py b/user_managment/app.py index db91be3..5167b80 100644 --- a/user_managment/app.py +++ b/user_managment/app.py @@ -196,6 +196,8 @@ def create_app(): tg1_acl = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') tg2_acl = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') server = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') + notes = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') + class xlxPeer(db.Model): __tablename__ = 'XLX_peers' id = db.Column(db.Integer(), primary_key=True) @@ -229,6 +231,7 @@ def create_app(): tg1_acl = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') tg2_acl = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') server = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') + notes = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') class ServerList(db.Model): __tablename__ = 'server_list' name = db.Column(db.String(100, collation='NOCASE'), unique=True, primary_key=True) @@ -264,6 +267,7 @@ def create_app(): report_port = db.Column(db.Integer(), primary_key=False, server_default='4321') report_clients =db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='127.0.0.1') unit_time = db.Column(db.Integer(), primary_key=False, server_default='10080') + notes = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') class MasterList(db.Model): __tablename__ = 'master_list' @@ -346,6 +350,17 @@ def create_app(): description = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') public_list = db.Column(db.Boolean(), nullable=False, server_default='0') + class BridgeList(db.Model): + __tablename__ = 'bridge_list' + id = db.Column(db.Integer(), primary_key=True) + bridge_name = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') + description = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='') + public_list = db.Column(db.Boolean(), nullable=False, server_default='0') + tg = db.Column(db.Integer(), primary_key=False) + + + + # Customize Flask-User class CustomUserManager(UserManager): # Override or extend the default login view method @@ -1715,6 +1730,28 @@ def create_app(): r_list.append(str(i.secret)) return r_list + def bridge_add(_name, _desc, _public, _tg): + add_bridge = BridgeList( + bridge_name = _name, + description = _desc, + public_list = _public, + tg = _tg + ) + db.session.add(add_bridge) + db.session.commit() + def update_bridge_list(_name, _desc, _public, _new_name, _tg): + bl = BridgeList.query.filter_by(bridge_name=_name).first() + bl.bridge_name = _new_name + bl.description = _desc + bl.public_list = _public + bl.tg = _tg + db.session.commit() + + def bridge_delete(_name): + bl = BridgeList.query.filter_by(bridge_name=_name).first() + db.session.delete(bl) + db.session.commit() + def generate_rules(_name): # generate UNIT list @@ -1870,7 +1907,7 @@ def create_app(): print(master_config_list) return master_config_list - def server_edit(_name, _secret, _ip, _public_list, _port, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time): + def server_edit(_name, _secret, _ip, _public_list, _port, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time, _notes): s = ServerList.query.filter_by(name=_name).first() print(_name) if _secret == '': @@ -1907,6 +1944,7 @@ def create_app(): s.report_port = _report_port s.report_clients = _report_clients s.unit_time = int(_unit_time) + s.notes = _notes db.session.commit() def master_delete(_mode, _server, _name): @@ -2083,7 +2121,7 @@ def create_app(): db.session.commit() - def server_add(_name, _secret, _ip, _public_list, _port, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time): + def server_add(_name, _secret, _ip, _public_list, _port, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time, _notes): add_server = ServerList( name = _name, secret = hashlib.sha256(_secret.encode()).hexdigest(), @@ -2116,11 +2154,12 @@ def create_app(): report_interval = _report_interval, report_port = _report_port, report_clients = _report_clients, - unit_time = int(_unit_time) + unit_time = int(_unit_time), + notes = _notes ) db.session.add(add_server) db.session.commit() - def peer_add(_mode, _name, _enabled, _loose, _ip, _port, _master_ip, _master_port, _passphrase, _callsign, _radio_id, _rx, _tx, _tx_power, _cc, _lat, _lon, _height, _loc, _desc, _slots, _url, _grp_hang, _xlx_mod, _opt, _use_acl, _sub_acl, _1_acl, _2_acl, _svr, _enable_unit): + def peer_add(_mode, _name, _enabled, _loose, _ip, _port, _master_ip, _master_port, _passphrase, _callsign, _radio_id, _rx, _tx, _tx_power, _cc, _lat, _lon, _height, _loc, _desc, _slots, _url, _grp_hang, _xlx_mod, _opt, _use_acl, _sub_acl, _1_acl, _2_acl, _svr, _enable_unit, _notes): if _mode == 'xlx': xlx_peer_add = xlxPeer( name = _name, @@ -2151,7 +2190,8 @@ def create_app(): sub_acl = _sub_acl, tg1_acl = _1_acl, tg2_acl = _2_acl, - server = _svr + server = _svr, + notes = _notes ) db.session.add(xlx_peer_add) db.session.commit() @@ -2184,11 +2224,12 @@ def create_app(): sub_acl = _sub_acl, tg1_acl = _1_acl, tg2_acl = _2_acl, - server = _svr + server = _svr, + notes = _notes ) db.session.add(mmdvm_peer_add) db.session.commit() - def peer_edit(_mode, _server, _name, _enabled, _loose, _ip, _port, _master_ip, _master_port, _passphrase, _callsign, _radio_id, _rx, _tx, _tx_power, _cc, _lat, _lon, _height, _loc, _desc, _slots, _url, _grp_hang, _xlx_mod, _opt, _use_acl, _sub_acl, _1_acl, _2_acl, _enable_unit): + def peer_edit(_mode, _server, _name, _enabled, _loose, _ip, _port, _master_ip, _master_port, _passphrase, _callsign, _radio_id, _rx, _tx, _tx_power, _cc, _lat, _lon, _height, _loc, _desc, _slots, _url, _grp_hang, _xlx_mod, _opt, _use_acl, _sub_acl, _1_acl, _2_acl, _enable_unit, _notes): ## print(_mode) if _mode == 'mmdvm': ## print(_server) @@ -2223,11 +2264,12 @@ def create_app(): p.sub_acl = _sub_acl p.tg1_acl = _1_acl p.tg2_acl = _2_acl + p.notes = _notes if _mode == 'xlx': ## print(type(_server)) ## print(type(_name)) ## print(type(_enabled)) - print((_enable_unit)) +## print((_enable_unit)) ## print(type(_use_acl)) #### print(_port) @@ -2263,6 +2305,7 @@ def create_app(): p.sub_acl = _sub_acl p.tg1_acl = _1_acl p.tg2_acl = _2_acl + p.notes = _notes db.session.commit() @@ -2300,13 +2343,13 @@ def create_app(): public_list = False if request.args.get('save_mode') == 'new': - server_add(request.form.get('server_name'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time')) + server_add(request.form.get('server_name'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time'), request.form.get('notes')) content = '''
Redirecting in 3 seconds.
''' if request.args.get('save_mode') == 'edit': ## print(request.args.get('server')) - server_edit(request.args.get('server'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time')) + server_edit(request.args.get('server'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time'), request.form.get('notes')) content = '''Redirecting in 3 seconds.
''' @@ -2354,9 +2397,12 @@ def create_app(): - +Name |
+Notes |
+
'''
for s in all_s:
p_list = p_list + '''
''' + str(s.name) + ''' | +''' + s.notes + ''' |
Redirecting in 3 seconds.
''' if request.args.get('save_mode') == 'xlx_peer': - peer_add('xlx', request.form.get('name_text'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), request.form.get('xlxmodule'), request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), request.form.get('server'), unit_enabled) + peer_add('xlx', request.form.get('name_text'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), request.form.get('xlxmodule'), request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), request.form.get('server'), unit_enabled, request.form.get('notes')) content = '''Redirecting in 3 seconds.
''' @@ -2937,6 +2990,10 @@ def create_app():@@ -2968,12 +3025,12 @@ def create_app(): ## print(type(peer_enabled)) ## print(type(use_acl)) if request.args.get('edit_mmdvm') == 'save': - peer_edit('mmdvm', request.args.get('server'), request.args.get('name'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), 'MMDVM', request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), unit_enabled) + peer_edit('mmdvm', request.args.get('server'), request.args.get('name'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), 'MMDVM', request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), unit_enabled, request.form.get('notes')) content = '''
Redirecting in 3 seconds.
''' if request.args.get('edit_xlx') == 'save': - peer_edit('xlx', request.args.get('server'), request.args.get('name'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), request.form.get('xlxmodule'), request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), unit_enabled) + peer_edit('xlx', request.args.get('server'), request.args.get('name'), peer_enabled, peer_loose, request.form.get('ip'), request.form.get('port'), request.form.get('master_ip'), request.form.get('master_port'), request.form.get('passphrase'), request.form.get('callsign'), request.form.get('radio_id'), request.form.get('rx'), request.form.get('tx'), request.form.get('tx_power'), request.form.get('cc'), request.form.get('lat'), request.form.get('lon'), request.form.get('height'), request.form.get('location'), request.form.get('description'), request.form.get('slots'), request.form.get('url'), request.form.get('group_hangtime'), request.form.get('xlxmodule'), request.form.get('options'), use_acl, request.form.get('sub_acl'), request.form.get('tgid_ts1_acl'), request.form.get('tgid_ts2_acl'), unit_enabled, request.form.get('notes')) content = '''Redirecting in 3 seconds.
''' @@ -3142,6 +3199,10 @@ def create_app():@@ -3161,6 +3222,8 @@ def create_app():
+
+
+ + +''' + else: + all_b = BridgeList.query.all() + b_list = ''' +
Add Bridge | + +
+ +
Name | +Public | +Description | +
''' + str(i.bridge_name) + ''' + | ''' + str(i.public_list) + ''' | +''' + str(i.description) + ''' | +