]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/models/node.py
Fixes the new line problems in the OSQA exporter.
[osqa.git] / forum / models / node.py
index 65eb2dc66857460e5d9714188a9a91188c0fa44c..43d12b323edb5d643f87ca1f790e5d236ecb92da 100644 (file)
@@ -6,6 +6,7 @@ import markdown
 from django.utils.translation import ugettext as _
 from django.utils.safestring import mark_safe
 from django.utils.html import strip_tags
 from django.utils.translation import ugettext as _
 from django.utils.safestring import mark_safe
 from django.utils.html import strip_tags
+from forum.utils.userlinking import auto_user_link
 from forum.utils.html import sanitize_html
 from utils import PickledObjectField
 
 from forum.utils.html import sanitize_html
 from utils import PickledObjectField
 
@@ -337,7 +338,7 @@ class Node(BaseModel, NodeContent):
     def activate_revision(self, user, revision, extensions=['urlize']):
         self.title = revision.title
         self.tagnames = revision.tagnames
     def activate_revision(self, user, revision, extensions=['urlize']):
         self.title = revision.title
         self.tagnames = revision.tagnames
-        self.body = self._as_markdown(revision.body, *extensions)
+        self.body = auto_user_link(self, self._as_markdown(revision.body, *extensions))
 
         self.active_revision = revision
         self.update_last_activity(user)
 
         self.active_revision = revision
         self.update_last_activity(user)
@@ -418,8 +419,6 @@ class Node(BaseModel, NodeContent):
         super(Node, self).delete(*args, **kwargs)
 
     def save(self, *args, **kwargs):
         super(Node, self).delete(*args, **kwargs)
 
     def save(self, *args, **kwargs):
-        tags_changed = self._process_changes_in_tags()
-
         if not self.id:
             self.node_type = self.get_type()
             super(BaseModel, self).save(*args, **kwargs)
         if not self.id:
             self.node_type = self.get_type()
             super(BaseModel, self).save(*args, **kwargs)
@@ -430,8 +429,11 @@ class Node(BaseModel, NodeContent):
 
         if self.parent_id and not self.abs_parent_id:
             self.abs_parent = self.parent.absolute_parent
 
         if self.parent_id and not self.abs_parent_id:
             self.abs_parent = self.parent.absolute_parent
-
+        
+        tags_changed = self._process_changes_in_tags()
+        
         super(Node, self).save(*args, **kwargs)
         super(Node, self).save(*args, **kwargs)
+        
         if tags_changed: self.tags = list(Tag.objects.filter(name__in=self.tagname_list()))
 
     class Meta:
         if tags_changed: self.tags = list(Tag.objects.filter(name__in=self.tagname_list()))
 
     class Meta: