diff --git a/app/models/photo.rb b/app/models/photo.rb index 0cfb47b132b4fc8094b9048c8d56fa29ac372775..bbab52403125c50a49c514570d9573db92689067 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -33,8 +33,9 @@ class Photo < Post def self.diaspora_initialize(params = {}) photo = super(params) image_file = params.delete(:user_file) - photo.random_string = gen_random_string(10) + photo.random_string = ActiveSupport::SecureRandom.hex(10) photo.unprocessed_image.store! image_file + photo.update_remote_path photo end @@ -47,12 +48,12 @@ class Photo < Post end def update_remote_path - unless self.processed_image.url.match(/^https?:\/\//) + unless self.unprocessed_image.url.match(/^https?:\/\//) pod_url = AppConfig[:pod_url].dup pod_url.chop! if AppConfig[:pod_url][-1,1] == '/' - remote_path = "#{pod_url}#{self.processed_image.url}" + remote_path = "#{pod_url}#{self.unprocessed_image.url}" else - remote_path = self.processed_image.url + remote_path = self.unprocessed_image.url end name_start = remote_path.rindex '/' @@ -77,7 +78,7 @@ class Photo < Post name = name.to_s + '_' if name remote_photo_path + name.to_s + remote_photo_name elsif not_processed? - unprocessed_image.url + unprocessed_image.url(name) else processed_image.url(name) end @@ -102,7 +103,6 @@ class Photo < Post def process return false if unprocessed_image.path.include?('.gif') || self.processed? processed_image.store!(unprocessed_image) #Ultra naive - update_remote_path save! end @@ -110,14 +110,6 @@ class Photo < Post true end - def self.gen_random_string(len) - chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a - string = "" - 1.upto(len) { |i| string << chars[rand(chars.size-1)] } - return string - end - - def as_json(opts={}) { :photo => { diff --git a/app/models/user.rb b/app/models/user.rb index bf75d81a1351beb9c1e52d97014b0bfb13de9339..f5a16d92c2444034c18ab92a73cf021b2c53b0f8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -226,7 +226,6 @@ class User < ActiveRecord::Base def update_profile(params) if photo = params.delete(:photo) photo.update_attributes(:pending => false) if photo.pending - photo.process params[:image_url] = photo.url(:thumb_large) params[:image_url_medium] = photo.url(:thumb_medium) params[:image_url_small] = photo.url(:thumb_small) diff --git a/app/uploaders/processed_image.rb b/app/uploaders/processed_image.rb index fb0478c80f3a606ab4b1894ccff0ece9c5dbed6e..a2e8c3658f8e4ce0a9631dc0f515ec5428119a1a 100644 --- a/app/uploaders/processed_image.rb +++ b/app/uploaders/processed_image.rb @@ -14,7 +14,7 @@ class ProcessedImage < CarrierWave::Uploader::Base end def filename - model.random_string + model.id.to_s + File.extname(@filename) if @filename + model.random_string + File.extname(@filename) if @filename end version :thumb_small do diff --git a/app/uploaders/unprocessed_image.rb b/app/uploaders/unprocessed_image.rb index ab43a3d070b90fac75275ce4d12c21ab6a3fb409..5792412531098cd07951bd90c883e01fc6981289 100644 --- a/app/uploaders/unprocessed_image.rb +++ b/app/uploaders/unprocessed_image.rb @@ -6,7 +6,7 @@ class UnprocessedImage < CarrierWave::Uploader::Base include CarrierWave::MiniMagick def store_dir - "uploads/u_images" + "uploads/images" end def extension_white_list @@ -14,7 +14,11 @@ class UnprocessedImage < CarrierWave::Uploader::Base end def filename - model.random_string + model.id.to_s + File.extname(@filename) if @filename + model.random_string + File.extname(@filename) if @filename end + version :thumb_small + version :thumb_medium + version :thumb_large + version :scaled_full end diff --git a/spec/models/photo_spec.rb b/spec/models/photo_spec.rb index d8219ddac83dbbd44a154268b5b80745c95ce8dd..a1b18ccb369df169977a018de6c5825b43df3498 100644 --- a/spec/models/photo_spec.rb +++ b/spec/models/photo_spec.rb @@ -75,9 +75,6 @@ describe Photo do @photo.save! end it 'sets a remote url' do - @photo.remote_photo_path.should be_nil - @photo.remote_photo_name.should be_nil - @photo.update_remote_path @photo.remote_photo_path.should include("http") diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index a9daff2a966e6079059a7d223f6f4c600eaece57..95fd1d6bf65356e2d9c23e6ff75d756063d3aa42 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -300,10 +300,6 @@ describe User do alice.update_profile(@params).should be true @photo.reload.pending.should be_false end - it 'post-processes the photo' do - @photo.should_receive(:process) - alice.update_profile(@params).should be true - end end end