49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
from flask import Blueprint, render_template, request, redirect, url_for, flash
|
|
from db_interface import (
|
|
get_all_users,
|
|
get_all_groups,
|
|
add_user,
|
|
update_user,
|
|
delete_user,
|
|
refresh_vendors,
|
|
get_user_by_mac
|
|
)
|
|
|
|
user = Blueprint('user', __name__, url_prefix='/user')
|
|
|
|
|
|
@user.route('/')
|
|
def user_list():
|
|
users = get_all_users()
|
|
available_groups = get_all_groups()
|
|
return render_template('user_list.html', users=users, available_groups=available_groups)
|
|
|
|
|
|
@user.route('/add', methods=['POST'])
|
|
def add():
|
|
mac = request.form['mac_address']
|
|
desc = request.form.get('description', '')
|
|
group_id = request.form['group_id']
|
|
add_user(mac, desc, group_id)
|
|
return redirect(url_for('user.user_list'))
|
|
|
|
@user.route('/update_user', methods=['POST'])
|
|
def update_user_route():
|
|
mac = request.form['mac_address']
|
|
desc = request.form.get('description', '')
|
|
vlan_id = request.form['group_id']
|
|
update_user(mac, desc, vlan_id)
|
|
return redirect(url_for('user.user_list'))
|
|
|
|
@user.route('/delete', methods=['POST'])
|
|
def delete():
|
|
mac = request.form['mac_address']
|
|
delete_user(mac)
|
|
return redirect(url_for('user.user_list'))
|
|
|
|
|
|
@user.route('/refresh_vendors', methods=['POST'])
|
|
def refresh():
|
|
refresh_vendors()
|
|
return {'status': 'OK'}
|