def edit_page(nickname, pagename): if nickname != g.user.nickname: flash('Cannot edit another users content page.') return redirect(url_for('index')) user_page = g.user.user_page(pagename) if user_page == None: flash('Content page doesn''t exist') return redirect(url_for('index')) form = PageForm() if form.validate_on_submit(): user_page.page_title = form.page_title.data user_page.page_content = form.page_content.data db.session.add(user_page) db.session.commit() flash('Updated content page successfully!') return redirect(url_for('index')) else: form.page_title.data = user_page.page_title form.page_content.data = user_page.page_content return render_template('page_form.html', form = form)
def create(): page = Page() form = PageForm(request.form, page) if form.validate_on_submit(): form.populate_obj(page) page.save() return redirect('/wiki/') return render_template('wiki_create.html', title="Wiki - create new page", page=page, form=form)
def edit(page_id): page = Page.objects.with_id(page_id) form = PageForm(request.form, page) if form.validate_on_submit(): form.populate_obj(page) page.save() return redirect('/wiki/') return render_template('wiki_edit.html', title="Wiki - edit page " + page.title, page=page, form=form)
def pages(): form = PageForm() if form.validate_on_submit(): page = Page(page_title = form.page_title.data, page_content = form.page_content.data, user_id = g.user.id) db.session.add(page) db.session.commit() flash('Your page has been added!') return redirect(url_for('index')) return render_template('page_form.html', form = form)
def page_edit(id=None): """edit or create a page""" page = g.db.pages.find_one({'_id': id}) if id: if page is None: abort(404) else: # create a NEW page here page = {'owner': g.username} if page.get('owner') != g.username and not (g.is_admin): flash("You are not the page owner", category="danger") return redirect(url_for('site', path=page['slug'])) if page.get('is_markup'): page_template = 'generic_form.html' form = PageForm() else: page_template = 'generic_form_ckedit.html' form = HTMLPageForm() if form.validate_on_submit(): page = form2object(form, page) if form.slug.data == '': page['slug'] = slugify(page['title']) if id: g.db.pages.update_one({'_id': id}, page) else: g.db.pages.insert_one(page) flash('Page saved.', category="info") return redirect(url_for('site', path=page.get('slug'))) if request.method == 'GET': # get the data from the page-object into the form form = object2form(page, form) return render_template(page_template, form=form, id=id, title="Edit page")