예제 #1
0
파일: views.py 프로젝트: radiosilence/wire
def edit_user(new=False):
    if not new:
        try:
            g.user.username
        except AttributeError:
            abort(401)

    if new:
        u = User(redis=g.r)
    else:
        u = g.user
    if request.method == 'POST':
        u.update(request.form, new=new)

        try:
            avatar = request.files.get('avatar')
            if avatar:
                try:
                    u.avatar = upload_avatar(avatar)
                    flash("Upload successful.", 'success')
                except UploadNotAllowed:
                    flash("Upload not allowed.", 'error')
            u.save()
            if new:
                flash('"User "%s" created successfully. \
                    You may now log in.' % u.username, 'success')
                return redirect(url_for('frontend.intro'))
            else:
                flash('Profile updated.', 'success')
                return redirect(url_for('frontend.edit_user'))
        except UserValidationError:
            for error in u.validation_errors:
                flash(error, 'error')

    return render_template('forms/user.html',
        new=new,
        user=u
    )
예제 #2
0
def edit_user(new=False):
    if not new:
        try:
            g.user.username
        except AttributeError:
            abort(401)

    if new:
        u = User(redis=g.r)
    else:
        u = g.user
    if request.method == 'POST':
        u.update(request.form, new=new)

        try:
            avatar = request.files.get('avatar')
            if avatar:
                try:
                    u.avatar = upload_avatar(avatar)
                    flash("Upload successful.", 'success')
                except UploadNotAllowed:
                    flash("Upload not allowed.", 'error')
            u.save()
            if new:
                flash(
                    '"User "%s" created successfully. \
                    You may now log in.' % u.username, 'success')
                return redirect(url_for('frontend.intro'))
            else:
                flash('Profile updated.', 'success')
                return redirect(url_for('frontend.edit_user'))
        except UserValidationError:
            for error in u.validation_errors:
                flash(error, 'error')

    return render_template('forms/user.html', new=new, user=u)