Пример #1
0
    def post(self):
        form = EditPage()
        if request.form.get('templates', None) is not None:
            form.templates.data = int(form.templates.data)

        if form.validate_on_submit():
            page = Page(
                slug=form.slug.data,
                title=form.title.data,
                description=form.description.data,
                content=form.content.data,
                login_required=form.login_required.data,
                show_in_nav=form.show_in_nav.data,
                template_id=form.templates.data,
            )

            # Fetch level from parent
            page.level = 0
            if request.form.get('parent_slug', None):
                parent = get_object_or_404(
                    Page, Page.slug ==
                    request.form.get('parent_slug'))
                page.parent_id = parent.id
                page.level = parent.level + 1
            db.session.add(page)
            db.session.commit()
            return redirect(url_for('admin.edit_page', slug=page.slug))

        return render_template('page/admin_page.html', form=form)
Пример #2
0
    def post(self, slug):
        page = get_object_or_404(Page, Page.slug == slug)
        form = EditPage(page)
        add_widget_form = AddWidgetToPageForm()

        if form.validate_on_submit():
            page.slug = request.form.get('slug')
            page.title = request.form.get('title')
            page.description = request.form.get('description')
            page.content = request.form.get('content')
            page.login_required = 'login_required' in request.form
            page.show_in_nav = 'show_in_nav' in request.form
            page.template_id = request.form.get('templates')
            page.header_image = request.form.get('header_image')

            db.session.commit()
            return redirect(url_for('admin.edit_page', slug=page.slug))
        return render_template('page/admin_page.html',
                               form=form,
                               add_widget_form=add_widget_form)