コード例 #1
0
ファイル: views.py プロジェクト: dregor/flask
def users():
    user_delete_form = UserDeleteForm()

    if request.method == 'POST':
        if user_delete_form.validate_on_submit():
            if current_user.have_role('admin'):
                user_tmp = User.query.get(user_delete_form.user_id.data)
                try:
                    user_tmp.delete()
                except Exeption as e:
                    flush(gettext('Can\'t delete user error - %(error)s', error=e), 'danger')
                else:
                    flash(gettext('User %(user)s has been deleted', user=user_tmp.nickname), 'info')
            else:
                flash(gettext('You don\'t have an access to do this'), 'danger')

        return redirect(request.path)
    user_list = User.query.order_by(User.id)
    return render_template('users.html',
                           title='Users',
                           users=user_list,
                           user_delete_form=user_delete_form)
コード例 #2
0
ファイル: views.py プロジェクト: dregor/flask
def user(nickname, page=1):

    user_tmp = User.query.filter_by(nickname=nickname).first()

    if user_tmp is None:
        flash(gettext('User %(user)s don\'t found.',user=nickname), 'warning')
        return redirect(url_for('index'))

    posts = Post.query.filter_by(wall_id=user_tmp.id).paginate(page, POSTS_PER_PAGE, False)
    post_delete_form = PostDeleteForm()
    post_form = PostForm()

    if post_delete_form.validate_on_submit():
        post_tmp = Post.query.get(post_delete_form.post_id.data)
        if post_tmp.author == current_user or current_user.have_role('admin'):
            try:
                post_tmp.delete()
            except Exception as e:
                flash(gettext('Can\'t delete post, error - %(error)s', error=e), 'danger')
            else:
                flash(gettext('Post has been deleted'), 'info')
        else:
            flash(gettext('You don\'t have an access to do this'), 'danger')
        return redirect(request.path)

    if post_form.validate_on_submit():
        user_tmp.post_on_the_wall(user=current_user,
                                  body=post_form.post.data)
        return redirect(request.path)

    return render_template('user.html',
                           title='User :' + nickname,
                           user=user_tmp,
                           post_form=post_form,
                           post_delete_form=post_delete_form,
                           posts=posts,
                           current_page=page
                           )