X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/60a99b45f40f6249687c6e4fd3b5fc25fb0208dd..898b3bf90abe226ed3f1326c4b4ddf7fba1d430d:/forum/models/node.py?ds=inline diff --git a/forum/models/node.py b/forum/models/node.py index 3150e99..cf69233 100644 --- a/forum/models/node.py +++ b/forum/models/node.py @@ -1,4 +1,3 @@ -from forum.akismet import * from base import * from tag import Tag @@ -31,12 +30,13 @@ class NodeContent(models.Model): def tagname_list(self): if self.tagnames: - return [name for name in self.tagnames.split(u' ')] + t = [name.strip() for name in self.tagnames.split(u' ') if name] + return [name.strip() for name in self.tagnames.split(u' ') if name] else: return [] def tagname_meta_generator(self): - return u','.join([unicode(tag) for tag in self.tagname_list()]) + return u','.join([tag for tag in self.tagname_list()]) class Meta: abstract = True @@ -166,6 +166,10 @@ class Node(BaseModel, NodeContent): def summary(self): return strip_tags(self.html)[:300] + @models.permalink + def get_revisions_url(self): + return ('revisions', (), {'id': self.id}) + def update_last_activity(self, user, save=False): self.last_activity_by = user self.last_activity_at = datetime.datetime.now() @@ -181,13 +185,13 @@ class Node(BaseModel, NodeContent): revision.save() return revision - def create_revision(self, user, action=None, **kwargs): + def create_revision(self, user, **kwargs): number = self.revisions.aggregate(last=models.Max('revision'))['last'] + 1 revision = self._create_revision(user, number, **kwargs) - self.activate_revision(user, revision, action) + self.activate_revision(user, revision) return revision - def activate_revision(self, user, revision, action=None): + def activate_revision(self, user, revision): self.title = revision.title self.tagnames = revision.tagnames self.body = revision.body @@ -195,9 +199,6 @@ class Node(BaseModel, NodeContent): self.active_revision = revision self.update_last_activity(user) - if action: - self.last_edited = action - self.save() def get_tag_list_if_changed(self): @@ -254,19 +255,6 @@ class Node(BaseModel, NodeContent): super(Node, self).save(*args, **kwargs) if tags is not None: self.tags = tags - @staticmethod - def isSpam(comment, data): - api = Akismet() - - if not api.key: - return False - else: - if api.comment_check(comment, data): - return True - else: - return False - return data - class Meta: app_label = 'forum'