예제 #1
0
def stream(user_id=None):
    template = 'stream.html'
    if user_id and user_id != session['user_id']:
        user = db.member_info(str(user_id))
        stream = db.post_list_by_my_id(user_id)[:100]
    else:
        user = db.member_info(str(session['user_id']))
        stream = db.post_list_by_id(str(session['user_id']))[:100]
    if user_id:
        template = 'user_stream.html'
    return render_template(template, stream=stream, user=user)
예제 #2
0
def settings_profile_edit():
    if session['login']:
        user = db.member_info(session['user_id'])
        form = forms.ProfileForm(x=user[0][0],
                                 username=user[0][1],
                                 email=user[0][3],
                                 dob=user[0][4],
                                 bio=user[0][5])
        if form.validate_on_submit():
            if (form.username.data
                    in db.username_not_mine_fetch(session['username'])):
                flash("Username is already in use!", "error")
            elif (form.email.data
                  in db.email_not_mine_fetch(session['email'])):
                flash("Email is already in use!", "error")
            else:
                result = db.update_member(session['user_id'],
                                          form.username.data, form.email.data,
                                          form.dob.data, form.bio.data)
                if result:
                    session['username'] = form.username.data
                    session['email'] = form.email.data
                    session['dob'] = form.dob.data
                    flash('Edited', 'success')
                    return redirect(url_for('settings'))
        return render_template('profile_edit.html', form=form)
예제 #3
0
def unfollow(user_id):
    if session['login']:
        try:
            to_user = db.member_info(user_id)
        except to_user is False:
            abort(404)
        else:
            db.unfollow_user(session['user_id'], to_user[0][0])
            flash("You unfollowed {}!".format(to_user[0][1]), 'success')
        return redirect(request.referrer)
예제 #4
0
def settings_new_password():
    if session['login']:
        form = forms.PasswordForm()
        user = db.member_info(session['user_id'])
        if form.validate_on_submit():
            if check_password_hash(user[0][2], form.currentpassword.data):
                db.update_password(user[0][0], form.newpassword.data)
                flash('New password set', 'success')
                return redirect(url_for('settings'))
            else:
                flash("Incorrect Password!", "error")
        return render_template('password_edit.html', form=form)
예제 #5
0
def settings_delete_account():
    if session['login']:
        form = forms.DeleteForm()
        user = db.member_info(session['user_id'])
        if form.validate_on_submit():
            if check_password_hash(user[0][2], form.password.data):
                db.delete_member(user[0][0])
                flash('Account Deleted', 'success')
                logout()
                return redirect(url_for('index'))
            else:
                flash("Incorrect Password!", "error")
        return render_template('delete_account.html', form=form)
예제 #6
0
def profile(user_id):
    user = db.member_info(user_id)
    return render_template('profile.html', user=user)