Skip to content
Snippets Groups Projects
Commit ad5ddd5e authored by Chad Pytel's avatar Chad Pytel
Browse files

Use I18n for media attachment validation errors

These are currently user facing errors, but are not localized. This adds the
ability for these messages to be localized.
parent 13c00770
No related branches found
No related tags found
No related merge requests found
......@@ -37,11 +37,11 @@ class PostStatusService < BaseService
def validate_media!(media_ids)
return if media_ids.nil? || !media_ids.is_a?(Enumerable)
raise Mastodon::ValidationError, 'Cannot attach more than 4 files' if media_ids.size > 4
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if media_ids.size > 4
media = MediaAttachment.where(status_id: nil).where(id: media_ids.take(4).map(&:to_i))
raise Mastodon::ValidationError, 'Cannot attach a video to a toot that already contains images' if media.size > 1 && media.find(&:video?)
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if media.size > 1 && media.find(&:video?)
media
end
......
......@@ -163,3 +163,7 @@ en:
invalid_otp_token: Invalid two-factor code
will_paginate:
page_gap: "&hellip;"
media_attachments:
validations:
too_many: Cannot attach more than 4 files
images_and_video: Cannot attach a video to a status that already contains images
......@@ -141,7 +141,7 @@ RSpec.describe PostStatusService do
)
end.to raise_error(
Mastodon::ValidationError,
'Cannot attach more than 4 files',
I18n.t('media_attachments.validations.too_many'),
)
end
......@@ -160,7 +160,7 @@ RSpec.describe PostStatusService do
)
end.to raise_error(
Mastodon::ValidationError,
'Cannot attach a video to a toot that already contains images',
I18n.t('media_attachments.validations.images_and_video'),
)
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment