from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, BooleanField, SubmitField, SelectField, DecimalField from wtforms import validators, ValidationError from wtforms.fields.html5 import EmailField class DeployForm(FlaskForm): servername = StringField('Име/Домейн:', [validators.Regexp(message='пример: myservice1.com, myservice2.local', regex='^[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\.([a-zA-Z]{1,6}|[a-zA-Z0-9-]{1,30}\.[a-zA-Z]{2,3})$')]) region = SelectField('Регион:') vmpassword = StringField('Парола:', [validators.DataRequired()]) cpu = StringField('Процесорни ядра:') mem = StringField('Памет:') hdd = StringField('Дисково пространство:') recipe = SelectField('Рецепта') ipv4 = SelectField('Брой публични IP адреса', choices=[('1', '1'),('2', '2' ), ('3', '3')]) invite_key = StringField('Покана', [validators.DataRequired(), validators.Length(6,35)]) def validate_invite_key(self, field): if field.data != 'inv1919': raise ValidationError('Denied') submit = SubmitField('Deploy') class ActivateForm(FlaskForm): period = SelectField('Deploy Period', choices=[('1 Month', 1), ('3 Months', 3), ('6 Months', 6), ('1 Year', 12), ('2 Years', 24)]) submit = SubmitField('Activate')