from flask_wtf import FlaskForm from wtforms import StringField, BooleanField, TextAreaField, SubmitField from wtforms import widgets from wtforms.validators import DataRequired from wtforms.ext.sqlalchemy.fields import QuerySelectField, QuerySelectMultipleField class PageForm(FlaskForm): name = StringField('namn', validators=[DataRequired()]) title = StringField('Title', validators=[DataRequired()]) description = TextAreaField('Beskrivning') endpoint = BooleanField('Produkt') published = BooleanField('Publicerad') thumbnail = QuerySelectField('Bild', get_label=lambda p: '{} ({})'.format(p.alt, p.id)) photos = QuerySelectMultipleField('Galleri', option_widget=widgets.CheckboxInput(), widget=widgets.ListWidget(prefix_label=False), get_label = lambda p: ''.format(p.id)) parent = QuerySelectField('Kategori', get_label = lambda p: '{} - {}'.format(p.permalink, p.title)) submit = SubmitField('Ok') class PhotoForm(FlaskForm): alt = StringField('Beskrivning', validators=[DataRequired()]) link = QuerySelectField('Länkar till', get_label = lambda p: '{} - {}'.format(p.permalink, p.title)) submit = SubmitField('Ok')