示例#1
0
def edit_user(id):
    user = User.objects.get_or_404(pk=id)
    form = UserForm(obj=user)
    form_url = url_for('.edit_user', id=id)

    if form.validate_on_submit():
        form.populate_obj(user)
        user.save()
        flash('User updated', 'success')

    return render_template('admin/users/form.html',
                           user=user,
                           form=form,
                           form_url=form_url)
示例#2
0
def edit_users(id):
    user = User.query.get(id)
    form = UserForm(request.form, obj=user)
    if request.method == 'POST':
        if form.validate:
            user_exists = User.query.filter(User.name == form.name.data).first()
            if not user_exists or user_exists.username == user.username:
                email_exists = User.query.filter(User.email == form.email.data).first()
                if not email_exists or email_exists.email == user.email:
                    form.populate_obj(user)
                    db.session.add(user)
                    db.session.commit()
                    flash('Usuário editado', 'success')
                    return redirect(url_for('index_users'))
                else:
                    flash('Email já existe', 'danger')
            else:
                flash('Usuario já existe', 'danger')
        else:
            flash('Erro ao registrar usuário', 'danger')
    return render_template('users/edit.html', form=form, editing=True)
示例#3
0
def edit(user_id):
    user_obj = User.query.get(user_id)
    user_form = UserForm(
        obj=user_obj) if current_user.is_admin else UserFormNonAdmin(
            obj=user_obj)

    if user_form.validate_on_submit():
        if not user_form.data['password']:
            password = user_obj.password
            user_form.populate_obj(user_obj)
            user_obj.password = password
        else:
            user_form.populate_obj(user_obj)
        db.session.add(user_obj)
        db.session.commit()

        flash('Save Successful', 'success')
        return redirect(url_for('user.user_list'))

    return render_template('common/editor.jinja.html',
                           title='User',
                           form=user_form)