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)
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)
def initialize(self, *args, **kwargs): self.form = ComposeForm(self.request.arguments)