예제 #1
0
def change_settings():
    if Setting.all().count() == 0:
        form = SettingsForm()
    else:
        settings = Setting.all().order('-date_created')[0]
        form = SettingsForm(site_title=settings.site_title,
                            site_description=settings.site_description,
                            home_page=settings.home_page.key(),
                            admin_email=settings.admin_email,
                            default_template=settings.default_template.key(),
                            posts_per_page=settings.posts_per_page,
                            disqus_shortname=settings.disqus_shortname,
                            tracking_script = settings.tracking_script)
        form.home_page.choices = controllers.pages_select()
        form.default_template.choices = controllers.templates_select()
    if form.validate_on_submit():
        home_page_slug = form.home_page.data
        settings.site_title = form.site_title.data
        settings.site_description = form.site_description.data
        settings.home_page = db.get(form.home_page.data)
        settings.admin_email = form.admin_email.data
        settings.default_template = db.get(form.default_template.data)
        settings.posts_per_page = form.posts_per_page.data
        settings.disqus_shortname = form.disqus_shortname.data
        settings.tracking_script = form.tracking_script.data
        settings.domain = request.url_root
        settings.put()
        flash('Changes to settings have been saved.','event')
        return redirect(url_for('site_administration'))
    return render_template('cms_settings.html', form=form)
예제 #2
0
def new_page():
    form = PageForm()
    form.template.choices = controllers.templates_select()
    images = Image.all()
    if form.validate_on_submit():
        page = Page(title = form.title.data,
                    slug = controllers.slugify(form.title.data),
                    template = db.get(form.template.data),
                    content = form.content.data,
                    author = db.get(current_user.id),
                    date_created = datetime.now())
        page.put()
        flash('The page has been saved.','event')
        return redirect(url_for('list_pages'))
    return render_template('cms_new_page.html', form=form, images=images)
예제 #3
0
def edit_page(slug):
    page = Page.gql("WHERE slug = :1", slug)[0]
    images = Image.all()
    form = PageForm(title=page.title, template=page.template.key(),
                    content=page.content)
    form.template.choices = controllers.templates_select()
    if form.validate_on_submit():
        page.title = form.title.data
        page.author = db.get(current_user.id)
        page.slug = controllers.slugify(form.title.data)
        page.content = form.content.data
        page.date_modified = datetime.now()
        page.template = db.get(form.template.data)
        page.put()
        flash('The page has been updated.','event')
        return redirect(url_for('list_pages'))
    return render_template('cms_edit_page.html', form=form, images=images)