Prep admin form for production deployment

Only display Wifi Settings if raspap is installed.
Change_manager is now more standalone and can be run to monitor when settings.txt is last modified.
This commit is contained in:
Ana Custura 2026-03-06 12:26:33 +00:00
parent 0cfd475031
commit 83fd4c4ec5
5 changed files with 106 additions and 69 deletions

View file

@ -1,5 +1,5 @@
from app import app
from flask import render_template, flash, redirect, url_for, request, session, send_file
from flask import render_template, flash, redirect, url_for, send_file
from app.forms import LoginForm, SettingsForm
from flask_login import login_user, current_user, logout_user, login_required
import sqlalchemy as sa
@ -16,7 +16,7 @@ import string
import glob
import time
import qrcode
from app.change_manager import CHANGES_REQUIRING_RESTART, check_settings
from app.change_manager import CHANGES_REQUIRING_RESTART
def gen_username() -> str:
words = top_n_list("en", 5000)
@ -155,6 +155,7 @@ def logout():
@app.route('/admin', methods=['GET', 'POST'])
@login_required
def admin():
raspap_installed = os.path.exists("/var/www/html/raspap")
form = SettingsForm()
populate_settings = ['butterbox_name', 'wifi_password', 'ssid', 'butterbox_hostname', 'root_account_settings', 'ssh_access_settings']
bool_settings = ['enable_access_point','enable_file_viewer', 'enable_map_viewer', 'enable_app_store', 'enable_chat', 'enable_deltachat', 'enable_wifi_sharing']
@ -214,10 +215,9 @@ def admin():
if form.apply_changes.data:
set_setting('apply_changes', "true")
dump_settings("settings.txt")
check_settings()
flash(_("⚠️ Changes applied! Please wait for the box to restart."))
return render_template('admin.html', get_setting=get_setting, form=form)
return render_template('admin.html', raspap_installed=raspap_installed, get_setting=get_setting, form=form)
@app.route('/messaging', methods=['GET', 'POST'])