]> git.parisson.com Git - django-jqchat.git/commitdiff
Only display the last 'X' messages in the chat window.
authorrichardbarran <richardbarran@8369a704-5b4a-11de-992f-fdd7e25b9163>
Mon, 19 Oct 2009 20:07:20 +0000 (20:07 +0000)
committerrichardbarran <richardbarran@8369a704-5b4a-11de-992f-fdd7e25b9163>
Mon, 19 Oct 2009 20:07:20 +0000 (20:07 +0000)
git-svn-id: http://django-jqchat.googlecode.com/svn/trunk@11 8369a704-5b4a-11de-992f-fdd7e25b9163

jqchat/views.py

index 167c9cb66f02af6a3186ba93c90f3f1ed7cc5d06..148f086ed94ada091f91f038ae2b83657f30728e 100644 (file)
@@ -15,6 +15,9 @@ except:
     # Use default format.
     DATE_FORMAT = "H:i:s"
 
+# How many messages to retrieve at most.
+JQCHAT_DISPLAY_COUNT = getattr(settings, 'JQCHAT_DISPLAY_COUNT', 100) 
+
 #------------------------------------------------------------------------------
 @login_required
 def window(request, id):
@@ -112,6 +115,11 @@ class Ajax(object):
             NewMessages = self.ThisRoom.message_set.filter(unix_timestamp__gt=self.request_time)
             if NewMessages:
                 StatusCode = 1
+
+            # Only keep the last X messages.
+            l = len(NewMessages)
+            if l > JQCHAT_DISPLAY_COUNT:
+                NewMessages = NewMessages[l-JQCHAT_DISPLAY_COUNT:]
         
             response =  render_to_response('jqchat/chat_payload.json',
                                       {'current_unix_timestamp': int(time.time()),