Example #1
0
    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
Example #2
0
 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
Example #3
0
 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
Example #4
0
    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