From: Anton Khorev Date: Wed, 24 Jul 2024 01:55:59 +0000 (+0300) Subject: Show edit links for inactive blocks on block pages X-Git-Tag: live~462^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/6ec1947e905bf38593bf9202855bc05fda45f808?ds=sidebyside;hp=-c Show edit links for inactive blocks on block pages --- 6ec1947e905bf38593bf9202855bc05fda45f808 diff --git a/app/views/user_blocks/show.html.erb b/app/views/user_blocks/show.html.erb index 7b30d1920..619cd6c3f 100644 --- a/app/views/user_blocks/show.html.erb +++ b/app/views/user_blocks/show.html.erb @@ -26,13 +26,12 @@
<%= @user_block.reason.to_html %>
-<% if @user_block.ends_at > Time.now.getutc && (current_user&.id == @user_block.creator_id || - can?(:revoke, UserBlock)) %> +<% if current_user&.id == @user_block.creator_id || can?(:revoke, UserBlock) && @user_block.active? %>
<% if current_user&.id == @user_block.creator_id %> <%= link_to t(".edit"), edit_user_block_path(@user_block), :class => "btn btn-outline-primary" %> <% end %> - <% if can?(:revoke, UserBlock) %> + <% if can?(:revoke, UserBlock) && @user_block.active? %> <%= link_to t(".revoke"), revoke_user_block_path(@user_block), :class => "btn btn-outline-danger" %> <% end %>
diff --git a/test/controllers/user_blocks_controller_test.rb b/test/controllers/user_blocks_controller_test.rb index 45c70c50b..dd0b1287b 100644 --- a/test/controllers/user_blocks_controller_test.rb +++ b/test/controllers/user_blocks_controller_test.rb @@ -218,10 +218,12 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest private def check_block_buttons(block, edit: 0, revoke: 0) - get user_blocks_path - assert_response :success - assert_select "a[href='#{edit_user_block_path block}']", :count => edit - assert_select "a[href='#{revoke_user_block_path block}']", :count => revoke + [user_blocks_path, user_block_path(block)].each do |path| + get path + assert_response :success + assert_select "a[href='#{edit_user_block_path block}']", :count => edit + assert_select "a[href='#{revoke_user_block_path block}']", :count => revoke + end end public