def create_content(): return_value = success('The content was created.') payload = get_payload(request) editing = False if payload.get('id'): content = Content.get(payload.get('id')) editing = True return_value = success('The content was updated.') else: content = Content() content.type = payload.get('type').lower() content.template = '{}.html'.format(content.type) content.title = payload.get('title') content.body = payload.get('body') or '' content.theme = payload.get('theme') content.preview = payload.get('preview') or '' content.user_id = payload.get('user_id') tags = [t.strip() for t in payload.get('tags', '').split(',') if t.strip()] for tag in tags: count = Tag.filter(Tag.name == tag).count() if not count: new_tag = Tag(name=tag) new_tag.insert() content.tags = ",".join(tags) content.parser = payload.get('parser', 'markdown') published = json.loads(payload.get('published', 'false')) content.published = published menu_item = json.loads(payload.get('menu_item', 'false')) content.menu_item = menu_item if not editing: content.slug = make_slug(content.title) else: published_on = payload.get('published_on') if published_on: content.published_on = parser.parse(published_on) valid = content.validate() if valid['success'] or editing: print(content.to_dict()) content.insert() safe_commit() return_value['id'] = content.id # with app.context(): # cache.clear() else: return_value = valid return jsonify(return_value)
def admin_posts_add(): content = Content() content.published_on = datetime.now() content.body = '' content.title = '' content.tags = '' content.parser = 'markdown' content.type = 'post' content.user = g.user content.user_id = g.user.id return render_admin('content.html', user=g.user, content_type="Post", action="Add", content=content)
def admin_pages_add(): content = Content() content.published_on = datetime.now() content.body = '' content.title = '' content.tags = '' content.parser = 'markdown' content.theme = g.theme content.type = 'page' content.user = g.user content.user_id = g.user.id themes = [t.identifier for t in get_themes_list() if t.identifier != 'admin'] print(themes) return render_admin('content.html', user=g.user, content_type="Page", action="Add", content=content, themes=themes)