1 # frozen_string_literal: true
 
   4   class StatusesController < ApplicationController
 
   7     before_action :authorize_web
 
   8     before_action :set_locale
 
   9     before_action :check_database_readable
 
  11     authorize_resource :class => :user_status
 
  13     before_action :lookup_user_by_name
 
  16     # sets a user's status
 
  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])
 
  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