Commit 0d80fd78 authored by Alan Hamlett's avatar Alan Hamlett

support for WTForms >= 3.0

parent 0cd24273
...@@ -428,8 +428,8 @@ The bare minimum you have to provide for Flask-Admin to work with PyMongo: ...@@ -428,8 +428,8 @@ The bare minimum you have to provide for Flask-Admin to work with PyMongo:
This is minimal PyMongo view:: This is minimal PyMongo view::
class UserForm(Form): class UserForm(Form):
name = TextField('Name') name = StringField('Name')
email = TextField('Email') email = StringField('Email')
class UserView(ModelView): class UserView(ModelView):
column_list = ('name', 'email') column_list = ('name', 'email')
...@@ -519,7 +519,7 @@ do with it, so it won't generate a form field. In this case, you would need to m ...@@ -519,7 +519,7 @@ do with it, so it won't generate a form field. In this case, you would need to m
class MyView(ModelView): class MyView(ModelView):
def scaffold_form(self): def scaffold_form(self):
form_class = super(UserView, self).scaffold_form() form_class = super(UserView, self).scaffold_form()
form_class.extra = TextField('Extra') form_class.extra = StringField('Extra')
return form_class return form_class
Customizing Batch Actions Customizing Batch Actions
......
...@@ -51,7 +51,7 @@ class User(db.Model): ...@@ -51,7 +51,7 @@ class User(db.Model):
# Define login and registration forms (for flask-login) # Define login and registration forms (for flask-login)
class LoginForm(form.Form): class LoginForm(form.Form):
login = fields.TextField(validators=[validators.required()]) login = fields.StringField(validators=[validators.required()])
password = fields.PasswordField(validators=[validators.required()]) password = fields.PasswordField(validators=[validators.required()])
def validate_login(self, field): def validate_login(self, field):
...@@ -71,8 +71,8 @@ class LoginForm(form.Form): ...@@ -71,8 +71,8 @@ class LoginForm(form.Form):
class RegistrationForm(form.Form): class RegistrationForm(form.Form):
login = fields.TextField(validators=[validators.required()]) login = fields.StringField(validators=[validators.required()])
email = fields.TextField() email = fields.StringField()
password = fields.PasswordField(validators=[validators.required()]) password = fields.PasswordField(validators=[validators.required()])
def validate_login(self, field): def validate_login(self, field):
......
...@@ -6,7 +6,6 @@ from wtforms import form, fields, validators ...@@ -6,7 +6,6 @@ from wtforms import form, fields, validators
import flask_admin as admin import flask_admin as admin
import flask_login as login import flask_login as login
from flask_admin.contrib.mongoengine import ModelView from flask_admin.contrib.mongoengine import ModelView
from flask_admin import helpers
# Create application # Create application
app = Flask(__name__) app = Flask(__name__)
...@@ -47,7 +46,7 @@ class User(db.Document): ...@@ -47,7 +46,7 @@ class User(db.Document):
# Define login and registration forms (for flask-login) # Define login and registration forms (for flask-login)
class LoginForm(form.Form): class LoginForm(form.Form):
login = fields.TextField(validators=[validators.required()]) login = fields.StringField(validators=[validators.required()])
password = fields.PasswordField(validators=[validators.required()]) password = fields.PasswordField(validators=[validators.required()])
def validate_login(self, field): def validate_login(self, field):
...@@ -64,8 +63,8 @@ class LoginForm(form.Form): ...@@ -64,8 +63,8 @@ class LoginForm(form.Form):
class RegistrationForm(form.Form): class RegistrationForm(form.Form):
login = fields.TextField(validators=[validators.required()]) login = fields.StringField(validators=[validators.required()])
email = fields.TextField() email = fields.StringField()
password = fields.PasswordField(validators=[validators.required()]) password = fields.PasswordField(validators=[validators.required()])
def validate_login(self, field): def validate_login(self, field):
......
...@@ -23,14 +23,14 @@ db = conn.test ...@@ -23,14 +23,14 @@ db = conn.test
# User admin # User admin
class InnerForm(form.Form): class InnerForm(form.Form):
name = fields.TextField('Name') name = fields.StringField('Name')
test = fields.TextField('Test') test = fields.StringField('Test')
class UserForm(form.Form): class UserForm(form.Form):
name = fields.TextField('Name') name = fields.StringField('Name')
email = fields.TextField('Email') email = fields.StringField('Email')
password = fields.TextField('Password') password = fields.StringField('Password')
# Inner form # Inner form
inner = InlineFormField(InnerForm) inner = InlineFormField(InnerForm)
...@@ -48,9 +48,9 @@ class UserView(ModelView): ...@@ -48,9 +48,9 @@ class UserView(ModelView):
# Tweet view # Tweet view
class TweetForm(form.Form): class TweetForm(form.Form):
name = fields.TextField('Name') name = fields.StringField('Name')
user_id = fields.SelectField('User', widget=Select2Widget()) user_id = fields.SelectField('User', widget=Select2Widget())
text = fields.TextField('Text') text = fields.StringField('Text')
testie = fields.BooleanField('Test') testie = fields.BooleanField('Test')
......
from wtforms.fields import TextField from wtforms.fields import StringField
from google.appengine.ext import ndb from google.appengine.ext import ndb
import decimal import decimal
class GeoPtPropertyField(TextField): class GeoPtPropertyField(StringField):
def process_formdata(self, valuelist): def process_formdata(self, valuelist):
if valuelist: if valuelist:
try: try:
......
import time
import datetime
from flask_admin.babel import lazy_gettext from flask_admin.babel import lazy_gettext
from flask_admin.model import filters from flask_admin.model import filters
......
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
""" """
import operator import operator
from wtforms import widgets from wtforms.fields import SelectFieldBase, StringField
from wtforms.fields import SelectFieldBase, TextField
from wtforms.validators import ValidationError from wtforms.validators import ValidationError
try: try:
...@@ -184,8 +183,8 @@ class QuerySelectMultipleField(QuerySelectField): ...@@ -184,8 +183,8 @@ class QuerySelectMultipleField(QuerySelectField):
class HstoreForm(BaseForm): class HstoreForm(BaseForm):
""" Form used in InlineFormField/InlineHstoreList for HSTORE columns """ """ Form used in InlineFormField/InlineHstoreList for HSTORE columns """
key = TextField(lazy_gettext('Key')) key = StringField(lazy_gettext('Key'))
value = TextField(lazy_gettext('Value')) value = StringField(lazy_gettext('Value'))
class KeyValue(object): class KeyValue(object):
......
...@@ -98,7 +98,7 @@ class XEditableWidget(object): ...@@ -98,7 +98,7 @@ class XEditableWidget(object):
""" """
Return extra kwargs based on the field type. Return extra kwargs based on the field type.
""" """
if field.type in ['StringField', 'TextField']: if field.type == 'StringField':
kwargs['data-type'] = 'text' kwargs['data-type'] = 'text'
elif field.type == 'TextAreaField': elif field.type == 'TextAreaField':
kwargs['data-type'] = 'textarea' kwargs['data-type'] = 'textarea'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment