def get_cms_form(cls): """ Build and return Form class. If you want to define your custom CMS Object, you likely want to override the default CMS Form. E.g.:: from wtforms import fields def get_cms_form(cls): form = super().get_cms_form() form.textfield = fields.StringField("Textfield") return form :returns: Form Class (has to be instantiated!). """ if hasattr(cls, "CMSForm"): return cls.CMSForm form_factory = OrderedFormFactory() form_fields = model_fields(cls, db_session=db.session, exclude=cls.auto_form_exclude) for key in sorted(form_fields.keys()): form_fields[key].kwargs['name'] = key form_factory.add_to_tab("Root.Main", form_fields[key]) form_factory.add_to_tab("Root.Buttons", fields.SubmitField("Save", name="Save")) return form_factory
def get_cms_form(cls): form = OrderedFormFactory() form.add_to_tab("Root.Main", fields.StringField(name='title')) form.add_to_tab("Root.Main", fields.StringField(name='tagline')) form.add_to_tab("Root.Main", fields.SelectField(name='theme', choices=cls.get_available_themes())) form.add_to_tab("Root.Buttons", fields.SubmitField("Save", name='Save')) return form
def get_cms_form(cls): form = OrderedFormFactory() form.add_to_tab("Root.Main", fields.StringField(name='title')) form.add_to_tab("Root.Main", fields.StringField(name='tagline')) form.add_to_tab( "Root.Main", fields.SelectField(name='theme', choices=cls.get_available_themes())) form.add_to_tab("Root.Buttons", fields.SubmitField("Save", name='Save')) return form