def edit(edit_id): target = models.Post.get(models.Post.id == edit_id) form = forms.PostForm() if target.user.username == current_user.username or current_user.is_admin: if form.validate_on_submit(): try: models.Post.create( timestamp=target.timestamp, user=target.user, content=form.content.data.strip(), language=form.language.data, display_language=get_lang_name(form.language.data) ) target.delete_instance() flash('Snippet edited', 'success') return redirect(url_for('index')) except TypeError: flash('Encountered error while editing.', 'warning') form.content.data = target.content form.language.data = target.language return render_template('edit_post.html', form=form, post=target, LANGUAGES=languages.LANGUAGES)
def new_post(): form = forms.PostForm() if form.validate_on_submit(): try: models.Post.create( user=g.user._get_current_object(), content=form.content.data.strip(), language=form.language.data, display_language=get_lang_name(form.language.data) ) flash('Snippet shared', 'success') return redirect(url_for('index')) except TypeError: raise 'Encountered error while posting' return render_template('new_post.html', form=form, LANGUAGES=languages.LANGUAGES)