from flask.ext.wtf import Form, TextField, PasswordField, BooleanField, validators
from models import User


class LoginForm(Form):
    username = TextField('username', [validators.Required()])
    password = PasswordField('password', [validators.Required()])
    remember = BooleanField('remember')

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.query.filter_by(username=self.username.data).first()
        if user is None:
            self.username.errors.append('Unknown username')
            return False

        if not user.check_password(self.password.data):
            self.password.errors.append('Invalid password')
            return False

        self.user = user
        return True


from flask.ext.wtf import Form
from wtforms.fields import TextField, PasswordField, BooleanField
from wtforms.validators import Required
from models import User


class LoginForm(Form):
    username = TextField('username', [Required()])
    password = PasswordField('password', [Required()])
    remember = BooleanField('remember')

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.query.filter_by(username=self.username.data).first()
        if user is None:
            self.username.errors.append('Unknown username')
            return False

        if not user.check_password(self.password.data):
            self.password.errors.append('Invalid password')
            return False

        self.user = user
        return True


Update Flask-WTF imports to >0.9.0-style
Update Flask-WTF imports to >0.9.0-style

- from flask.ext.wtf import Form, TextField, PasswordField, BooleanField, validators
+ from flask.ext.wtf import Form
+ from wtforms.fields import TextField, PasswordField, BooleanField
+ from wtforms.validators import Required
  from models import User
  
  
  class LoginForm(Form):
-     username = TextField('username', [validators.Required()])
+     username = TextField('username', [Required()])
-     password = PasswordField('password', [validators.Required()])
+     password = PasswordField('password', [Required()])
      remember = BooleanField('remember')
  
      def __init__(self, *args, **kwargs):
          Form.__init__(self, *args, **kwargs)
          self.user = None
  
      def validate(self):
          rv = Form.validate(self)
          if not rv:
              return False
  
          user = User.query.filter_by(username=self.username.data).first()
          if user is None:
              self.username.errors.append('Unknown username')
              return False
  
          if not user.check_password(self.password.data):
              self.password.errors.append('Invalid password')
              return False
  
          self.user = user
          return True
  
  
Update Flask-WTF imports to >0.9.0-style
## Code Before:
from flask.ext.wtf import Form, TextField, PasswordField, BooleanField, validators
from models import User


class LoginForm(Form):
    username = TextField('username', [validators.Required()])
    password = PasswordField('password', [validators.Required()])
    remember = BooleanField('remember')

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.query.filter_by(username=self.username.data).first()
        if user is None:
            self.username.errors.append('Unknown username')
            return False

        if not user.check_password(self.password.data):
            self.password.errors.append('Invalid password')
            return False

        self.user = user
        return True


## Instruction:
Update Flask-WTF imports to >0.9.0-style
## Code After:
from flask.ext.wtf import Form
from wtforms.fields import TextField, PasswordField, BooleanField
from wtforms.validators import Required
from models import User


class LoginForm(Form):
    username = TextField('username', [Required()])
    password = PasswordField('password', [Required()])
    remember = BooleanField('remember')

    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)
        self.user = None

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        user = User.query.filter_by(username=self.username.data).first()
        if user is None:
            self.username.errors.append('Unknown username')
            return False

        if not user.check_password(self.password.data):
            self.password.errors.append('Invalid password')
            return False

        self.user = user
        return True

