From: Tom Hughes Date: Thu, 15 Aug 2024 16:54:51 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/5081' X-Git-Tag: live~719 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/a0013c8f56d6d0b6eaa707741ac744c8fb9f52cc?hp=ec6789920cdb3548155ff676af893ee277ee7bfa Merge remote-tracking branch 'upstream/pull/5081' --- diff --git a/app/controllers/user_blocks_controller.rb b/app/controllers/user_blocks_controller.rb index 664ac5681..3b7ef30f9 100644 --- a/app/controllers/user_blocks_controller.rb +++ b/app/controllers/user_blocks_controller.rb @@ -67,15 +67,20 @@ class UserBlocksController < ApplicationController current_user != @user_block.revoker flash[:error] = t(@user_block.revoker ? ".only_creator_or_revoker_can_edit" : ".only_creator_can_edit") redirect_to :action => "edit" - elsif @user_block.update( - :ends_at => Time.now.utc + @block_period.hours, - :reason => params[:user_block][:reason], - :needs_view => params[:user_block][:needs_view] - ) - flash[:notice] = t(".success") - redirect_to(@user_block) else - render :action => "edit" + user_block_was_active = @user_block.active? + @user_block.reason = params[:user_block][:reason] + @user_block.needs_view = params[:user_block][:needs_view] + @user_block.ends_at = Time.now.utc + @block_period.hours + 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" + end end else redirect_to edit_user_block_path(:id => params[:id]) diff --git a/config/locales/be.yml b/config/locales/be.yml index 11060ff26..d3f150b59 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -1690,7 +1690,7 @@ be: partners_corpmembers: Карпаратыўныя члены OSMF partners_partners: партнёры tou: Умовы карыстання - osm_offline: База дадзеных OpenStreetMap зараз па-за сецівам, таму што праходзіць + osm_offline: База даных OpenStreetMap зараз па-за сецівам, таму што праходзіць неабходная тэхнічная праца. osm_read_only: База даных OpenStreetMap зараз даступная толькі для чытання, таму што праходзіць неабходная тэхнічная праца. @@ -2117,6 +2117,10 @@ be: native_link: беларуская версія mapping_link: пачаць маляваць карту legal_babble: + introduction_1_html: |- + OpenStreetMap%{registered_trademark_link} гэта %{open_data}, якія прадастаўляюцца па ліцэнзіі + %{odc_odbl_link} (ODbL) праз %{osm_foundation_link} (OSMF). + introduction_1_open_data: адкрытыя даныя introduction_1_osm_foundation: Фонд OpenStreetMap introduction_2_html: Вы можаце капіраваць, распаўсюджваць, перадаваць і змяняць нашыя даныя да той пары пакуль вы спасылаецеся на OpenStreetMap і яе ўдзельнікаў. diff --git a/config/locales/en.yml b/config/locales/en.yml index ac41952c7..c4cae4b22 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2950,6 +2950,7 @@ en: update: only_creator_can_edit: "Only the moderator who created this block can edit it." only_creator_or_revoker_can_edit: "Only the moderators who created or revoked this block can edit it." + inactive_block_cannot_be_reactivated: "This block is inactive and cannot be reactivated." success: "Block updated." index: title: "User blocks" diff --git a/config/locales/mk.yml b/config/locales/mk.yml index c5488a93d..f122b01f6 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -138,7 +138,7 @@ mk: description: Опис report: category: Изберете причина за пријавата - details: Наведете повеќе подробности за проблемот (задолжително). + details: Наведете повеќе поединости за проблемот (задолжително). user: auth_provider: Заверувач auth_uid: Назнака за заверката @@ -163,7 +163,7 @@ mk: tagstring: одделено со запирка user_block: reason: Причината зошто корисникот е блокиран. Бидете што посмирени и поразумни, - наведете што повеќе подробности за ситуацијата, имајќи на ум дека пораката + наведете што повеќе поединости за ситуацијата, имајќи на ум дека пораката ќе биде јавно видлива. Имајте предвид и дека не сите корисници го разбираат жаргонот на заедницата, па затоа обидете се да користите лаички поими. needs_view: Дали корисникот треба да се најави пред да се исчисти овој блок? @@ -336,7 +336,7 @@ mk: download_xml: Преземи XML view_history: Погл. историја view_unredacted_history: Погл. неизменета историја - view_details: Погл. подробности + view_details: Погл. поединости view_redacted_data: Погл. исправена верзија view_redaction_message: Погл. порака за измената location: 'Местоположба:' @@ -1580,7 +1580,7 @@ mk: other_label: Друго create: successful_report: Вашата пријава е успешно заведена - provide_details: Наведете ги потребните подробности + provide_details: Наведете ги потребните поединости layouts: logo: alt_text: Лого на OpenStreetMap @@ -2075,7 +2075,7 @@ mk: бази на податоци. credit_3_html: "Условите за истакнување на авторскоправната напомена се разликуваат зависно од тоа како ги користите нашите податоци. На пример, правилата се - различни за прелистлива карта, печатена карта и уцврстена слика. Сите подробности + различни за прелистлива карта, печатена карта и уцврстена слика. Сите поединости на условите ќе ги најдете на \n%{attribution_guidelines_link}." credit_3_attribution_guidelines: Напатствијата за припис credit_4_1_html: "За да истакнете дека податоците се достапни под Лиценцата @@ -2704,7 +2704,7 @@ mk: access_url: 'URL на пристапата шифра:' authorize_url: 'Дозволи URL:' support_notice: Поддржуваме потписи во HMAC-SHA1 (препорачано) и RSA-SHA1. - edit: Измени подробности + edit: Измени поединости delete: Избриши клиент confirm: Дали сте сигурни? requests: Ги барам следните дозволи од корисникот diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 3b7647e52..a8eed3c19 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -481,9 +481,9 @@ uk: way: лінії relation: зв’язку start_rjs: - feature_warning: Завантаження %{num_features} об’єктів, може призвести до уповільнення - або неможливості роботи вашого оглядача. Ви справді бажаєте переглянути ці - дані? + feature_warning: Завантаження %{num_features} функцій, через які ваш веб-переглядач + може сповільнюватися або не реагувати. Ви впевнені, що бажаєте відобразити + ці дані? load_data: Завантажити дані loading: Завантаження… tag_details: diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 23b7a7bb2..a583b658c 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -702,10 +702,10 @@ zh-TW: search_osm_nominatim: prefix: aerialway: - cable_car: 大型纜車 + cable_car: 大車廂纜車 chair_lift: 吊椅式索道 - drag_lift: 拖拉式索道 - gondola: 小型纜車 + drag_lift: 牽引式索道 + gondola: 小車廂纜車 magic_carpet: 魔毯 (自動步道) platter: 圓盤拖拉式索道 pylon: 塔柱 @@ -765,7 +765,7 @@ zh-TW: drinking_water: 飲用水 driving_school: 駕訓班 embassy: 大使館 - events_venue: 活動會場 + events_venue: 活動場館 fast_food: 速食 ferry_terminal: 渡輪碼頭 fire_station: 消防隊 @@ -811,7 +811,7 @@ zh-TW: restaurant: 餐廳 sanitary_dump_station: 衛生排污站 school: 學校 - shelter: 涼亭 + shelter: 亭子 shower: 淋浴間 social_centre: 社會團體中心 social_facility: 社會福利設施 diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index b172945ec..d28194fdc 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -469,7 +469,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest assert_equal "Original Reason", block.reason session_for(creator_user) - check_block_updates(block) + check_inactive_block_updates(block) end ## @@ -491,10 +491,10 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest assert_equal "Original Reason", block.reason session_for(creator_user) - check_block_updates(block) + check_inactive_block_updates(block) session_for(revoker_user) - check_block_updates(block) + check_inactive_block_updates(block) end ## @@ -798,7 +798,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest end end - def check_block_updates(block) + def check_inactive_block_updates(block) put user_block_path(block, :user_block_period => "0", :user_block => { :needs_view => false, :reason => "Updated Reason" }) @@ -810,12 +810,30 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest put user_block_path(block, :user_block_period => "0", - :user_block => { :needs_view => true, :reason => "Updated Reason 2" }) + :user_block => { :needs_view => true, :reason => "Updated Reason Needs View" }) + assert_response :success + assert_equal "This block is inactive and cannot be reactivated.", flash[:error] + block.reload + assert_not_predicate block, :active? + assert_equal "Updated Reason", block.reason + + put user_block_path(block, + :user_block_period => "1", + :user_block => { :needs_view => false, :reason => "Updated Reason Duration Extended" }) + assert_response :success + assert_equal "This block is inactive and cannot be reactivated.", flash[:error] + block.reload + assert_not_predicate block, :active? + assert_equal "Updated Reason", block.reason + + put user_block_path(block, + :user_block_period => "0", + :user_block => { :needs_view => false, :reason => "Updated Reason Again" }) assert_redirected_to user_block_path(block) assert_equal "Block updated.", flash[:notice] block.reload - assert_predicate block, :active? - assert_equal "Updated Reason 2", block.reason + assert_not_predicate block, :active? + assert_equal "Updated Reason Again", block.reason end def check_user_blocks_table(user_blocks)