Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions app/models/asset_field_type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class AssetFieldType < FieldType
validates :asset, attachment_presence: true, if: :validate_presence?
validate :validate_asset_size, if: :validate_size?
validate :validate_asset_content_type, if: :validate_content_type?
validate :asset_extension, if: :existing_data?

def metadata=(metadata_hash)
@metadata = metadata_hash.deep_symbolize_keys
Expand Down Expand Up @@ -79,6 +80,12 @@ def media_title
existing_data['media_title'] || ContentItemService.form_fields[@metadata[:naming_data][:title]][:text].parameterize.underscore
end

def asset_extension
unless existing_data['asset']['content_type'] == asset_content_type
errors.add(:asset, "Asset must be the same type of: #{existing_data['asset']['content_type']}")
end
end

def mapping_field_name
"#{field_name.parameterize('_')}_asset_file_name"
end
Expand All @@ -97,6 +104,10 @@ def attachment_content_type_validator

alias_method :valid_presence_validation?, :validate_presence?

def existing_data?
existing_data.any?
end

def validate_size?
begin
attachment_size_validator
Expand Down