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)
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)
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)