]> git.openstreetmap.org Git - rails.git/blob - app/controllers/users/received_blocks_controller.rb
Merge pull request #5932 from tomhughes/frozen-strings
[rails.git] / app / controllers / users / received_blocks_controller.rb
1 # frozen_string_literal: true
2
3 module Users
4   class ReceivedBlocksController < ApplicationController
5     include UserMethods
6     include PaginationMethods
7
8     layout :site_layout
9
10     before_action :authorize_web
11     before_action :set_locale
12
13     authorize_resource :class => UserBlock
14
15     before_action :lookup_user
16     before_action :check_database_readable
17     before_action :check_database_writable, :only => :destroy
18
19     ##
20     # shows a list of all the blocks on the given user
21     def show
22       @params = params.permit(:user_display_name)
23
24       user_blocks = UserBlock.where(:user => @user)
25
26       @user_blocks, @newer_user_blocks_id, @older_user_blocks_id = get_page_items(user_blocks, :includes => [:user, :creator, :revoker])
27
28       @show_user_name = false
29       @show_creator_name = true
30     end
31
32     ##
33     # shows revoke all active blocks page
34     def edit; end
35
36     ##
37     # revokes all active blocks
38     def destroy
39       if params[:confirm]
40         @user.blocks.active.each { |block| block.revoke!(current_user) }
41         flash[:notice] = t ".flash"
42         redirect_to user_received_blocks_path(@user)
43       else
44         render :action => :edit
45       end
46     end
47   end
48 end