Ejemplo n.º 1
0
class ResetPasswordRequestForm(FlaskForm):
    email = StringField(lazy_('Email'),
                        validators=[DataRequired(), Length(1, 64), Email()],
                        render_kw={'placeholder': lazy_('Email')})
    submit = SubmitField(lazy_('Reset Password'))

    def validate_email(self, field):
        if User.query.filter_by(email=field.data, enable=True).first() is None:
            raise ValidationError(lazy_('Unknown email address'))
Ejemplo n.º 2
0
class ChangeEmailForm(FlaskForm):
    email = StringField(lazy_('New email'),
                        validators=[DataRequired(), Length(1, 64), Email()],
                        render_kw={'placeholder': lazy_('New email')})
    password = PasswordField(lazy_('Password'),
                             validators=[DataRequired()],
                             render_kw={'placeholder': lazy_('Password')})
    submit = SubmitField(lazy_('Update Email Address'))

    def validate_email(self, field):
        if User.query.filter_by(email=field.data, enable=True).first():
            raise ValidationError(lazy_('Email already registered'))
Ejemplo n.º 3
0
class ResetPasswordForm(FlaskForm):
    email = StringField(lazy_('Email'),
                        validators=[DataRequired(), Length(1, 64), Email()])
    password = PasswordField(lazy_('New password'), validators=[DataRequired()])
    password_confirmation = \
        PasswordField(lazy_('Confirm new password'),
                      validators=[DataRequired(),
                                  EqualTo('password',
                                          message=lazy_('Passwords must match'))])
    submit = SubmitField(lazy_('Reset Password'))

    def validate_email(self, field):
        if User.query.filter_by(email=field.data, enable=True).first() is None:
            raise ValidationError(lazy_('Unknown email address'))
Ejemplo n.º 4
0
class EditProfileForm(FlaskForm):
    real_name = StringField(lazy_('Real name'),
                            validators=[Length(0, 64)],
                            render_kw={'placeholder': lazy_('Real name')})
    location = StringField(lazy_('Location'),
                           validators=[Length(0, 64)],
                           render_kw={'placeholder': lazy_('Location')})
    about_me = StringField(lazy_('About me'),
                           render_kw={'placeholder': lazy_('About me')})
    submit = SubmitField(lazy_('Submit'))
Ejemplo n.º 5
0
class ChangePasswordForm(FlaskForm):
    old_password = PasswordField(lazy_('Old password'),
                                 validators=[DataRequired()],
                                 render_kw={'placeholder': lazy_('Old password')})
    new_password = PasswordField(lazy_('New password'),
                                 validators=[DataRequired()],
                                 render_kw={'placeholder': lazy_('New password')})
    new_password_confirmation = \
        PasswordField(lazy_('Confirm new password'),
                      validators=[DataRequired(),
                                  EqualTo('new_password',
                                          message=lazy_('Passwords must match'))],
                      render_kw={'placeholder': lazy_('Confirm new password')})
    submit = SubmitField(lazy_('Update Password'))
Ejemplo n.º 6
0
class LoginForm(FlaskForm):
    email = StringField(lazy_('Email'),
                        validators=[DataRequired(), Length(1, 64), Email()],
                        render_kw={'placeholder': lazy_('Email')})
    password = PasswordField(lazy_('Password'),
                             validators=[DataRequired()],
                             render_kw={'placeholder': lazy_('Password')})
    remember_me = BooleanField(lazy_('Keep me logged in'))
    submit = SubmitField(lazy_('Log In'))
Ejemplo n.º 7
0
class ArticleForm(FlaskForm):
    title = StringField(lazy_('Title'),
                        validators=[DataRequired(),
                                    Length(1, 64)],
                        render_kw={'placeholder': lazy_('Title')})
    category = SelectField(lazy_('Category'),
                           coerce=int,
                           render_kw={'placeholder': lazy_('Category')})
    tags = StringField(
        lazy_('Tag'),
        validators=[DataRequired(), Length(1, 200)],
        render_kw={
            'placeholder':
            lazy_('More than one tag should separate them by comma')
        })
    body = PageDownField(lazy_('Article'), validators=[DataRequired()])
    submit = SubmitField(lazy_('Publish'))

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.category.choices = \
            [(category.id, category.name)
             for category in Category.query.order_by(Category.name).all()]
Ejemplo n.º 8
0
def register_extensions(app):
    bootstrap.init_app(app)
    moment.init_app(app)
    db.init_app(app)
    mail.init_app(app)
    pagedown.init_app(app)
    babel.init_app(app)

    env = app.config['NAME']
    if env == 'Development' or env == 'Production':
        sentry.init_app(app, dsn=app.config['SENTRY_DSN'])

    from models.user import User, AnonymousUser

    login_manager.init_app(app)
    login_manager.session_protection = 'basic'
    login_manager.login_view = 'auth.login'
    login_manager.refresh_view = 'auth.login'
    login_manager.login_message = lazy_('Please log in to access this page')
    login_manager.anonymous_user = AnonymousUser

    @login_manager.user_loader
    def load_user(user_id):
        return User.query.get(int(user_id))
