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])
partners_corpmembers: Карпаратыўныя члены OSMF
partners_partners: партнёры
tou: Умовы карыстання
- osm_offline: Ð\91аза дадзенÑ\8bÑ\85 OpenStreetMap заÑ\80аз па-за Ñ\81еÑ\86Ñ\96вам, Ñ\82амÑ\83 Ñ\88Ñ\82о пÑ\80аÑ\85одзÑ\96Ñ\86Ñ\8c
+ osm_offline: База даных OpenStreetMap зараз па-за сецівам, таму што праходзіць
неабходная тэхнічная праца.
osm_read_only: База даных OpenStreetMap зараз даступная толькі для чытання, таму
што праходзіць неабходная тэхнічная праца.
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 і яе ўдзельнікаў.
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"
description: Опис
report:
category: Изберете причина за пријавата
- details: Ð\9dаведеÑ\82е повеÑ\9cе подÑ\80обности за проблемот (задолжително).
+ details: Ð\9dаведеÑ\82е повеÑ\9cе поединости за проблемот (задолжително).
user:
auth_provider: Заверувач
auth_uid: Назнака за заверката
tagstring: одделено со запирка
user_block:
reason: Причината зошто корисникот е блокиран. Бидете што посмирени и поразумни,
- наведеÑ\82е Ñ\88Ñ\82о повеÑ\9cе подÑ\80обности за ситуацијата, имајќи на ум дека пораката
+ наведеÑ\82е Ñ\88Ñ\82о повеÑ\9cе поединости за ситуацијата, имајќи на ум дека пораката
ќе биде јавно видлива. Имајте предвид и дека не сите корисници го разбираат
жаргонот на заедницата, па затоа обидете се да користите лаички поими.
needs_view: Дали корисникот треба да се најави пред да се исчисти овој блок?
download_xml: Преземи XML
view_history: Погл. историја
view_unredacted_history: Погл. неизменета историја
- view_details: Ð\9fогл. подÑ\80обности
+ view_details: Ð\9fогл. поединости
view_redacted_data: Погл. исправена верзија
view_redaction_message: Погл. порака за измената
location: 'Местоположба:'
other_label: Друго
create:
successful_report: Вашата пријава е успешно заведена
- provide_details: Ð\9dаведеÑ\82е ги поÑ\82Ñ\80ебниÑ\82е подÑ\80обности
+ provide_details: Ð\9dаведеÑ\82е ги поÑ\82Ñ\80ебниÑ\82е поединости
layouts:
logo:
alt_text: Лого на OpenStreetMap
бази на податоци.
credit_3_html: "Условите за истакнување на авторскоправната напомена се разликуваат
зависно од тоа како ги користите нашите податоци. На пример, правилата се
- Ñ\80азлиÑ\87ни за пÑ\80елиÑ\81Ñ\82лива каÑ\80Ñ\82а, пеÑ\87аÑ\82ена каÑ\80Ñ\82а и Ñ\83Ñ\86вÑ\80Ñ\81Ñ\82ена Ñ\81лика. СиÑ\82е подÑ\80обности
+ Ñ\80азлиÑ\87ни за пÑ\80елиÑ\81Ñ\82лива каÑ\80Ñ\82а, пеÑ\87аÑ\82ена каÑ\80Ñ\82а и Ñ\83Ñ\86вÑ\80Ñ\81Ñ\82ена Ñ\81лика. СиÑ\82е поединости
на условите ќе ги најдете на \n%{attribution_guidelines_link}."
credit_3_attribution_guidelines: Напатствијата за припис
credit_4_1_html: "За да истакнете дека податоците се достапни под Лиценцата
access_url: 'URL на пристапата шифра:'
authorize_url: 'Дозволи URL:'
support_notice: Поддржуваме потписи во HMAC-SHA1 (препорачано) и RSA-SHA1.
- edit: Ð\98змени подÑ\80обности
+ edit: Ð\98змени поединости
delete: Избриши клиент
confirm: Дали сте сигурни?
requests: Ги барам следните дозволи од корисникот
way: лінії
relation: зв’язку
start_rjs:
- feature_warning: Завантаження %{num_features} об’єктів, може призвести до уповільнення
- або неможливоÑ\81Ñ\82Ñ\96 Ñ\80обоÑ\82и ваÑ\88ого оглÑ\8fдаÑ\87а. Ð\92и Ñ\81пÑ\80авдÑ\96 бажаÑ\94Ñ\82е пеÑ\80еглÑ\8fнÑ\83Ñ\82и Ñ\86Ñ\96
- дані?
+ feature_warning: Завантаження %{num_features} функцій, через які ваш веб-переглядач
+ може Ñ\81повÑ\96лÑ\8cнÑ\8eваÑ\82иÑ\81Ñ\8f або не Ñ\80еагÑ\83ваÑ\82и. Ð\92и впевненÑ\96, Ñ\89о бажаÑ\94Ñ\82е вÑ\96добÑ\80азиÑ\82и
+ ці дані?
load_data: Завантажити дані
loading: Завантаження…
tag_details:
search_osm_nominatim:
prefix:
aerialway:
- cable_car: 大型纜車
+ cable_car: 大車廂纜車
chair_lift: 吊椅式索道
- drag_lift: 拖拉式索道
- gondola: 小型纜車
+ drag_lift: 牽引式索道
+ gondola: 小車廂纜車
magic_carpet: 魔毯 (自動步道)
platter: 圓盤拖拉式索道
pylon: 塔柱
drinking_water: 飲用水
driving_school: 駕訓班
embassy: 大使館
- events_venue: 活動會場
+ events_venue: 活動場館
fast_food: 速食
ferry_terminal: 渡輪碼頭
fire_station: 消防隊
restaurant: 餐廳
sanitary_dump_station: 衛生排污站
school: 學校
- shelter: 涼亭
+ shelter: 亭子
shower: 淋浴間
social_centre: 社會團體中心
social_facility: 社會福利設施
assert_equal "Original Reason", block.reason
session_for(creator_user)
- check_block_updates(block)
+ check_inactive_block_updates(block)
end
##
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
##
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" })
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)