コード例 #1
0
def change_info():
    info_form = ChangeinfoForm()
    passwd_form = EditPasswordForm()
    summary_form = SummaryForm()
    pay_form = PayForm()
    if request.method == 'POST':
        if info_form.validate_on_submit():
            old_email = current_user.email
            current_user.update(username=info_form.username.data,
                                email=info_form.email.data,
                                phone=info_form.phone.data,
                                unit=info_form.unit.data)
            if info_form.email.data != old_email:
                token = current_user.generate_confirmation_token()
                send_mail(info_form.email.data,
                          'Confirm Your Account',
                          'auth/confirm',
                          user=current_user,
                          token=token)
                flash(u'似乎您已经改变邮箱地址,一封新的确认邮件已经发送到您的新邮箱地址请注意查收.', 'success')
            flash('hi {}, 已经更新邮箱地址.'.format(info_form.username.data),
                  'success')
            return redirect(url_for('users.members'))
        flash_errors(info_form)

    return render_template('user/update.html',
                           info_form=info_form,
                           passwd_form=passwd_form,
                           summary_form=summary_form,
                           pay_form=pay_form)
コード例 #2
0
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # Inquire
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # Modify
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('Successfully Modified', 'success')
            else:
                utils.flash_errors(form)
    else:
        # Add
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('Save Successfully', 'success')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
コード例 #3
0
ファイル: main.py プロジェクト: wk-955/flask-project-album
def new_comment(photo_id):
    photo = Photo.query.get_or_404(photo_id)
    page = request.args.get('page', 1, type=int)
    form = CommentForm()
    if form.validate_on_submit():
        body = form.body.data
        author = current_user._get_current_object()
        comment = Comment(body=body, author=author, photo=photo)

        replied_id = request.args.get('reply')
        if replied_id:
            comment.replied = Comment.query.get_or_404(replied_id)
            if comment.replied.author.receive_comment_notification:
                push_comment_notification(photo_id=photo.id,
                                          receiver=comment.replied.author)
        db.session.add(comment)
        db.session.commit()
        flash('发布评论', 'success')

        if current_user != photo.author and photo.author.receive_comment_notification:
            push_comment_notification(photo_id,
                                      receiver=photo.author,
                                      page=page)

    flash_errors(form)
    return redirect(url_for('.show_photo', photo_id=photo_id, page=page))
コード例 #4
0
ファイル: run.py プロジェクト: andmatt/pongr
def record_match():
    s = '''
    select
    alias,
    printf('%s %s', first_name, last_name) as name
    from player
    '''
    choices = pd.read_sql(s, con=engine)
    choice_list = sorted([(i['alias'], i['name'])
                          for i in choices.to_dict('records')])

    form = MatchForm(csrf_enabled=False)
    form.player_a.choices = choice_list
    form.player_b.choices = choice_list

    if request.method == 'POST' and form.validate_on_submit():
        record = Game(player_a=form.player_a.data,
                      player_b=form.player_b.data,
                      score_a=form.score_a.data,
                      score_b=form.score_b.data,
                      deleted=0,
                      timestamp=time.time())
        db.session.add(record)
        db.session.commit()

        push_new_ratings(con=engine)

        return redirect('/games')

    else:
        flash_errors(form)

    return render_template('addmatch.html', form=form)
コード例 #5
0
ファイル: views.py プロジェクト: anic/flask-adminlte-scaffold
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
コード例 #6
0
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()
            utils.form_to_model(form, model)
            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
コード例 #7
0
def edit():
    form = EditForm(request.form)

    if form.validate_on_submit():
        bruker = Bruker.query.filter_by(id=current_user.get_id()).first()
        bruker.passord = form.passord.data
        bruker.telefon = form.telefon.data

        db.session.commit()

        flash(USR_ACCUPDT, FLASH_SUCCESS)
        return redirect(url_for('pages.index'))
    else:
        if form.errors:
            flash_errors(form)

        # pre-fill data i alle tekstfeldt
        form.email.data = current_user.email
        form.passord.data = current_user.passord
        form.passord_igjen.data = current_user.passord
        form.fornavn.data = current_user.fornavn
        form.etternavn.data = current_user.etternavn
        form.telefon.data = current_user.telefon

        return render_template('forms/edit.html', form=form, current_user=current_user)
