Merge branch 'master' of github.com:diaspora/diaspora into rails_rc
This commit is contained in:
commit
c387556612
3 changed files with 31 additions and 10 deletions
|
|
@ -30,27 +30,27 @@ class Photo < Post
|
|||
validates_true_for :album_id, :logic => lambda {self.validate_album_person}
|
||||
|
||||
before_destroy :ensure_user_picture
|
||||
|
||||
key :remote_photo_path
|
||||
key :remote_photo_name
|
||||
|
||||
def validate_album_person
|
||||
album.person_id == person_id
|
||||
end
|
||||
|
||||
def remote_photo
|
||||
url
|
||||
image.url.nil? ? (remote_photo_path + '/' + remote_photo_name) : image.url
|
||||
end
|
||||
|
||||
def remote_photo= remote_path
|
||||
name_start = remote_path.rindex '/'
|
||||
@remote_photo_path = remote_path.slice(0, name_start )
|
||||
@remote_photo_name = remote_path.slice(name_start, remote_path.length)
|
||||
save
|
||||
raise "Failed to set path for : #{self.inspect}" if Photo.first(:id => self.id).url.nil?
|
||||
self.remote_photo_path = remote_path.slice(0, name_start )
|
||||
self.remote_photo_name = remote_path.slice(name_start + 1, remote_path.length)
|
||||
end
|
||||
|
||||
def url name = nil
|
||||
if @remote_photo_path
|
||||
@remote_photo_path + name.to_s + @remote_photo_name
|
||||
def url(name = nil)
|
||||
if remote_photo_path
|
||||
name = name.to_s + "_" if name
|
||||
person.url.chop + remote_photo_path + "/" + name.to_s + remote_photo_name
|
||||
else
|
||||
image.url name
|
||||
end
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
= link_to post.album.name, object_path(post.album)
|
||||
|
||||
%br
|
||||
= link_to (image_tag post.image.url(:thumb_large)), object_path(post)
|
||||
= link_to (image_tag post.url(:thumb_large)), object_path(post)
|
||||
|
||||
%div.time
|
||||
= link_to(how_long_ago(post), photo_path(post))
|
||||
|
|
|
|||
|
|
@ -108,5 +108,26 @@ describe Photo do
|
|||
xml = @photo.to_xml.to_s
|
||||
xml.include?(@photo.album_id.to_s).should be true
|
||||
end
|
||||
|
||||
it 'should set the remote_photo on marshalling' do
|
||||
@photo.image.store! File.open(@fixture_name)
|
||||
|
||||
@photo.save
|
||||
@photo.reload
|
||||
|
||||
url = @photo.url
|
||||
thumb_url = @photo.url :thumb_medium
|
||||
|
||||
xml = @photo.to_diaspora_xml
|
||||
id = @photo.id
|
||||
|
||||
@photo.destroy
|
||||
@user.receive xml
|
||||
|
||||
new_photo = Photo.first(:id => id)
|
||||
new_photo.url.nil?.should be false
|
||||
new_photo.url.include?(url).should be true
|
||||
new_photo.url(:thumb_medium).include?(thumb_url).should be true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue