44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, IntegerField, TextAreaField, BooleanField, SubmitField, SelectField
|
|
from wtforms.validators import DataRequired, Length, NumberRange, Optional
|
|
|
|
class ClassroomForm(FlaskForm):
|
|
# campus_id = SelectField('Campus', coerce=int, validators=[DataRequired()])
|
|
building = StringField('Building', validators=[
|
|
DataRequired(),
|
|
Length(min=2, max=100)
|
|
])
|
|
room_number = StringField('Room Number', validators=[
|
|
DataRequired(),
|
|
Length(min=1, max=50)
|
|
])
|
|
floor = IntegerField('Floor', validators=[
|
|
DataRequired(),
|
|
NumberRange(min=1, max=50)
|
|
])
|
|
capacity = IntegerField('Capacity', validators=[
|
|
DataRequired(),
|
|
NumberRange(min=1, max=500)
|
|
])
|
|
description = TextAreaField('Description', validators=[
|
|
Optional(),
|
|
Length(max=500)
|
|
])
|
|
is_active = BooleanField('Active', default=True)
|
|
submit = SubmitField('Save Classroom')
|
|
|
|
class ClassroomResourceForm(FlaskForm):
|
|
resource_type = SelectField('Resource Type', choices=[
|
|
('PROJECTOR', 'Projector'),
|
|
('WHITEBOARD', 'Whiteboard'),
|
|
('COMPUTER', 'Computer'),
|
|
('SOUND_SYSTEM', 'Sound System'),
|
|
('MICROPHONE', 'Microphone'),
|
|
('AIR_CONDITIONER', 'Air Conditioner'),
|
|
('OTHER', 'Other')
|
|
], validators=[DataRequired()])
|
|
brand = StringField('Brand', validators=[Optional(), Length(max=100)])
|
|
model = StringField('Model', validators=[Optional(), Length(max=100)])
|
|
specifications = TextAreaField('Specifications', validators=[Optional()])
|
|
functional = BooleanField('Functional', default=True)
|
|
submit = SubmitField('Save Resource') |