Merge pull request #1970 from TheLambdaCalculus/b1126-additional-refactoring

Refactoring for B#1126 fix. Photo model is now fatter with #destroy logic while Photo controller is thinner.
This commit is contained in:
The Lambda Calculus 2011-09-13 07:15:29 -07:00
commit b7399cda8f
2 changed files with 10 additions and 6 deletions

View file

@ -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

View file

@ -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