def validate_blog_post(self, req, postname, version, fields): if 'blog-preview' in req.args: return [] blog_res = Resource('blog', postname, version) if req.perm(blog_res).has_permission('BLOG_ADMIN'): return [] if version > 1: bp = BlogPost(self.env, postname, version) last_post_fields = bp._fetch_fields(version=version-1) else: last_post_fields = {} field_names = set(fields).union(last_post_fields) changes = [] for field in field_names: old = to_unicode(last_post_fields.get(field, '')) new = to_unicode(fields.get(field, '')) if new and old != new: changes.append((old, new)) author = fields.get('author', '') if arity(FilterSystem.test) == 4: # 0.11 compatible method signature FilterSystem(self.env).test(req, author, changes) else: # 0.12+ compatible that adds an 'ip' argument FilterSystem(self.env).test(req, author, changes, req.remote_addr) return []
def validate_blog_post(self, req, postname, version, fields): if 'blog-preview' in req.args: return [] blog_res = Resource('blog', postname, version) if req.perm(blog_res).has_permission('BLOG_ADMIN'): return [] if version > 1: bp = BlogPost(self.env, postname, version) last_post_fields = bp._fetch_fields(version=version - 1) else: last_post_fields = {} field_names = set(fields).union(last_post_fields) changes = [] for field in field_names: old = to_unicode(last_post_fields.get(field, '')) new = to_unicode(fields.get(field, '')) if new and old != new: changes.append((old, new)) author = fields.get('author', '') if arity(FilterSystem.test) == 4: # 0.11 compatible method signature FilterSystem(self.env).test(req, author, changes) else: # 0.12+ compatible that adds an 'ip' argument FilterSystem(self.env).test(req, author, changes, req.remote_addr) return []