]> git.openstreetmap.org Git - rails.git/blob - app/controllers/users/statuses_controller.rb
Add frozen_string_literal comments to ruby files
[rails.git] / app / controllers / users / statuses_controller.rb
1 # frozen_string_literal: true
2
3 module Users
4   class StatusesController < ApplicationController
5     layout :site_layout
6
7     before_action :authorize_web
8     before_action :set_locale
9     before_action :check_database_readable
10
11     authorize_resource :class => :user_status
12
13     before_action :lookup_user_by_name
14
15     ##
16     # sets a user's status
17     def update
18       @user.activate! if params[:event] == "activate"
19       @user.confirm! if params[:event] == "confirm"
20       @user.unconfirm! if params[:event] == "unconfirm"
21       @user.hide! if params[:event] == "hide"
22       @user.unhide! if params[:event] == "unhide"
23       @user.unsuspend! if params[:event] == "unsuspend"
24       @user.soft_destroy! if params[:event] == "soft_destroy" # destroy a user, marking them as deleted and removing personal data
25       redirect_to user_path(params[:user_display_name])
26     end
27
28     private
29
30     ##
31     # ensure that there is a "user" instance variable
32     def lookup_user_by_name
33       @user = User.find_by!(:display_name => params[:user_display_name])
34     rescue ActiveRecord::RecordNotFound
35       redirect_to user_path(params[:user_display_name]) unless @user
36     end
37   end
38 end