diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2011-08-08 13:27:06 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2011-08-08 14:57:16 +0100 |
commit | 8d079ca778e2905a61c947648d924cb6c4f79724 (patch) | |
tree | b122f1807f239b023ec8c61c359a03912a29b412 | |
parent | a3c00d25d1bf6dc9ef554a44809e732a96ec1533 (diff) |
Fix dependency problem when deleting incoming messages. Closes #115
-rw-r--r-- | app/models/incoming_message.rb | 3 | ||||
-rw-r--r-- | app/models/raw_email.rb | 2 | ||||
-rw-r--r-- | spec/controllers/admin_request_controller_spec.rb | 7 |
3 files changed, 8 insertions, 4 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index 581c73f8b..7d9cfbfa1 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_message.rb @@ -1237,9 +1237,8 @@ class IncomingMessage < ActiveRecord::Base info_request_event.track_things_sent_emails.each { |a| a.destroy } info_request_event.user_info_request_sent_alerts.each { |a| a.destroy } info_request_event.destroy - raw_email = self.raw_email + self.raw_email.destroy_file_representation! self.destroy - self.raw_email.destroy end end diff --git a/app/models/raw_email.rb b/app/models/raw_email.rb index eb36053c1..c6066cbf4 100644 --- a/app/models/raw_email.rb +++ b/app/models/raw_email.rb @@ -20,8 +20,6 @@ class RawEmail < ActiveRecord::Base has_one :incoming_message - before_destroy :destroy_file_representation! - # We keep the old data_text field (which is of type text) for backwards # compatibility. We use the new data_binary field because only it works # properly in recent versions of PostgreSQL (get seg faults escaping diff --git a/spec/controllers/admin_request_controller_spec.rb b/spec/controllers/admin_request_controller_spec.rb index 04e412e76..eab9db4af 100644 --- a/spec/controllers/admin_request_controller_spec.rb +++ b/spec/controllers/admin_request_controller_spec.rb @@ -68,4 +68,11 @@ describe AdminRequestController, "when administering the holding pen" do assigns[:info_requests][0].should == ir end + it "destroys an incoming message" do + im = incoming_messages(:useless_incoming_message) + raw_email = im.raw_email.filepath + post :destroy_incoming, :incoming_message_id => im.id + assert_equal File.exists?(raw_email), false + end + end |