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