def update_cover(cover_id): if not current_user.is_admin: abort(403) cover = Cover.query.get_or_404(cover_id) # if post.author != current_user: # abort(403) page = Page.query.filter_by(id=cover.page_id).first_or_404() choices = [] choices.append((page.name, page.name)) for p in Page.query.all(): if p is not page: choices.append((p.name, p.name)) form = CoverForm() form.page.choices = choices if form.validate_on_submit(): page = Page.query.filter_by(name=form.page.data).first_or_404() cover.page_id = page.id if form.picture.data: delete_picture(cover.image_file) picture_file = save_picture(form.picture.data) cover.image_file = picture_file cover.content = form.content.data db.session.commit() flash('Cover has been updated!', 'success') return redirect(url_for('pages.page', page_name='home')) form.content.data = cover.content return render_template('create_cover.html', title='Update Cover', form=form, legend='Update Cover')
def update_item(item_id): if not current_user.is_admin: abort(403) item = Item.query.get_or_404(item_id) page = Page.query.filter_by(id=item.page_id).first_or_404() choices = [] choices.append((page.name, page.name)) for p in Page.query.all(): if p is not page: choices.append((p.name, p.name)) form = ItemForm() form.page.choices = choices form.link.choices = choices if form.validate_on_submit(): page = Page.query.filter_by(name=form.page.data).first_or_404() item.page_id = page.id if form.picture.data: global image_size delete_picture(item.image_file) picture_file = save_picture(form.picture.data, image_size) item.image_file = picture_file item.content = form.content.data item.link = form.link.data db.session.commit() flash('Item has been updated!', 'success') return redirect(url_for('pages.page', page_name='home')) form.link.data = item.link form.content.data = item.content return render_template('create_item.html', title='Update Item', form=form, legend='Update Item')
def new_cover(): if not current_user.is_admin: abort(403) form = CoverForm() form.page.choices = [(p.name, p.name) for i, p in enumerate(Page.query.all())] if form.validate_on_submit(): page = Page.query.filter_by(name=form.page.data).first_or_404() picture_file = save_picture(form.picture.data) cover = Cover(image_file=picture_file, content=form.content.data, page_id=page.id) db.session.add(cover) db.session.commit() flash('Cover has been created!', 'success') return redirect(url_for('pages.page', page_name='home')) return render_template('create_cover.html', title='New Cover', form=form, legend='New Cover')
def new_subitem(): if not current_user.is_admin: abort(403) form = ItemForm() form.page.choices = [(p.name, p.name) for i, p in enumerate(Page.query.all())] form.link.choices = [(p.name, p.name) for i, p in enumerate(Page.query.all())] if form.validate_on_submit(): global image_size page = Page.query.filter_by(name=form.page.data).first_or_404() picture_file = save_picture(form.picture.data, image_size) subitem = SubItem(image_file=picture_file, content=form.content.data, link=form.link.data, page_id=page.id) db.session.add(subitem) db.session.commit() flash('SubItem has been created!', 'success') return redirect(url_for('pages.page', page_name='home')) return render_template('create_item.html', title='New SubItem', form=form, legend='New SubItem')