Upstream sync
This commit is contained in:
@@ -15,7 +15,8 @@ class AcquiredMediaRelease < ApplicationRecord
|
||||
include SecondGuardianPhotoable
|
||||
include GuardianName
|
||||
include SecondGuardianName
|
||||
|
||||
include FilesFilterable
|
||||
|
||||
class << self
|
||||
def custom_csv_exportable_headers
|
||||
%i[name files_count owner_info]
|
||||
@@ -106,16 +107,4 @@ class AcquiredMediaRelease < ApplicationRecord
|
||||
def files_count
|
||||
files.any? ? files.size : I18n.t('acquired_media_releases.acquired_media_release.no_media')
|
||||
end
|
||||
|
||||
def image_files
|
||||
files_blobs.where("content_type ILIKE ?", "%image%")
|
||||
end
|
||||
|
||||
def video_files
|
||||
files_blobs.where("content_type ILIKE ?", "%video%")
|
||||
end
|
||||
|
||||
def other_files
|
||||
files_blobs.where("NOT content_type ILIKE ANY (array[?])", ["%image%", "%video%"])
|
||||
end
|
||||
end
|
||||
|
||||
17
app/models/concerns/files_filterable.rb
Normal file
17
app/models/concerns/files_filterable.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
module FilesFilterable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
def image_files
|
||||
files_blobs.where("content_type ILIKE ?", "%image%")
|
||||
end
|
||||
|
||||
def video_files
|
||||
files_blobs.where("content_type ILIKE ?", "%video%")
|
||||
end
|
||||
|
||||
def other_files
|
||||
files_blobs.where("NOT content_type ILIKE ANY (array[?])", ["%image%", "%video%"])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -3,7 +3,7 @@ class MaterialRelease < ApplicationRecord
|
||||
include Contractable
|
||||
include Exploitable
|
||||
include Notable
|
||||
include Photoable
|
||||
include Photoable # This association needs to be removed after changing the API. Removing it right now will cause failure in API specs.
|
||||
include Releasable
|
||||
include Searchable
|
||||
include Signable
|
||||
@@ -16,11 +16,11 @@ class MaterialRelease < ApplicationRecord
|
||||
include SecondGuardianPhotoable
|
||||
include GuardianName
|
||||
include SecondGuardianName
|
||||
|
||||
include FilesFilterable
|
||||
|
||||
class << self
|
||||
def custom_csv_exportable_headers
|
||||
%i[name owner_info]
|
||||
%i[name owner_info files_count]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -56,6 +56,8 @@ class MaterialRelease < ApplicationRecord
|
||||
%w[guardian_2_address_zip zip],
|
||||
%w[guardian_2_address_country country]
|
||||
]
|
||||
|
||||
has_many_attached :files
|
||||
|
||||
# We don't care for the argument but method WILL receive option name
|
||||
# when called from inside with_option block, hence * argument
|
||||
@@ -92,4 +94,8 @@ class MaterialRelease < ApplicationRecord
|
||||
def uses_edl?
|
||||
true
|
||||
end
|
||||
|
||||
def files_count
|
||||
files.any? ? files.size : I18n.t('material_releases.material_release.no_media')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user