+# -*- coding: utf-8 -*-
+
from base import *
import re
from tag import Tag
import markdown
+from django.utils.encoding import smart_unicode
from django.utils.translation import ugettext as _
from django.utils.safestring import mark_safe
from django.utils.html import strip_tags
return ''
def as_markdown(self, *extensions):
- return self._as_markdown(self.body, *extensions)
+ return self._as_markdown(smart_unicode(self.body), *extensions)
@property
def headline(self):
self.body = self.rendered(revision.body)
self.active_revision = revision
- self.update_last_activity(user)
+
+ # Try getting the previous revision
+ try:
+ prev_revision = NodeRevision.objects.get(node=self, revision=revision.revision-1)
+
+ update_activity = True
+
+ # Do not update the activity if only the tags are changed
+ if prev_revision.title == revision.title and prev_revision.body == revision.body \
+ and prev_revision.tagnames != revision.tagnames and not settings.UPDATE_LATEST_ACTIVITY_ON_TAG_EDIT:
+ update_activity = False
+ except NodeRevision.DoesNotExist:
+ update_activity = True
+ finally:
+ if update_activity:
+ self.update_last_activity(user)
self.save()