Skip to content

Commit

Permalink
Added message count to js in templates
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam Karp committed Mar 27, 2011
1 parent 2617f7f commit e964973
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 17 deletions.
5 changes: 3 additions & 2 deletions geocamTalk/templates/geocamTalk/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@
<body>
<header>
{% if user.is_authenticated %}
<a href="/talk/messages/{{user.username}}">Messages</a> |
<a href="/talk/messages/">All Messages</a> | Hello {% firstof user.first_name user.username %} <a href="/accounts/logout/">Logout</a>
<a href="/talk/messages/{{user.username}}">My Messages (<span id="new_message_count">0</span>)</a> |
<a href="/talk/messages/">All Messages</a> | Hello {% firstof user.first_name user.username %}
<a href="/accounts/logout/">Logout</a>
{% else %}
<a href="/accounts/login/">Login</a>
{% endif %}
Expand Down
3 changes: 3 additions & 0 deletions geocamTalk/templates/geocamTalk/message_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<script>
$(document).ready(function() {
var running_timestamp = {{ timestamp }};
var new_message_count = 0;
setInterval(function(){
// messagefeed.json looks like this:
// [{"content": "The hospital is full, no more beds...", "content_timestamp": "02/19 21:35:52", "has_geolocation": -122.4048743, "author": "Adam Grant"},
Expand Down Expand Up @@ -72,6 +73,8 @@
}
$('#message_list').prepend(html_str);
running_timestamp = data['ts'];
new_message_count += data['msgCnt'];
$('#new_message_count').html(new_message_count);
});
}, 3*1000);
});
Expand Down
20 changes: 5 additions & 15 deletions geocamTalk/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,14 @@ def feed_messages(request, recipient_username=None, author_username=None):

if since is not None:
since_dt = datetime.fromtimestamp(float(since) / (1000 * 1000))
messages = TalkMessage.getMessages(recipient, author).filter(content_timestamp__gt=since_dt)
messages = TalkMessage.getMessages(recipient, author).filter(content_timestamp__gt=since_dt)
message_count = TalkMessage.getMessages(request.user).filter(content_timestamp__gt=since_dt).count()
else:
messages = TalkMessage.getMessages(recipient, author)
return HttpResponse(json.dumps({'ts': timestamp,
message_count = TalkMessage.getMessages(request.user).count()
return HttpResponse(json.dumps({'ts': timestamp,
'msgCnt': message_count,
'ms':[msg.getJson() for msg in messages]}))

@login_required
def feed_messages_cnt(request):
timestamp = int(time.time() * 1000 * 1000)
since = request.GET.get('since', None)
recipient = request.user

if since is not None:
since_dt = datetime.fromtimestamp(float(since) / (1000 * 1000))
messages = TalkMessage.getMessages(recipient).filter(content_timestamp__gt=since_dt)
else:
messages = TalkMessage.getMessages(recipient)
return HttpResponse(json.dumps({'messageCnt': messages.count()}))

@login_required
def index(request):
Expand Down

0 comments on commit e964973

Please sign in to comment.