butter-portal/app/forms.py

33 lines
1.5 KiB
Python

from flask_wtf import FlaskForm
from flask_wtf.file import FileAllowed, FileRequired
from wtforms import StringField, PasswordField, SubmitField, BooleanField, FileField
from wtforms.validators import DataRequired
from flask_babel import lazy_gettext as _l
class LoginForm(FlaskForm):
username = StringField(_l('Username'), validators=[DataRequired()])
password = PasswordField(_l('Password'), validators=[DataRequired()])
submit = SubmitField(_l('Sign In'))
remember_me = BooleanField('Remember Me')
class SettingsForm(FlaskForm):
# Access point settings
ssid = StringField('SSID', validators=[DataRequired()])
wifi_password = PasswordField(_l('WiFi Password'))
enable_access_point = BooleanField(_l('Enable Access Point'))
# Customisation settings
butterbox_name = StringField(_l('Butterbox Name'), validators=[DataRequired()])
butterbox_logo = FileField((_l('Butterbox Logo')), validators=[FileAllowed(['jpg', 'png', 'svg'], 'Images only!')])
# Services settings
enable_file_viewer = BooleanField(_l('Enable File Viewer'))
enable_map_viewer = BooleanField(_l('Enable Map Viewer'))
enable_chat = BooleanField(_l('Enable Chat'))
enable_app_store = BooleanField(_l('Enable App Store'))
enable_deltachat = BooleanField(_l('Enable DeltaChat'))
# Access Settings
admin_password = PasswordField(_l('Admin Password'))
ssh_password = PasswordField(_l('SSH Password'))
submit = SubmitField(_l('Submit'))
apply_changes = SubmitField(_l('Apply Changes'))