Files
flask_ipam/app/forms.py
T
2025-02-05 13:25:36 +01:00

31 lines
1.6 KiB
Python

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, IntegerField, SelectField
from wtforms.validators import DataRequired, Length, IPAddress, NumberRange
class LoginForm(FlaskForm):
username = StringField(validators=[DataRequired(),Length(max=128)])
password = PasswordField(validators=[DataRequired(),Length(max=128)])
class NewPrefixForm(FlaskForm):
subnet = StringField(validators=[DataRequired(),IPAddress(ipv4=True),Length(max=128)])
prefix = IntegerField(validators=[DataRequired(),NumberRange(min=20,max=32)])
description = StringField(validators=[Length(max=128)])
class NewAllocationForm(FlaskForm):
ipv4 = StringField(validators=[DataRequired(),IPAddress(ipv4=True),Length(max=128)])
host_name = StringField(validators=[Length(max=128)])
host_desc = StringField(validators=[Length(max=128)])
#host_type = SelectField(choices=[(0,'None'),(1,'Computer'),(2,'Server'),(3,'Virtual Machine'),(4,'Network Device'),(5,'Other')],validators=[DataRequired()])
class NewUserForm (FlaskForm):
username = StringField(validators=[DataRequired(),Length(max=128)])
password = PasswordField(validators=[DataRequired(),Length(max=128)])
is_admin = SelectField(choices=[(0,'No'),(1,'Yes')],validators=[DataRequired()])
class ChangePasswordForm(FlaskForm):
password = PasswordField(validators=[DataRequired(),Length(max=128)])
is_admin = SelectField(choices=[(0,'No'),(1,'Yes')],validators=[DataRequired()])
class ChangeAllocationForm(FlaskForm):
hostname = StringField(validators=[Length(max=128)])
description = StringField(validators=[Length(max=128)])