Example #1
0
def edit(id):
    compose = Compose.query.get_or_404(id)
    if current_user != compose.author and not current_user.can(
            Permission.ADMINISTER):
        abort(403)
    form = ComposeForm()
    if form.validate_on_submit():
        compose.body = form.body.data
        db.session.add(compose)
        db.session.commit()
        flash('The article has been updated.')
        return redirect(url_for('main.compose', id=compose.id))
    form.body.data = compose.body
    return render_template('edit.html', form=form, compose=compose)
def open_message_thread(recipients, subject, template,
                        sender, context={}, send=True, message=None):
    body = ''
    if template:
        t = get_template(template)
        body = t.render(Context(context))
    else:
        body = message

    from forms import ComposeForm  # temporary here to remove circular dependence
    compose_form = ComposeForm(data={
        "recipient": recipients,
        "subject": subject,
        "body": body
    })
    if compose_form.is_valid():
        (thread, new_message) = compose_form.save(sender=sender, send=send)

    return (thread, new_message)
Example #3
0
def show_entries():
    form = ComposeForm()
    page = request.args.get('page', 1, type=int)
    pagination = Compose.query.order_by(Compose.timestamp.desc()).paginate(
        page, per_page=10, error_out=False)
    composes = pagination.items

    if current_user.can(Permission.WRITE_ARTICLES) and \
       form.validate_on_submit():
        new_compose = Compose(title=form.title.data,
                              body=form.body.data,
                              author=current_user._get_current_object())
        db.session.add(new_compose)
        db.session.commit()
        flash('New entry was successfully posted')
        return redirect(url_for('main.show_entries'))

    return render_template('show_entries.html',
                           form=form,
                           entries=composes,
                           pagination=pagination,
                           Permission=Permission,
                           pagedown=pagedown)
Example #4
0
 def initialize(self, *args, **kwargs):
     self.form = ComposeForm(self.request.arguments)