Merge remote-tracking branch 'upstream/pull/2919' into master

This commit is contained in:
Tom Hughes 2020-10-28 14:07:55 +00:00
commit 9690ef737c
5 changed files with 17 additions and 18 deletions

View file

@ -150,9 +150,6 @@ Rails/OutputSafety:
Exclude: Exclude:
- 'app/controllers/users_controller.rb' - 'app/controllers/users_controller.rb'
- 'app/helpers/application_helper.rb' - 'app/helpers/application_helper.rb'
- 'app/helpers/changesets_helper.rb'
- 'app/helpers/geocoder_helper.rb'
- 'app/helpers/user_blocks_helper.rb'
- 'lib/rich_text.rb' - 'lib/rich_text.rb'
- 'test/helpers/application_helper_test.rb' - 'test/helpers/application_helper_test.rb'

View file

@ -17,7 +17,7 @@ module ChangesetsHelper
else else
action = :closed action = :closed
time = time_ago_in_words(changeset.closed_at, :scope => :'datetime.distance_in_words_ago') time = time_ago_in_words(changeset.closed_at, :scope => :'datetime.distance_in_words_ago')
title = "#{t('browse.created')}: #{l(changeset.created_at)}
#{t('browse.closed')}: #{l(changeset.closed_at)}".html_safe title = safe_join([t("browse.created"), ": ", l(changeset.created_at), "
".html_safe, t("browse.closed"), ": ", l(changeset.closed_at)])
end end
if params.key?(:display_name) if params.key?(:display_name)

View file

@ -14,13 +14,13 @@ module GeocoderHelper
html_options[:data][key.to_s.tr("_", "-")] = value html_options[:data][key.to_s.tr("_", "-")] = value
end end
html = "" html = []
html << result[:prefix] if result[:prefix] html << result[:prefix] if result[:prefix]
html << " " if result[:prefix] && result[:name] html << " " if result[:prefix] && result[:name]
html << link_to(result[:name], url, html_options) if result[:name] html << link_to(result[:name], url, html_options) if result[:name]
html << " " if result[:suffix] && result[:name] html << " " if result[:suffix] && result[:name]
html << result[:suffix] if result[:suffix] html << result[:suffix] if result[:suffix]
html.html_safe safe_join(html)
end end
def describe_location(lat, lon, zoom = nil, language = nil) def describe_location(lat, lon, zoom = nil, language = nil)

View file

@ -1,4 +1,6 @@
module UserBlocksHelper module UserBlocksHelper
include ActionView::Helpers::TranslationHelper
## ##
# returns a translated string representing the status of the # returns a translated string representing the status of the
# user block (i.e: whether it's active, what the expiry time is) # user block (i.e: whether it's active, what the expiry time is)
@ -7,34 +9,34 @@ module UserBlocksHelper
# if the block hasn't expired yet show the date, if the user just needs to login show that # if the block hasn't expired yet show the date, if the user just needs to login show that
if block.needs_view? if block.needs_view?
if block.ends_at > Time.now.getutc if block.ends_at > Time.now.getutc
I18n.t("user_blocks.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe t("user_blocks.helper.time_future_and_until_login_html", :time => friendly_date(block.ends_at))
else else
I18n.t("user_blocks.helper.until_login") t("user_blocks.helper.until_login")
end end
else else
I18n.t("user_blocks.helper.time_future", :time => friendly_date(block.ends_at)).html_safe t("user_blocks.helper.time_future_html", :time => friendly_date(block.ends_at))
end end
else else
# the max of the last update time or the ends_at time is when this block finished # the max of the last update time or the ends_at time is when this block finished
# either because the user viewed the block (updated_at) or it expired or was # either because the user viewed the block (updated_at) or it expired or was
# revoked (ends_at) # revoked (ends_at)
last_time = [block.ends_at, block.updated_at].max last_time = [block.ends_at, block.updated_at].max
I18n.t("user_blocks.helper.time_past", :time => friendly_date_ago(last_time)).html_safe t("user_blocks.helper.time_past_html", :time => friendly_date_ago(last_time))
end end
end end
def block_duration_in_words(duration) def block_duration_in_words(duration)
parts = ActiveSupport::Duration.build(duration).parts parts = ActiveSupport::Duration.build(duration).parts
if duration < 1.day if duration < 1.day
I18n.t("user_blocks.helper.block_duration.hours", :count => parts[:hours]) t("user_blocks.helper.block_duration.hours", :count => parts[:hours])
elsif duration < 1.week elsif duration < 1.week
I18n.t("user_blocks.helper.block_duration.days", :count => parts[:days]) t("user_blocks.helper.block_duration.days", :count => parts[:days])
elsif duration < 1.month elsif duration < 1.month
I18n.t("user_blocks.helper.block_duration.weeks", :count => parts[:weeks]) t("user_blocks.helper.block_duration.weeks", :count => parts[:weeks])
elsif duration < 1.year elsif duration < 1.year
I18n.t("user_blocks.helper.block_duration.months", :count => parts[:months]) t("user_blocks.helper.block_duration.months", :count => parts[:months])
else else
I18n.t("user_blocks.helper.block_duration.years", :count => parts[:years]) t("user_blocks.helper.block_duration.years", :count => parts[:years])
end end
end end
end end

View file

@ -2572,10 +2572,10 @@ en:
revoke: "Revoke!" revoke: "Revoke!"
flash: "This block has been revoked." flash: "This block has been revoked."
helper: helper:
time_future: "Ends in %{time}." time_future_html: "Ends in %{time}."
until_login: "Active until the user logs in." until_login: "Active until the user logs in."
time_future_and_until_login: "Ends in %{time} and after the user has logged in." time_future_and_until_login_html: "Ends in %{time} and after the user has logged in."
time_past: "Ended %{time}." time_past_html: "Ended %{time}."
block_duration: block_duration:
hours: hours:
one: "1 hour" one: "1 hour"