def post(self, post_id): post_id = int(post_id) _ = self.get_argument title = _p('title', default='') description = _p('description') category = int(_p('category', default=1)) status = _p('status', default='draft') comments = int(_p('comments', default=0)) html = _p('html') css = _p('custom_css', default='') js = _p('custom_js', default='') slug = _p('slug') title = title.strip() slug = slug.strip() or title validator = Validator() (validator.check(title, 'min', text('post.title_missing'), 1) .check(slug, 'min', text('post.title_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') self.redirect(self.reverse_url('post_edit', post_id)) post = post_service.update_post( title, slug, description, html, css, js, category, status, comments, post_id) extend_service.prcoess_field(self, post, 'post') self.flash(text('post.updated'), 'success') self.redirect(self.reverse_url('post_edit', post_id))
def post_comment(self, slug): post = self.post_service.get_by_slug(slug) if not post: return self.theme_render('404.html', page_title='Not Found') if post and not post.allow_comment: return self.redirect(self.reverse_url('site_post', slug)) p = self.get_argument name = p('name', default='') email = p('email', default='') content = p('content', default='') name, content, email = name.strip(), content.strip(), email.strip() validator = Validator() (validator.check(email, 'email', text('comment.email_missing')) .check(content, 'min', text('comment.email_missing'), 1) ) if validator.errors: self.flash(validator.errors, 'error') return redirect(self.reverse_url('site_post', slug)) status = site.get( 'auto_published_comments', False) and 'approved' or 'pending' self.comment_service.add_comment(name, email, content, status, post) self.redirect(self.reverse_url('site_post', slug))
def post(self): _ = self.get_argument title = _('title', default='') description = _('description') category = int(_('category', default=1)) status = _('status', default='draft') comments = int(_('comments', default=0)) html = _('html') css = _('custom_css', default='') js = _('custom_js', default='') slug = _('slug') title = title.strip() slug = slug.strip() or title validator = Validator() (validator.check(title, 'min', text('post.title_missing'), 1).check(slug, 'min', text('post.title_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') self.render('admin/post/add.html') author = self.account post = post_service.add_post(title, slug, description, html, css, js, category, status, comments, author) extend_service.prcoess_field(self, post, 'post') self.redirect(self.reverse_url('post_page'))
def post(self): _ = self.get_argument title = _('title', default='') description = _('description') category = int(_('category', default=1)) status = _('status', default='draft') comments = int(_('comments', default=0)) html = _('html') css = _('custom_css', default='') js = _('custom_js', default='') slug = _('slug') title = title.strip() slug = slug.strip() or title validator = Validator() (validator.check(title, 'min', text('post.title_missing'), 1) .check(slug, 'min', text('post.title_missing'), 1) ) if validator.errors: self.flash(validator.errors, 'error') self.render('admin/post/add.html') author = self.account post = post_service.add_post( title, slug, description, html, css, js, category, status, comments, author) extend_service.prcoess_field(self, post, 'post') self.redirect(self.reverse_url('post_page'))
def post(self, post_id): post_id = int(post_id) _ = self.get_argument title = _p('title', default='') description = _p('description') category = int(_p('category', default=1)) status = _p('status', default='draft') comments = int(_p('comments', default=0)) html = _p('html') css = _p('custom_css', default='') js = _p('custom_js', default='') slug = _p('slug') title = title.strip() slug = slug.strip() or title validator = Validator() (validator.check(title, 'min', text('post.title_missing'), 1).check(slug, 'min', text('post.title_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') self.redirect(self.reverse_url('post_edit', post_id)) post = post_service.update_post(title, slug, description, html, css, js, category, status, comments, post_id) extend_service.prcoess_field(self, post, 'post') self.flash(text('post.updated'), 'success') self.redirect(self.reverse_url('post_edit', post_id))
def post(self, page_id): page_id = int(page_id) _ = self.get_argument parent = _('parent') name = _('name') title = _('title') name = name or title slug = _('slug') content = _('content') status = _('status') show_in_menu = int(_('show_in_menu', default=0)) show_in_menu = 1 if show_in_menu else 0 redirect_ = _('redirect') validator = Validator() (validator.check(title, 'min', text('page.title_missing'), 3) #.check(redirect, 'url', text('page.redirect_missing')) ) if validator.errors: self.flash(validator.errors, 'error') self.redirect(self.reverse_url('page_edit', page_id)) page = page_service.update_page(parent, name, title, slug, content, status, redirect_, show_in_menu, page_id) extend_service.prcoess_field(self, page, 'page') self.redirect(self.reverse_url('page_edit', page_id))
def post_comment(self, slug): post = self.post_service.get_by_slug(slug) if not post: return self.theme_render('404.html', page_title='Not Found') if post and not post.allow_comment: return self.redirect(self.reverse_url('site_post', slug)) p = self.get_argument name = p('name', default='') email = p('email', default='') content = p('content', default='') name, content, email = name.strip(), content.strip(), email.strip() validator = Validator() (validator.check(email, 'email', text('comment.email_missing')).check( content, 'min', text('comment.email_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') return redirect(self.reverse_url('site_post', slug)) status = site.get('auto_published_comments', False) and 'approved' or 'pending' self.comment_service.add_comment(name, email, content, status, post) self.redirect(self.reverse_url('site_post', slug))
def post(self): _ = self.get_argument title, slug, description = _('title'), _('slug'), _('description') validator = Validator() validator.check(title, 'min', text('category.title_missing'), 1) if validator.errors: self.flash(validator.errors, 'error') return self.render('admin/category/add.html') category_service.add_category(title, slug, description) self.redirect(self.reverse_url('category_page'))
def post(self, category_id): _ = self.get_argument category_id, title, slug, description = int(category_id), _('title'), _('slug'), _('description') validator = Validator() validator.check(title, 'min', text('category.title_missing'), 1) if validator.errors: self.flash(validator.errors, 'error') return self.redirect(self.reverse_url('category_edit', category_id)) category = category_service.update_category( category_id, title, slug, description) self.flash(text('category.updated'), 'success') self.redirect(self.reverse_url('category_edit', category.cid))
def post(self, category_id): _ = self.get_argument category_id, title, slug, description = int(category_id), _( 'title'), _('slug'), _('description') validator = Validator() validator.check(title, 'min', text('category.title_missing'), 1) if validator.errors: self.flash(validator.errors, 'error') return self.redirect(self.reverse_url('category_edit', category_id)) category = category_service.update_category(category_id, title, slug, description) self.flash(text('category.updated'), 'success') self.redirect(self.reverse_url('category_edit', category.cid))
def post(self): _ = self.get_argument parent = _('parent') name = _('name') title = _('title') name = name or title slug = _('slug') content = _('content') status = _('status') pid = int(_('pid')) show_in_menu = int(_('show_in_menu')) show_in_menu = 1 if show_in_menu else 0 redirect_ = _('redirect') validator = Validator() validator.add('duplicate', lambda key: page_service.is_exist_slug(key) == False) (validator.check(title, 'min', text('page.title_missing'), 3).check(slug, 'min', text('page.slug_missing'), 3).check(slug, 'duplicate', text('page.slug_duplicate')).check( slug, 'regex', text('page.slug_invalid'), r'^[0-9_A-Za-z-]+$') #.check(redirect, 'url', text('page.redirect_missing')) ) if validator.errors: self.flash(validator.errors, 'error') pages = Backend('Page').dropdown(show_empty_option=True) fields = extend_service.get_fields_by_type('page') self.render('admin/page/add.html', statuses=PAGE_STATUSES, pages=pages, fields=fields) page = page_service.add_page(parent, name, title, slug, content, status, redirect_, show_in_menu) extend_service.prcoess_field(self, page, 'page') self.redirect(self.reverse_url('page_page'))
def post(self): _ = self.get_argument parent = _('parent') name = _('name') title = _('title') name = name or title slug = _('slug') content = _('content') status = _('status') pid = int(_('pid')) show_in_menu = int(_('show_in_menu')) show_in_menu = 1 if show_in_menu else 0 redirect_ = _('redirect') validator = Validator() validator.add( 'duplicate', lambda key: page_service.is_exist_slug(key) == False) (validator .check(title, 'min', text('page.title_missing'), 3) .check(slug, 'min', text('page.slug_missing'), 3) .check(slug, 'duplicate', text('page.slug_duplicate')) .check(slug, 'regex', text('page.slug_invalid'), r'^[0-9_A-Za-z-]+$') #.check(redirect, 'url', text('page.redirect_missing')) ) if validator.errors: self.flash(validator.errors, 'error') pages = Backend('Page').dropdown(show_empty_option=True) fields = extend_service.get_fields_by_type('page') self.render('admin/page/add.html', statuses=PAGE_STATUSES, pages=pages, fields=fields) page = page_service.add_page( parent, name, title, slug, content, status, redirect_, show_in_menu) extend_service.prcoess_field(self, page, 'page') self.redirect(self.reverse_url('page_page'))
def post(self, comment_id): comment_id = int(comment_id) _ = self.get_argument name = _('name') email = _('email') content = _('content') status = _('status') name, content = name.strip(), content.strip() validator = Validator() (validator.check(name, 'min', text('comment.name_missing'), 1) .check(content, 'min', text('comment.content_missing'), 1) ) if validator.errors: self.flash(validator.errors, 'error') self.redirect(self.reverse_url('comment_edit', comment_id)) comment = comment_service.update_comment( comment_id, name, email, content, status) self.flash(text('comment.updated'), 'success') self.redirect(self.reverse_url('comment_edit', comment.cid))
def post(self): _ = self.get_argument _type = _('type') field = _('field') key = _('key') label = _('label') key = key or label validator = Validator() validator.add( 'valid_key', lambda key: extend_service.count(key, _type) == 0) (validator .check(key, 'min', text('extend.key_missing'), 1) .check(key, 'valid_key', text('extend.key_exists')) .check(label, 'min', text('extend.label_missing'), 1) ) if validator.errors: self.flash(validator.errors, 'error') self.render('admin/extend/field/add.html') if field == 'image': attributes = { 'type': reqp.get('attributes[type]'), 'size': { 'height': reqp.get('attributes[size][height]', type=int), 'width': reqp.get('attributes[size][width]', type=int), } } elif field == 'file': attributes = { 'type': reqp.get('attributes[type]'), } else: attributes = {} extend_service.create_extend(_type, key, label, field, attributes) return self.redirect(self.reverse_url('field_page'))
def post(self): _ = self.get_argument _type = _('type') field = _('field') key = _('key') label = _('label') key = key or label validator = Validator() validator.add('valid_key', lambda key: extend_service.count(key, _type) == 0) (validator.check(key, 'min', text('extend.key_missing'), 1).check( key, 'valid_key', text('extend.key_exists')).check(label, 'min', text('extend.label_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') self.render('admin/extend/field/add.html') if field == 'image': attributes = { 'type': reqp.get('attributes[type]'), 'size': { 'height': reqp.get('attributes[size][height]', type=int), 'width': reqp.get('attributes[size][width]', type=int), } } elif field == 'file': attributes = { 'type': reqp.get('attributes[type]'), } else: attributes = {} extend_service.create_extend(_type, key, label, field, attributes) return self.redirect(self.reverse_url('field_page'))
def post(self, extend_id): extend_id = int(extend_id) reqp = request.form _ = self.get_argument _type = _('type') field = _('field') key = _('key') label = _('label') key = key or label validator = Validator() (validator.check(key, 'min', text('extend.key_missing'), 1).check(label, 'min', text('extend.label_missing'), 1)) if validator.errors: self.flash(validator.errors, 'error') return self.redirect(self.reverse_url('field_edit', extend_id)) if field == 'image': attributes = { 'type': reqp.get('attributes[type]'), 'size': { 'height': reqp.get('attributes[size][height]', type=int), 'width': reqp.get('attributes[size][width]', type=int), } } elif field == 'file': attributes = { 'type': reqp.get('attributes[type]'), } else: attributes = {} extend_service.update_extend(_type, key, label, field, attributes, extend_id) return self.redirect(self.reverse_url('field_edit', extend_id))