From: Tom Hughes Date: Sun, 18 Aug 2024 10:59:42 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/5091' X-Git-Tag: live~1113 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/71d459c71c63ebebdadea3593848eda52a30ce6c?hp=1e62ae4b18c3cea2c0153709a5968f1df3a3fe8c Merge remote-tracking branch 'upstream/pull/5091' --- diff --git a/app/assets/javascripts/osm.js.erb b/app/assets/javascripts/osm.js.erb index e429f4479..e08528f84 100644 --- a/app/assets/javascripts/osm.js.erb +++ b/app/assets/javascripts/osm.js.erb @@ -204,7 +204,9 @@ OSM = { }, zoomPrecision: function(zoom) { - return Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)); + var pixels = Math.pow(2, 8 + zoom); + var degrees = 180; + return Math.ceil(Math.log10(pixels / degrees)); }, locationCookie: function(map) { diff --git a/app/controllers/user_blocks_controller.rb b/app/controllers/user_blocks_controller.rb index 3b7ef30f9..962eff04c 100644 --- a/app/controllers/user_blocks_controller.rb +++ b/app/controllers/user_blocks_controller.rb @@ -75,11 +75,14 @@ class UserBlocksController < ApplicationController if !user_block_was_active && @user_block.active? flash.now[:error] = t(".inactive_block_cannot_be_reactivated") render :action => "edit" - elsif @user_block.save - flash[:notice] = t(".success") - redirect_to @user_block else - render :action => "edit" + @user_block.ends_at = @user_block.ends_at_was unless user_block_was_active + if @user_block.save + flash[:notice] = t(".success") + redirect_to @user_block + else + render :action => "edit" + end end end else diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index 277926fdc..e6782a64d 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -795,6 +795,8 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest end def check_inactive_block_updates(block) + original_ends_at = block.ends_at + put user_block_path(block, :user_block_period => "0", :user_block => { :needs_view => false, :reason => "Updated Reason" }) @@ -803,6 +805,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest block.reload assert_not_predicate block, :active? assert_equal "Updated Reason", block.reason + assert_equal original_ends_at, block.ends_at put user_block_path(block, :user_block_period => "0", @@ -812,6 +815,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest block.reload assert_not_predicate block, :active? assert_equal "Updated Reason", block.reason + assert_equal original_ends_at, block.ends_at put user_block_path(block, :user_block_period => "1", @@ -821,6 +825,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest block.reload assert_not_predicate block, :active? assert_equal "Updated Reason", block.reason + assert_equal original_ends_at, block.ends_at put user_block_path(block, :user_block_period => "0", @@ -830,6 +835,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest block.reload assert_not_predicate block, :active? assert_equal "Updated Reason Again", block.reason + assert_equal original_ends_at, block.ends_at end def check_user_blocks_table(user_blocks)