def admin_posts_add(): content = Content() content.created_on = datetime.now() content.body = '' content.title = '' content.tags = '' content.parser = 'markdown' return render('admin_content.html', user=g.user, content_type="Post", action="Add", content=content)
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.title = payload.get('title') content.body = payload.get('body') 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') content.published = bool(payload.get('published', False)) if not editing: content.slug = make_slug(content.title) else: created_on = payload.get('created_on') if created_on: content.created_on = parser.parse(created_on) valid = content.validate() if valid['success'] or editing: content.insert() safe_commit() return_value['id'] = content.id else: return_value = valid return jsonify(return_value)