From: Tom Hughes Date: Thu, 30 May 2019 17:06:58 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/2225' X-Git-Tag: live~2585 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/f99c383318c4f9ea15639f0566f3e42db4e2c8b1?hp=5d8e1922fe92578e2a9352bbc2a40f9165fcf756 Merge remote-tracking branch 'upstream/pull/2225' --- diff --git a/app/helpers/user_blocks_helper.rb b/app/helpers/user_blocks_helper.rb index 668eeb0e5..ed9997f6d 100644 --- a/app/helpers/user_blocks_helper.rb +++ b/app/helpers/user_blocks_helper.rb @@ -22,4 +22,19 @@ module UserBlocksHelper I18n.t("user_blocks.helper.time_past", :time => friendly_date(last_time)).html_safe end end + + def block_duration_in_words(duration) + parts = ActiveSupport::Duration.build(duration).parts + if duration < 1.day + I18n.t("user_blocks.helper.block_duration.hours", :count => parts[:hours]) + elsif duration < 1.week + I18n.t("user_blocks.helper.block_duration.days", :count => parts[:days]) + elsif duration < 1.month + I18n.t("user_blocks.helper.block_duration.weeks", :count => parts[:weeks]) + elsif duration < 1.year + I18n.t("user_blocks.helper.block_duration.months", :count => parts[:months]) + else + I18n.t("user_blocks.helper.block_duration.years", :count => parts[:years]) + end + end end diff --git a/app/views/user_blocks/edit.html.erb b/app/views/user_blocks/edit.html.erb index 82757af83..6f0ea991b 100644 --- a/app/views/user_blocks/edit.html.erb +++ b/app/views/user_blocks/edit.html.erb @@ -18,7 +18,7 @@

<%= label_tag "user_block_period", t(".period") %>
- <%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [t("user_blocks.period", :count => h), h.to_s] }, params[:user_block_period])) %> + <%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] }, params[:user_block_period])) %>

<%= f.check_box :needs_view %> diff --git a/app/views/user_blocks/new.html.erb b/app/views/user_blocks/new.html.erb index c92fe74ec..aa4bf7132 100644 --- a/app/views/user_blocks/new.html.erb +++ b/app/views/user_blocks/new.html.erb @@ -13,7 +13,7 @@

<%= label_tag "user_block_period", t(".period") %>
- <%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [t("user_blocks.period", :count => h), h.to_s] }, params[:user_block_period])) %> + <%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] }, params[:user_block_period])) %>

<%= f.check_box :needs_view %> diff --git a/config/locales/en.yml b/config/locales/en.yml index ec6591226..516dad37a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2321,14 +2321,27 @@ en: confirm: "Are you sure you wish to revoke this block?" revoke: "Revoke!" flash: "This block has been revoked." - period: - one: "1 hour" - other: "%{count} hours" helper: time_future: "Ends in %{time}." until_login: "Active until the user logs in." time_future_and_until_login: "Ends in %{time} and after the user has logged in." time_past: "Ended %{time} ago." + block_duration: + hours: + one: "1 hour" + other: "%{count} hours" + days: + one: "1 day" + other: "%{count} days" + weeks: + one: "1 week" + other: "%{count} weeks" + months: + one: "1 month" + other: "%{count} months" + years: + one: "1 year" + other: "%{count} years" blocks_on: title: "Blocks on %{name}" heading: "List of blocks on %{name}" diff --git a/config/settings.yml b/config/settings.yml index 51d3ed2c9..a664b78b0 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -42,7 +42,7 @@ api_timeout: 300 # Timeout for web pages in seconds web_timeout: 30 # Periods (in hours) which are allowed for user blocks -user_block_periods: [0, 1, 3, 6, 12, 24, 48, 96] +user_block_periods: [0, 1, 3, 6, 12, 24, 48, 96, 168, 336, 731, 4383, 8766, 87660] # Rate limit for message sending max_messages_per_hour: 60 # Domain for handling message replies