예제 #1
0
    def get_draft_last_updated_info(self):
        if not (self.draftstate_enabled and self.object.has_unpublished_changes):
            return None

        revision = self.object.latest_revision
        return {
            "timestamp": revision.created_at,
            "user_display_name": user_display_name(revision.user),
        }
예제 #2
0
    def get_live_last_updated_info(self):
        # DraftStateMixin is applied but object is not live
        if self.draftstate_enabled and not self.object.live:
            return None

        revision = None
        # DraftStateMixin is applied and object is live
        if self.draftstate_enabled and self.object.live_revision:
            revision = self.object.live_revision
        # RevisionMixin is applied, so object is assumed to be live
        elif self.revision_enabled and self.object.latest_revision:
            revision = self.object.latest_revision

        # No mixin is applied or no revision exists, fall back to latest log entry
        if not revision:
            return log_registry.get_logs_for_instance(self.object).first()

        return {
            "timestamp": revision.created_at,
            "user_display_name": user_display_name(revision.user),
        }
예제 #3
0
 def user_data(user):
     return {"name": user_display_name(user), "avatar_url": avatar_url(user)}
예제 #4
0
 def user_data(user):
     return {
         'name': user_display_name(user),
         'avatar_url': avatar_url(user)
     }