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')