Ejemplo n.º 9
0
class EditProfileAdminForm(FlaskForm):
    email = StringField(lazy_('Email'),
                        validators=[DataRequired(),
                                    Length(1, 64),
                                    Email()],
                        render_kw={'placeholder': lazy_('Email')})
    username = StringField(
        lazy_('Username'),
        validators=[
            DataRequired(),
            Length(1, 64),
            Regexp(
                '^[A-Za-z0-9_.]*$', 0,
                lazy_('Username must have only letters, numbers, "." or "_"'))
        ],
        render_kw={'placeholder': lazy_('Username')})
    confirmed = BooleanField(lazy_('Confirmed'))
    role = SelectField(lazy_('Role'),
                       coerce=int,
                       render_kw={'placeholder': lazy_('Role')})
    real_name = StringField(lazy_('Real name'),
                            validators=[Length(0, 64)],
                            render_kw={'placeholder': lazy_('Real name')})
    location = StringField(lazy_('Location'),
                           validators=[Length(0, 64)],
                           render_kw={'placeholder': lazy_('Location')})
    about_me = TextAreaField(lazy_('About me'),
                             render_kw={'placeholder': lazy_('About me')})
    submit = SubmitField(lazy_('Submit'))

    def __init__(self, user, *args, **kwargs):
        super(EditProfileAdminForm, self).__init__(*args, **kwargs)
        self.role.choices = [(role.id, role.name)
                             for role in Role.query.order_by(Role.name).all()]
        self.user = user

    def validate_email(self, field):
        if field.data != self.user.email and \
                User.query.filter_by(email=field.data).first():
            raise ValidationError(lazy_('Email already registered'))

    def validate_username(self, field):
        if field.data != self.user.username and \
                User.query.filter_by(username=field.data).first():
            raise ValidationError(lazy_('Username already in use'))
Ejemplo n.º 10
0
 def validate_email(self, field):
     if User.query.filter_by(email=field.data, enable=True).first() is None:
         raise ValidationError(lazy_('Unknown email address'))
Ejemplo n.º 11
0
 def validate_username(self, field):
     if field.data != self.user.username and \
             User.query.filter_by(username=field.data).first():
         raise ValidationError(lazy_('Username already in use'))
Ejemplo n.º 12
0
 def validate_email(self, field):
     if field.data != self.user.email and \
             User.query.filter_by(email=field.data).first():
         raise ValidationError(lazy_('Email already registered'))
Ejemplo n.º 13
0
class CommentForm(FlaskForm):
    body = TextAreaField(
        '',
        validators=[DataRequired(), Length(1, 200)],
        render_kw={'placeholder': lazy_('Limited to 200 characters')})
    submit = SubmitField(lazy_('Submit'))
Ejemplo n.º 14
0
 def validate_username(self, field):
     if User.query.filter_by(username=field.data, enable=True).first():
         raise ValidationError(lazy_('Username already in use'))
Ejemplo n.º 15
0
 def validate_email(self, field):
     if User.query.filter_by(email=field.data, enable=True).first():
         raise ValidationError(lazy_('Email already registered'))
Ejemplo n.º 16
0
class RegisterForm(FlaskForm):
    email = StringField(lazy_('Email'),
                        validators=[DataRequired(), Length(1, 64), Email()],
                        render_kw={'placeholder': lazy_('Email')})
    username = StringField(lazy_('Username'),
                           validators=[DataRequired(),
                                       Length(1, 64),
                                       Regexp('^[A-Za-z0-9_.]+$',
                                              0,
                                              lazy_('Username must have only'
                                                    ' letters, numbers, "."'
                                                    ' or "_"'))],
                           render_kw={'placeholder': lazy_('Username')})
    password = PasswordField(lazy_('Password'),
                             validators=[DataRequired(),
                                         Regexp('^[A-Za-z0-9_.@#]+$',
                                                0,
                                                lazy_('Password must have only'
                                                      ' letters, numbers, ".",'
                                                      ' "_", "@" or "#"'))],
                             render_kw={'placeholder': lazy_('Password')})
    password_confirmation = \
        PasswordField(lazy_('Confirm password'),
                      validators=[DataRequired(),
                                  EqualTo('password',
                                          message=lazy_('Passwords must match'))],
                      render_kw={'placeholder': lazy_('Confirm password')})
    submit = SubmitField(lazy_('Register'))

    def validate_email(self, field):
        if User.query.filter_by(email=field.data, enable=True).first():
            raise ValidationError(lazy_('Email already registered'))

    def validate_username(self, field):
        if User.query.filter_by(username=field.data, enable=True).first():
            raise ValidationError(lazy_('Username already in use'))
Ejemplo n.º 17
0
class WeatherForm(FlaskForm):
    city = StringField(lazy_('City'),
                       validators=[DataRequired(),
                                   Length(1, 10)],
                       render_kw={'placeholder': lazy_('City')})
    submit = SubmitField(lazy_('Search'))