diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb index b21ff49f1..d9190ae0f 100644 --- a/app/controllers/photos_controller.rb +++ b/app/controllers/photos_controller.rb @@ -127,13 +127,8 @@ class PhotosController < ApplicationController format.json{ render :nothing => true, :status => 204 } format.html do flash[:notice] = I18n.t 'photos.destroy.notice' - if photo.status_message_guid - if photo.status_message.text_and_photos_blank? - photo.status_message.destroy - respond_with photo, :location => person_photos_path(current_user.person) - else + if StatusMessage.find_by_guid(photo.status_message_guid) respond_with photo, :location => post_path(photo.status_message) - end else respond_with photo, :location => person_photos_path(current_user.person) end diff --git a/app/models/photo.rb b/app/models/photo.rb index 0f8118257..cdebd3f2a 100644 --- a/app/models/photo.rb +++ b/app/models/photo.rb @@ -19,8 +19,17 @@ class Photo < Post validate :ownership_of_status_message before_destroy :ensure_user_picture + after_destroy :clear_empty_status_message after_create :queue_processing_job + def clear_empty_status_message + if self.status_message_guid && self.status_message.text_and_photos_blank? + self.status_message.destroy + else + true + end + end + def ownership_of_status_message message = StatusMessage.find_by_guid(self.status_message_guid) if self.status_message_guid && message