- db_table = u'activity'\r
-\r
- def __unicode__(self):\r
- return u'[%s] was active at %s' % (self.user.username, self.active_at)\r
-\r
- def save(self, *args, **kwargs):\r
- super(Activity, self).save(*args, **kwargs)\r
- if self._is_new:\r
- activity_record.send(sender=self.activity_type, instance=self)\r
-\r
- @property\r
- def node(self):\r
- if self.activity_type in (const.TYPE_ACTIVITY_ANSWER, const.TYPE_ACTIVITY_ASK_QUESTION,\r
- const.TYPE_ACTIVITY_MARK_ANSWER, const.TYPE_ACTIVITY_COMMENT_QUESTION, const.TYPE_ACTIVITY_COMMENT_ANSWER):\r
- return self.content_object.leaf\r
-\r
- if self.activity_type in (const.TYPE_ACTIVITY_UPDATE_ANSWER, const.TYPE_ACTIVITY_UPDATE_QUESTION):\r
- return self.content_object.node.leaf \r
- \r
- raise NotImplementedError()\r
-\r
- @property\r
- def type_as_string(self):\r
- if self.activity_type == const.TYPE_ACTIVITY_ASK_QUESTION:\r
- return _("asked")\r
- elif self.activity_type == const.TYPE_ACTIVITY_ANSWER:\r
- return _("answered")\r
- elif self.activity_type == const.TYPE_ACTIVITY_MARK_ANSWER:\r
- return _("marked an answer")\r
- elif self.activity_type == const.TYPE_ACTIVITY_UPDATE_QUESTION:\r
- return _("edited a question")\r
- elif self.activity_type == const.TYPE_ACTIVITY_COMMENT_QUESTION:\r
- return _("commented a question")\r
- elif self.activity_type == const.TYPE_ACTIVITY_COMMENT_ANSWER:\r
- return _("commented an answer")\r
- elif self.activity_type == const.TYPE_ACTIVITY_UPDATE_ANSWER:\r
- return _("edited an answer")\r
- elif self.activity_type == const.TYPE_ACTIVITY_PRIZE:\r
- return _("received badge")\r
- else:\r
- raise NotImplementedError()\r
-\r
-\r
-activity_record = django.dispatch.Signal(providing_args=['instance'])\r