]> git.openstreetmap.org Git - rails.git/commitdiff
Show edit links for inactive blocks on block pages
authorAnton Khorev <tony29@yandex.ru>
Wed, 24 Jul 2024 01:55:59 +0000 (04:55 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 24 Jul 2024 01:55:59 +0000 (04:55 +0300)
app/views/user_blocks/show.html.erb
test/controllers/user_blocks_controller_test.rb

index 7b30d19202ee56c34b76868969af639de6045390..619cd6c3f0c58d3fdee045698ca72b59882fd0b2 100644 (file)
   <dd class="col-sm-9"><div class="richtext text-break"><%= @user_block.reason.to_html %></div></dd>
 </dl>
 
   <dd class="col-sm-9"><div class="richtext text-break"><%= @user_block.reason.to_html %></div></dd>
 </dl>
 
-<% 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? %>
   <div>
     <% if current_user&.id == @user_block.creator_id %>
       <%= link_to t(".edit"), edit_user_block_path(@user_block), :class => "btn btn-outline-primary" %>
     <% end %>
   <div>
     <% 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 %>
   </div>
       <%= link_to t(".revoke"), revoke_user_block_path(@user_block), :class => "btn btn-outline-danger" %>
     <% end %>
   </div>
index 45c70c50bc1313b6ce2e4db8ffeea9412997730c..dd0b1287b414c7805395a82bcccb62c0b5c773e6 100644 (file)
@@ -218,10 +218,12 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest
   private
 
   def check_block_buttons(block, edit: 0, revoke: 0)
   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
   end
 
   public