コード例 #8
0
def edit():
    form = EditForm(request.form)

    if form.validate_on_submit():
        bruker = Bruker.query.filter_by(id=current_user.get_id()).first()
        bruker.passord = form.passord.data
        bruker.telefon = form.telefon.data

        db.session.commit()

        flash(USR_ACCUPDT, FLASH_SUCCESS)
        return redirect(url_for('pages.index'))
    else:
        if form.errors:
            flash_errors(form)

        # pre-fill data i alle tekstfeldt
        form.email.data = current_user.email
        form.passord.data = current_user.passord
        form.passord_igjen.data = current_user.passord
        form.fornavn.data = current_user.fornavn
        form.etternavn.data = current_user.etternavn
        form.telefon.data = current_user.telefon

        return render_template('forms/edit.html',
                               form=form,
                               current_user=current_user)
コード例 #9
0
def register():
    """Register new user."""
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        User.create(username=form.username.data, email=form.email.data, password=form.password.data, active=True)
        flash('Thank you for registering. You can now log in.', 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('public/register.html', form=form)
コード例 #10
0
ファイル: routes.py プロジェクト: zhangwei1989/microblog
def upload_avatar():
    form = UploadAvatarForm()
    if form.validate_on_submit():
        image = form.image.data
        filename = avatars.save_avatar(image)
        current_user.avatar_raw = filename
        db.session.commit()
        flash('Image uploaded, please crop.', 'success')
    flash_errors(form)
    return redirect(url_for('main.change_avatar'))
コード例 #11
0
ファイル: auth.py プロジェクト: planset/templa
def signin():
    form = forms.SigninForm(request.form)
    next_url = form.next.data or url_for('index')
    
    if not form.validate_on_submit():
        utils.flash_errors(form.errors)
        return redirect(next_url)
    
    session['user_id'] = form.user.id
    return redirect(next_url)
コード例 #12
0
def home():
    form = LoginForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash(u'您已经成功登录.', 'success')
            redirect_url = request.args.get('next') or url_for('users.members')
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template('home.html', form=form)
コード例 #13
0
ファイル: views.py プロジェクト: night1994/flask_auth_system
def change_passwd():
    passwd_form = EditPasswordForm()
    info_form = ChangeinfoForm()
    if passwd_form.validate_on_submit():
        current_user.set_password(passwd_form.new_password.data)
        current_user.save()
        flash('hi {}, Already update your password.'.format(current_user.username), 'success')
        return redirect(url_for('users.members'))
    else:
        flash_errors(passwd_form)
        return render_template('user/update.html', info_form=info_form, passwd_form=passwd_form)
コード例 #14
0
def profile():
    form = ProfileForm()
    if form.validate_on_submit():
        current_user.nickname = form.nickname.data
        current_user.github = form.github.data
        current_user.website = form.website.data
        current_user.bio = form.bio.data
        db.session.commit()
        return redirect(url_for('.home'))
    flash_errors(form)
    return render_template('chat/profile.html', form=form)
コード例 #15
0
ファイル: views.py プロジェクト: gabeos/docker-flask-template
def home():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            redirect_url = request.args.get("next") or url_for("user.members")
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template("public/home.html", form=form)
コード例 #16
0
ファイル: views.py プロジェクト: gabeos/docker-flask-template
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        new_user = User.create(username=form.username.data,
                               email=form.email.data,
                               password=form.password.data,
                               active=True)
        flash("Thank you for registering. You can now log in.", 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('public/register.html', form=form)
コード例 #17
0
ファイル: routes.py プロジェクト: Littlebus/compNet
def upload_avatar(unit_id):
    unit = Unit.query.get(unit_id)
    form = UploadAvatarForm()
    if form.validate_on_submit():
        image = form.image.data
        filename = avatars.save_avatar(image)
        delete_avatar(unit.avatar_raw)
        unit.avatar_raw = filename
        db.session.commit()
        flash('图片已经被上传,请裁剪', 'success')
    flash_errors(form)
    return redirect(url_for('change_avatar', unit_id=unit.id))
コード例 #18
0
ファイル: views.py プロジェクト: gabeos/docker-flask-template
def home():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            redirect_url = request.args.get("next") or url_for("user.members")
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template("public/home.html", form=form)
コード例 #19
0
def home():
    """Home page."""
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash('You are logged in.', 'success')
            redirect_url = request.args.get('next') or url_for('user.members')
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template('public/home.html', form=form)
コード例 #20
0
def home():
    """Home page."""
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash('You are logged in.', 'success')
            redirect_url = request.args.get('next') or url_for('user.members')
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template('public/home.html', form=form)
コード例 #21
0
ファイル: main.py プロジェクト: wk-955/flask-project-album
def edit_description(photo_id):
    photo = Photo.query.get_or_404(photo_id)
    if current_user != photo.author:
        abort(403)

    form = DescriptionForm()
    if form.validate_on_submit():
        photo.description = form.description.data
        db.session.commit()
        flash('更新描述', 'success')

    flash_errors(form)
    return redirect(url_for('.show_photo', photo_id=photo_id))
コード例 #22
0
ファイル: template.py プロジェクト: planset/templa
def new():
    form = forms.TemplateForm(request.form)

    if request.method == "GET":
        return render_template("temp/new.html", form=form, **g.ctx)

    if not form.validate_on_submit():
        utils.flash_errors(form.errors)
        return render_template("temp/new.html", form=form, **g.ctx)

    TemplateModel().new(form, g.user)

    return redirect(url_for("template.list"))
コード例 #23
0
ファイル: template.py プロジェクト: planset/templa
def new():
    form = forms.TemplateForm(request.form)

    if request.method == "GET":
        return render_template("temp/new.html", form=form, **g.ctx)

    if not form.validate_on_submit():
        utils.flash_errors(form.errors)
        return render_template("temp/new.html", form=form, **g.ctx)
    
    TemplateModel().new(form, g.user)
    
    return redirect(url_for("template.list"))
コード例 #24
0
def register():
    """Register new user."""
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        User.create(id=time.time(),
                    username=form.username.data,
                    email=form.email.data,
                    password=form.password.data,
                    active=True)
        flash('Thank you for registering. You can now log in.', 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('public/register.html', form=form)
コード例 #25
0
ファイル: views.py プロジェクト: torbjomg/pwa_flask_app
def home():
    """Home page."""
    form = LoginForm(request.form)
    current_app.logger.info("Hello from the home page!")
    # Handle logging in
    if request.method == "POST":
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", "success")
            redirect_url = request.args.get("next") or url_for("user.members")
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template("public/home.html", form=form)
コード例 #26
0
def login():
    """Login user."""
    if current_user.is_authenticated:
        return redirect(url_for('public.home'))
    form = LoginForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash(_('You are logged in.'), 'success')
            redirect_url = request.args.get('next') or url_for('user.members')
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_template('login.html', form=form)
コード例 #27
0
def cancellation_account(form, view):
    if form.validate_on_submit():
        account_id = form.account_id.data
        delete_user = User.get_or_none(User.account_id == account_id)
        if delete_user is not None:
            if int(current_user.authority) < int(delete_user.authority):
                delete_user.delete_instance()
                flash('销户成功')
            else:
                flash('您没有权限注销该用户')
        else:
            flash('没有该用户')
    else:
        utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
コード例 #28
0
def register():
    """Register new user."""
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        User.create(
            username=form.username.data,
            email=form.email.data,
            password=form.password.data,
            active=True,
        )
        flash("Thank you for registering. You can now log in.", "success")
        return redirect(url_for("public.home"))
    else:
        flash_errors(form)
    return render_template("public/register.html", form=form)
コード例 #29
0
ファイル: routes.py プロジェクト: zhangwei1989/microblog
def crop_avatar():
    form = CropAvatarForm()
    if form.validate_on_submit():
        x = form.x.data
        y = form.y.data
        w = form.w.data
        h = form.h.data
        filenames = avatars.crop_avatar(current_user.avatar_raw, x, y, w, h)
        current_user.avatar_s = filenames[0]
        current_user.avatar_m = filenames[1]
        current_user.avatar_l = filenames[2]
        db.session.commit()
        flash('Avatar updated.', 'success')
    flash_errors(form)
    return redirect(url_for('main.change_avatar'))
コード例 #30
0
ファイル: views.py プロジェクト: PdoraB/accbook
def common_edit(DynamicModel, form, view):
    id = request.args.get('id', '')
    if id:
        # 查询
        model = DynamicModel.get(DynamicModel.id == id)
        if request.method == 'GET':
            utils.model_to_form(model, form)
        # 修改
        if request.method == 'POST':
            if form.validate_on_submit():
                utils.form_to_model(form, model)
                model.save()
                flash('修改成功')
            else:
                utils.flash_errors(form)
    else:
        # 新增
        if form.validate_on_submit():
            model = DynamicModel()

            utils.form_to_model(form, model)

            if model.account_money != "":

                model.account_USD = round(
                    float(model.account_money) * change_rate("CNY", "USD"), 3)
                model.account_BYN = round(
                    float(model.account_money) * change_rate("CNY", "BYN"), 3)

            elif model.account_USD != "":
                model.account_money = round(
                    float(model.account_USD) * change_rate("USD", "CNY"), 3)
                model.account_BYN = round(
                    float(model.account_USD) * change_rate("USD", "BYN"), 3)
            elif model.account_BYN != "":
                model.account_USD = round(
                    float(model.account_BYN) * change_rate("BYN", "USD"), 3)
                model.account_money = round(
                    float(model.account_BYN) * change_rate("BYN", "CNY"), 3)

            model.save()
            flash('保存成功')
        else:
            utils.flash_errors(form)

    return render_template(view, form=form, current_user=current_user)
コード例 #31
0
def register():
    """Register new user."""
    form = RegisterForm(request.form)
    if form.validate_on_submit():
        user = User.create(username=form.username.data,
                           email=form.email.data,
                           password=form.password.data,
                           active=False,
                           locale=g.locale)
        session['locale'] = user.locale
        flash(_('Thank you for registering. Please validate your email address before logging in.'),
              'success')
        send_confirm_email(user)
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_template('register.html', form=form)
コード例 #32
0
def pay_method():
    pay_form = PayForm()
    summary_form = SummaryForm()
    info_form = ChangeinfoForm()
    passwd_form = EditPasswordForm()
    if pay_form.validate_on_submit():
        if pay_form.pay_online.data[0] == 'y':
            current_user.update(is_online_pay=True)
        else:
            current_user.update(is_online_pay=False)
        flash(u'hi {}, 已经更新支付方式.'.format(current_user.username), 'success')
        return redirect(url_for('users.members'))
    flash_errors(pay_form)
    return render_template('user/update.html',
                           summary_form=summary_form,
                           pay_form=pay_form,
                           info_form=info_form,
                           passwd_form=passwd_form)
コード例 #33
0
def create_account(form, view):
    if form.validate_on_submit():
        if current_user.authority == '2':
            flash('您没有权限开户')
        else:
            new_user = User()
            error = utils.open_account(form, new_user,
                                       int(current_user.authority),
                                       current_user.id)
            if error == 0:
                flash('开户成功,账号:' + str(new_user.account_id))
            elif error == 1:
                flash('用户名重复')
            else:
                flash('开户失败')
    else:
        utils.flash_errors(form)
    return render_template(view, form=form, current_user=current_user)
コード例 #34
0
def contact():
    """Home page."""
    form = ContactForm()
    current_app.logger.info("Hello from the contact page!")
    # Handle logging in
    if request.method == "POST":
        current_app.logger.info("POSTING!")
        if form.validate_on_submit():
            current_app.logger.info("SUCCESS!")
            current_app.logger.info("SUCCESS!")
            current_app.logger.info("SUCCESS!")
            current_app.logger.info("SUCCESS!")
            current_app.logger.info("SUCCESS!")
            send_new_contact_form_email(form)
            flash_success("We received your message!")
        else:
            flash_errors(form)
    return render_template("public/contact.html", form=form)
コード例 #35
0
ファイル: template.py プロジェクト: planset/templa
def edit(id):
    form = forms.EditTemplateForm(request.form)
    template = TemplateModel().get(id) or abort(404)
    g.ctx["form"] = form
    g.ctx["template"] = template
    
    if request.method == "GET":
        form.subject.data = template.subject
        form.description.data = template.description
        form.tags.data = [tag.name for tag in template.tags]
        return render_template("temp/edit.html", **g.ctx)

    if not form.validate_on_submit():
        utils.flash_errors(form.errors)
        return render_template("temp/edit.html", **g.ctx)

    TemplateModel().update(template, form, g.user)
    
    return redirect(url_for('template.show', id=id))
コード例 #36
0
ファイル: views.py プロジェクト: night1994/flask_auth_system
def change_info():
    info_form = ChangeinfoForm()
    passwd_form = EditPasswordForm()
    if request.method == 'POST':
        if info_form.validate_on_submit():
            old_email = current_user.email
            current_user.update(username=info_form.username.data,
                                email=info_form.email.data)
            if info_form.email.data != old_email:
                token = current_user.generate_confirmation_token()
                send_mail(info_form.email.data, 'Confirm Your Account',
                          'auth/confirm', user=current_user, token=token)
                flash('Seems you change your email. A confirmation email has been sent to you by email. \
                        note: open verify email better on your pc browser', 'success')
            flash('hi {}, Already update your infomation.'.format(info_form.username.data), 'success')
            return redirect(url_for('users.members'))
        else:
            flash_errors(info_form)
            return render_template('user/update.html', info_form=info_form, passwd_form=passwd_form)
コード例 #37
0
def profile():
    form = EditProfileForm()
    if form.validate_on_submit():
        current_user.first_name = form.first_name.data
        current_user.last_name = form.last_name.data
        current_user.locale = form.locale.data
        db.session.commit()
        session['locale'] = form.locale.data
        flash(_('Your changes have been saved.'))
        # return redirect(url_for('public.home'))
        return render_template('profile.html', title=_('Profile'), form=form)
    elif request.method == 'GET':
        form.username.data = current_user.username
        form.first_name.data = current_user.first_name
        form.last_name.data = current_user.last_name
        form.locale.data = current_user.locale
    else:
        flash_errors(form)
    return render_template('profile.html', title=_('Profile'), form=form)
コード例 #38
0
def register():
    form = RegisterForm(request.form)

    if form.validate_on_submit():
        user = Bruker(email=form.email.data,
                      passord=form.passord.data,
                      fornavn=form.fornavn.data,
                      etternavn=form.etternavn.data,
                      status=USR_ACTIVE,
                      telefon=form.telefon.data)

        db.session.add(user)
        db.session.commit()

        flash(USR_REGISTRED, FLASH_SUCCESS)
        return redirect(url_for('pages.index'))
    else:
        if form.errors:
            flash_errors(form)

        return render_template('forms/register.html', form=form)
コード例 #39
0
def login():
    form = LoginForm(request.form)

    if form.validate_on_submit():
        bruker = Bruker.query.filter_by(email=form.email.data, passord=form.passord.data).first()

        if bruker is None:
            flash(USR_WRONG_USRPWD, FLASH_ERROR)
            return redirect(url_for('pages.index'))

        if bruker.status == USR_NOTACTIVE:
            flash(USR_DEACTIVEATED, FLASH_INFO)
            return redirect(url_for('pages.index'))

        login_user(bruker)
        flash(USR_LOGGEDIN, FLASH_SUCCESS)
        return redirect(request.args.get("next") or url_for('pages.index'))
    else:
        if form.errors:
            flash_errors(form)

        return render_template('forms/login.html', form=form)