Update admin page to /admin/users route and icon buttons

- Changed admin routes from /admin/user/* to /admin/users/*
- Updated admin.html to extend base.html
- Changed action buttons to small icon-based buttons (edit, activate/deactivate, delete)
- Made edit user modal scrollable with overflow-y: auto
parent e7a5ebf7
This diff is collapsed.
......@@ -129,7 +129,8 @@ def dashboard():
completed_jobs=len([j for j in queue_items if j["status"] == "completed"]),
active_jobs=len([j for j in queue_items if j["status"] == "processing"]),
total_jobs=len(queue_items),
queue_items=queue_items[:5])
queue_items=queue_items[:5],
active_page='dashboard')
@app.route('/login', methods=['GET', 'POST'])
def login():
......@@ -233,7 +234,8 @@ def analyze():
user=user,
tokens=get_user_tokens(user["id"]),
result=result,
server_dir=server_dir)
server_dir=server_dir,
active_page='analyze')
@app.route('/train', methods=['GET', 'POST'])
@admin_required
......@@ -301,7 +303,8 @@ def train():
return render_template('train.html',
user=user,
tokens=get_user_tokens(user["id"]),
message=message)
message=message,
active_page='train')
@app.route('/config', methods=['GET', 'POST'])
def config():
......@@ -319,7 +322,7 @@ def config():
config_data = get_result(msg_id)
current_config = config_data.get('data', {})
return render_template('config.html', current_config=current_config)
return render_template('config.html', current_config=current_config, active_page='config')
@app.route('/history')
@login_required
......@@ -331,7 +334,8 @@ def history():
return render_template('history.html',
user=user,
tokens=get_user_tokens(user["id"]),
queue_items=queue_items)
queue_items=queue_items,
active_page='history')
@app.route('/settings')
@admin_required
......@@ -341,7 +345,8 @@ def settings():
return render_template('settings.html',
user=user,
tokens=get_user_tokens(user["id"]))
tokens=get_user_tokens(user["id"]),
active_page='settings')
@app.route('/update_settings', methods=['POST'])
@login_required
......@@ -368,7 +373,7 @@ def api_tokens():
user = get_current_user_session()
from .database import get_user_api_tokens
user_tokens = get_user_api_tokens(user['id'])
return render_template('api_tokens.html', user=user, user_tokens=user_tokens)
return render_template('api_tokens.html', user=user, user_tokens=user_tokens, active_page='api_tokens')
@app.route('/api_tokens/generate', methods=['POST'])
@login_required
......@@ -406,7 +411,7 @@ def delete_api_token(token_id):
def account():
"""User account management page."""
user = get_current_user_session()
return render_template('account.html', user=user)
return render_template('account.html', user=user, active_page='account')
@app.route('/account/change_password', methods=['POST'])
......@@ -506,9 +511,9 @@ def admin():
from .database import get_all_users
users = get_all_users()
user = get_current_user_session()
return render_template('admin.html', users=users, user=user)
return render_template('admin.html', users=users, user=user, active_page='admin')
@app.route('/admin/user/create', methods=['POST'])
@app.route('/admin/users/create', methods=['POST'])
@admin_required
def admin_create_user():
"""Create a new user via admin panel."""
......@@ -526,7 +531,7 @@ def admin_create_user():
flash(message, 'error')
return redirect(url_for('admin'))
@app.route('/admin/user/<int:user_id>/activate')
@app.route('/admin/users/<int:user_id>/activate')
@admin_required
def admin_activate_user(user_id):
"""Activate a user account."""
......@@ -537,7 +542,7 @@ def admin_activate_user(user_id):
flash('Failed to activate user.', 'error')
return redirect(url_for('admin'))
@app.route('/admin/user/<int:user_id>/deactivate')
@app.route('/admin/users/<int:user_id>/deactivate')
@admin_required
def admin_deactivate_user(user_id):
"""Deactivate a user account."""
......@@ -548,7 +553,7 @@ def admin_deactivate_user(user_id):
flash('Failed to deactivate user.', 'error')
return redirect(url_for('admin'))
@app.route('/admin/user/<int:user_id>/update', methods=['POST'])
@app.route('/admin/users/<int:user_id>/update', methods=['POST'])
@admin_required
def admin_update_user(user_id):
"""Update user information."""
......@@ -566,7 +571,7 @@ def admin_update_user(user_id):
flash(message, 'error')
return redirect(url_for('admin'))
@app.route('/admin/user/<int:user_id>/delete', methods=['POST'])
@app.route('/admin/users/<int:user_id>/delete', methods=['POST'])
@admin_required
def admin_delete_user(user_id):
"""Delete a user account."""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment