From 8ac7fca5d06b776cc09127f9c6a9018e9acade5b Mon Sep 17 00:00:00 2001 From: Patrick Figel Date: Sat, 29 Apr 2017 00:18:32 +0200 Subject: Set correct attachment type for rejected media (#2599) In #2110, a new attachment type "unknown" was introduced for attachments that were rejected due to a domain being blocked using reject_media. However, the "type" field was never set to "unknown" because a default value of "0" (image) is set for that column, causing the `type.blank?` expression to always equal false. This version uses type_changed? instead, causing the type to be set to "unknown" unless a type has been explicitly set. This introduces a small change in behaviour causing the type to be set to unknown before paperclip calls `before_post_process`. Presumably this behaviour is more appropriate than the current one because the attachment type has not been determined by that point. Included are new tests for `ProcessFeedService` and `UpdateRemoteProfileService` which now check that remote media is downloaded for non-blocked domains and is rejected for others. --- app/models/media_attachment.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/models') diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index aae896d20..2ebddcb69 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -96,7 +96,7 @@ class MediaAttachment < ApplicationRecord private def set_shortcode - self.type = :unknown if file.blank? && type.blank? + self.type = :unknown if file.blank? && !type_changed? return unless local? -- cgit