示例#1
0
def current_user_profile_page():
    """
    Route that provides a path to the current users profile page for editting
    """
    form = UserProfileForm(request.form, obj=current_user)
    session.pop('_flashes',None)

    if request.method == 'POST':
        current_user.full_name = request.form.get('full_name')
        current_user.affiliation = request.form.get('affiliation')

        aft_id = request.form.get('affiliation_type')
        aft = AffiliationType.query.filter(
            AffiliationType.id == int(aft_id)).first()
        current_user.affiliation_type = aft

        db.session.commit()
        flash("Profile Information Updated", "message")
        # TODO: Add a redirect

    return render_template('profile/edit_user_profile.html',
                           form=form,
                           form_user=current_user,
                           edit_roles=False,
                           can_associate=True)
示例#2
0
def admin_user_profile_page():
    """
    Route that provides an path to another users profile page for admin editting
    """
    user_id = request.args.get('user_id')
    user = User.query.filter(User.id == user_id).first()
    if user is None:
        redirect(url_for('main.index'))

    form = UserProfileForm(request.form, obj=user)
    roles = Role.query.all()
    form.roles.choices = [(r.id, r.name) for r in roles]
    current_roles = [r.id for r in user.roles]

    if request.method == "POST":
        user.full_name = request.form.get('full_name')
        user.affiliation = request.form.get('affiliation')

        aft_id = request.form.get('affiliation_type')
        aft = AffiliationType.query.filter(
            AffiliationType.id == int(aft_id)).first()
        user.affiliation_type = aft

        user.roles = []
        for r in form.roles.data:
            rl = Role.query.filter(Role.id == r).first()
            user.roles.append(rl)

        db.session.commit()
        flash("Profile Information Updated", "message")
        # TO DO: Add redirect

    return render_template('profile/edit_user_profile.html',
                           form=form,
                           form_user=user,
                           current_roles=current_roles,
                           edit_roles=True,
                           can_associate=False)