Esempio n. 1
0
    def post(self, key=None):
        form = StowForm(request.form)

        stow = None
        if key:
            stow = Stow.query.filter_by(user_id=current_user.id,
                                        key=key).first()
            if form.delete.data is True:
                stow.destroy()
                flash('Deleted stow {!r}.'.format(stow.key), 'info')
                return redirect(url_for('web.IndexView:index'))

        if not form.validate():
            flash_form_errors(form)
            return self.render(form=form)

        if not stow:
            stow = Stow()
            stow.user_id = current_user.id
        stow.key = form.key.data
        stow.value = form.value.data

        try:
            stow.save()
        except IntegrityError:
            flash('Key: This field must be unique.', 'danger')
            return self.render(form=form)

        if key:
            flash('Updated stow {!r}.'.format(stow.key), 'info')
        else:
            flash('Created stow {!r}.'.format(stow.key), 'info')

        return redirect(url_for('web.IndexView:index'))
Esempio n. 2
0
    def post(self):
        form = LoginForm(request.form)

        if not form.validate():
            flash_form_errors(form)
            return self.render(form=form)

        user = User.query.filter(User.name.ilike(form.name.data)).first()

        if not user or not user.verify_password(form.password.data):
            flash('Incorrect login credentials.', 'danger')
            return self.render(form=form)

        login_user(user)
        return redirect_next(url_for('web.IndexView:index'))
Esempio n. 3
0
    def post(self):
        form = RegisterForm(request.form)

        if not form.validate():
            flash_form_errors(form)
            return self.render(form=form)

        user = User.query.filter(User.name.ilike(form.name.data)).first()

        if user:
            flash('The name \'{}\' is not available.'.format(form.name.data),
                  'danger')
            return self.render(form=form)

        user = User(name=form.name.data, password=form.password.data)
        user.save()
        flash('Welcome {}! You are now registered!'.format(user.name),
              'success')
        login_user(user)
        return redirect_next(url_for('web.IndexView:index'))
Esempio n. 4
0
    def post(self):
        form = ChangeCredentialsForm(request.form)

        if not form.validate():
            flash_form_errors(form)
            return self.render(form=form)

        if current_user.name.lower() != form.name.data.lower():
            user = User.query.filter(User.name.ilike(form.name.data)).first()
            if user:
                flash('The name {!r} is not available.'.format(form.name.data),
                      'danger')
                return self.render(form=form)

        if not current_user.verify_password(form.old_password.data):
            flash('Incorrect password.', 'danger')
            return self.render(form=form)

        current_user.name = form.name.data
        current_user.hash_password(form.new_password.data)
        current_user.save()
        flash('Updated account credentials.', 'success')
        return redirect(url_for('web.AccountView:index'))
Esempio n. 5
0
def unauthorized_handler():
    """
    If a user is not logged in, redirect to the login page.
    """
    return redirect(
        url_for('web.LoginView:index', next=url_with_host(request.path)))
Esempio n. 6
0
 def index(self):
     logout_user()
     return redirect(url_for('web.LoginView:index'))
Esempio n. 7
0
    def index(self):
        if current_user:
            redirect(url_for('web.IndexView:index'))

        form = LoginForm(request.form)
        return self.render(form=form)