diff --git a/app/helpers/sockets_helper.rb b/app/helpers/sockets_helper.rb index 9fa8f2f74632b294e835e1f3c97b15b30dd33094..d4765feb71a217192f7aaf4cda3303f0323cad05 100644 --- a/app/helpers/sockets_helper.rb +++ b/app/helpers/sockets_helper.rb @@ -22,6 +22,10 @@ module SocketsHelper action_hash[:status_message_hash][:mine?] = true if object.person.owner_id == uid end + if object.person.owner_id == uid + action_hash[:mine?] = true + end + action_hash.to_json end diff --git a/app/models/album.rb b/app/models/album.rb index 03dc5ed1a8610161a6f25bcb3405ca28068d9aec..0275b43fe2c3b2c89ff5095b65bb265e591ed956 100644 --- a/app/models/album.rb +++ b/app/models/album.rb @@ -3,6 +3,7 @@ class Album include MongoMapper::Document include ROXML include Diaspora::Webhooks + include Encryptable xml_reader :name xml_reader :person, :as => Person @@ -42,6 +43,24 @@ class Album p_photo ? p_photo : self.photos.sort(:created_at.desc).last end + #ENCRYPTION + xml_accessor :creator_signature + key :creator_signature, String + + def signable_accessors + accessors = self.class.roxml_attrs.collect{|definition| + definition.accessor} + accessors.delete 'person' + accessors.delete 'creator_signature' + accessors + end + + def signable_string + signable_accessors.collect{|accessor| + (self.send accessor.to_sym).to_s}.join ';' + end + + protected def destroy_photos photos.each{|p| p.destroy} diff --git a/app/views/js/_websocket_js.haml b/app/views/js/_websocket_js.haml index c458fe43e37d23575caaf2cff0aa33b20fc81bb7..a823d644d889d84871dcb0a38b1245872df97352 100644 --- a/app/views/js/_websocket_js.haml +++ b/app/views/js/_websocket_js.haml @@ -23,9 +23,9 @@ }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']) + processStatusMessage(obj['class'], obj['html'], obj['status_message_hash'], obj['group_id'], obj['mine?']) }else{ - processPost(obj['class'], obj['html'], obj['group_id']) + processPost(obj['class'], obj['html'], obj['group_id'], obj['mine?']) } @@ -52,8 +52,8 @@ toggler.html().replace(/\d/,$('.comment_set', post)[0].childElementCount -1)); } - function processPost(className, html, groupId){ - if(onPageForClass(className) || onPageForGroup(groupId)){ + function processPost(className, html, groupId, mineBool){ + if(mineBool || onPageForClass(className) || onPageForGroup(groupId)){ $("#stream").prepend( $(html).fadeIn("fast", function(){ $("#stream label:first").inFieldLabels(); @@ -62,8 +62,8 @@ } } - function processStatusMessage(className, html, messageHash, groupId){ - processPost(className, html, groupId); + function processStatusMessage(className, html, messageHash, groupId, mineBool){ + processPost(className, html, groupId, mineBool); console.log(messageHash) if(messageHash['mine?']){ updateMyLatestStatus(messageHash);