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