From f15b3c46b2b1d41dc3ca38c17161d0bf0add178a Mon Sep 17 00:00:00 2001
From: ilya <ilya@laptop.(none)>
Date: Tue, 17 Aug 2010 17:40:48 -0700
Subject: [PATCH] DG IZ; reverted to before removing latest message methods

---
 app/helpers/sockets_helper.rb   |  6 +++---
 app/models/status_message.rb    |  3 +++
 app/views/js/_websocket_js.haml | 18 ++++++++++++------
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/app/helpers/sockets_helper.rb b/app/helpers/sockets_helper.rb
index e3824b86d2..9fa8f2f746 100644
--- a/app/helpers/sockets_helper.rb
+++ b/app/helpers/sockets_helper.rb
@@ -17,9 +17,9 @@ module SocketsHelper
     
     if object.is_a? Photo
       action_hash[:photo_hash] = object.thumb_hash
-    end
-    if object.person.owner_id == uid
-      acton_hash[:mine?] == true
+    elsif object.is_a? StatusMessage
+      action_hash[:status_message_hash] = object.latest_hash
+      action_hash[:status_message_hash][:mine?] = true if object.person.owner_id == uid
     end
 
     action_hash.to_json
diff --git a/app/models/status_message.rb b/app/models/status_message.rb
index 3df72f6bac..3fb9aa39d0 100644
--- a/app/models/status_message.rb
+++ b/app/models/status_message.rb
@@ -21,5 +21,8 @@ class StatusMessage < Post
         XML
   end
   
+  def latest_hash
+    { :text => message}
+  end
 end
 
diff --git a/app/views/js/_websocket_js.haml b/app/views/js/_websocket_js.haml
index 52e95daf47..c458fe43e3 100644
--- a/app/views/js/_websocket_js.haml
+++ b/app/views/js/_websocket_js.haml
@@ -12,8 +12,7 @@
     //Attach onmessage to websocket
       ws.onmessage = function(evt) {
         var obj = jQuery.parseJSON(evt.data);
-        debug("got a " + obj['class'] );
-        
+        debug("got a " + obj['class'] + " for group " + obj['group_id']);
 
         if (obj['class']=="retractions"){
           processRetraction(obj['post_id']);
@@ -23,11 +22,10 @@
         
         }else if (obj['class']=='photos' && onPageForClass('albums')){
           processPhotoInAlbum(obj['photo_hash'])
+        }else if (obj['class']=='status_messages'){
+          processStatusMessage(obj['class'], obj['html'], obj['status_message_hash'], obj['group_id'])
         }else{
-          if( (obj['mine?'])|| (onPageForClass(obj['class']) || onPageForGroup(obj['group_id'])) ){
-            
-            processPost(obj['class'], obj['html'])
-          }
+          processPost(obj['class'], obj['html'], obj['group_id'])
         }
 
         
@@ -64,6 +62,14 @@
         }
       }
 
+      function processStatusMessage(className, html, messageHash, groupId){
+        processPost(className, html, groupId);
+        console.log(messageHash)
+        if(messageHash['mine?']){
+          updateMyLatestStatus(messageHash);
+        }
+      }
+      
       function updateMyLatestStatus(messageHash){
         $("#latest_message").text(messageHash['text']);
         $("#latest_message_time").text(' - just now');
-- 
GitLab