26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
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: '<img src="/thumbnail/{}">'.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')
|