Ejemplo n.º 1
0
def write_letter(id):
    send_conv = Conversation.query.filter_by(
        to_user_id = id,
        from_user_id = current_user.id
    ).all()
    receive_conv = Conversation.query.filter_by(
        to_user_id = current_user.id,
        from_user_id = id
    ).all()
    if receive_conv:
        for conv in receive_conv:
            conv.unread = False

    form = LetterForm()
    if current_user.operation(Permission.WRITE_ARTICLES) and \
            form.validate_on_submit():
        letter = form.body.data
        conversation = Conversation(from_user_id=current_user.id,
                                    to_user_id=id,
                                    letter=letter,
                                    unread=True)
        db.session.add(conversation)
        flash('发送私信成功。')
        return redirect(url_for('message.write_letter',id=id))
    return render_template('message/conversation.html',
                           title='消息',
                           receive_conv = receive_conv,
                           send_conv = send_conv,
                           all = max(len(receive_conv),len(send_conv)),
                           form=form)
Ejemplo n.º 2
0
def edit(id):
    post = Post.query.get_or_404(id)
    if current_user != post.author and \
        not current_user.operation(Permission.ADMINISTER):
        abort(403)
    form = EditpostForm()
    if form.validate_on_submit():
        post.body = form.body.data
        if post.draft == True:
            if 'save_draft' in request.form and form.validate():
                db.session.add(post)
                flash('Saved!')
            elif 'submit' in request.form and form.validate():
                post.draft = False
                db.session.add(post)
                flash('Post released')
            return redirect(url_for('user.edit', id=post.id))
        else:
            db.session.add(post)
            flash('Post Updated')
            return redirect(url_for('user.post', id=post.id))
    form.title.data = post.title
    form.body.data = post.body
    return render_template('user/editpost.html',
                           form=form,
                           post=post,
                           title='Edit Article')
Ejemplo n.º 3
0
def edit(id):
    post = Post.query.get_or_404(id)
    if current_user != post.author and \
        not current_user.operation(Permission.ADMINISTER):
        abort(403)
    form = EditpostForm()
    if form.validate_on_submit():
        post.body = form.body.data
        if post.draft == True:
            if 'save_draft' in request.form and form.validate():
                db.session.add(post)
                db.session.commit()
                flash('Draft Saved!')
            elif 'submit' in request.form and form.validate():
                post.draft = False
                db.session.add(post)
                db.session.commit()
                flash('Succesfully submited')
            return redirect(url_for('main.edit', id=post.id))
        else:
            db.session.add(post)
            db.session.commit()
            flash('Reply published')
            return redirect(url_for('main.post', id=post.id))
    form.title.data = post.title
    form.body.data = post.body
    return render_template('user/editpost.html',
                           form=form,
                           post=post,
                           title='reply')
Ejemplo n.º 4
0
def write():
    form = PostForm()
    if current_user.operation(Permission.WRITE_ARTICLES) and \
            form.validate_on_submit():
        if 'save_draft' in request.form and form.validate():
            post = Post(body=form.body.data,
                        title=form.title.data,
                        draft=True,
                        author=current_user._get_current_object())
            db.session.add(post)
            flash('Post Saved')
        elif 'submit' in request.form and form.validate():
            post = Post(body=form.body.data,
                        title=form.title.data,
                        author=current_user._get_current_object())
            db.session.add(post)
            flash('Post Submitted')
        return redirect(url_for('user.write'))
    return render_template('user/write.html',
                           form=form,
                           post=form.body.data,
                           title='write a blog')
Ejemplo n.º 5
0
 def decorated_function(*args, **kwargs):
     if not current_user.operation(permission):
         abort(403)
     return f(*args, **kwargs)