]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #4646 from tomhughes/turbo-pagination
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 21 Aug 2024 18:12:31 +0000 (19:12 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Aug 2024 18:12:31 +0000 (19:12 +0100)
Use turbo for pagination

1  2 
app/controllers/user_blocks_controller.rb

index 71a0b4c31582a09a5d4687ba5e9a74207b59b216,167223d919f001147d54598b115e95d7884d04e6..e77f839991e78e458622f181209ca70d6e2d3e79
@@@ -21,12 -21,16 +21,17 @@@ class UserBlocksController < Applicatio
      user_blocks = UserBlock.all
  
      @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+     @show_user_name = true
+     @show_creator_name = true
+     render :partial => "blocks" if turbo_frame_request_id == "pagination"
    end
  
    def show
      if current_user && current_user == @user_block.user
        @user_block.needs_view = false
 +      @user_block.deactivates_at = [@user_block.ends_at, Time.now.utc].max
        @user_block.save!
      end
    end
@@@ -50,7 -54,6 +55,7 @@@
          :ends_at => now + @block_period.hours,
          :needs_view => params[:user_block][:needs_view]
        )
 +      @user_block.deactivates_at = @user_block.ends_at unless @user_block.needs_view
  
        if @user_block.save
          flash[:notice] = t(".flash", :name => @user.display_name)
          @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
 +        @user_block.deactivates_at = (@user_block.ends_at unless @user_block.needs_view)
          @user_block.revoker = current_user if user_block_was_active && !@user_block.active?
          if !user_block_was_active && @user_block.active?
            flash.now[:error] = t(".inactive_block_cannot_be_reactivated")
            render :action => "edit"
          else
 -          @user_block.ends_at = @user_block.ends_at_was unless user_block_was_active
 +          unless user_block_was_active
 +            @user_block.ends_at = @user_block.ends_at_was
 +            @user_block.deactivates_at = @user_block.deactivates_at_was
 +            @user_block.deactivates_at = [@user_block.ends_at, @user_block.updated_at].max unless @user_block.deactivates_at # take updated_at into account before deactivates_at is backfilled
 +          end
            if @user_block.save
              flash[:notice] = t(".success")
              redirect_to @user_block
      user_blocks = UserBlock.where(:user => @user)
  
      @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+     @show_user_name = false
+     @show_creator_name = true
+     render :partial => "blocks" if turbo_frame_request_id == "pagination"
    end
  
    ##
      user_blocks = UserBlock.where(:creator => @user)
  
      @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
+     @show_user_name = true
+     @show_creator_name = false
+     render :partial => "blocks" if turbo_frame_request_id == "pagination"
    end
  
    private