61 lines
		
	
	
		
			983 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			983 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
class UsersController < ApplicationController
 | 
						|
  before_action :set_user, only: %i[ destroy edit show update ]
 | 
						|
 | 
						|
  def index
 | 
						|
    authorize :user
 | 
						|
 | 
						|
    @users = User.all
 | 
						|
  end
 | 
						|
 | 
						|
  def edit
 | 
						|
    authorize @user
 | 
						|
  end
 | 
						|
 | 
						|
  def update
 | 
						|
    authorize @user
 | 
						|
 | 
						|
    if @user.update(user_params)
 | 
						|
      redirect_to contests_path, notice: t("users.edit.notice")
 | 
						|
    else
 | 
						|
      render :edit, status: :unprocessable_entity
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def show
 | 
						|
    authorize @user
 | 
						|
 | 
						|
    redirect_to edit_user_path(@user)
 | 
						|
  end
 | 
						|
 | 
						|
  def new
 | 
						|
    authorize :user
 | 
						|
 | 
						|
    @user = User.new()
 | 
						|
  end
 | 
						|
 | 
						|
  def create
 | 
						|
    authorize :user
 | 
						|
 | 
						|
    @user = User.new(user_params)
 | 
						|
    if @user.save
 | 
						|
      redirect_to users_path, notice: t("users.new.notice")
 | 
						|
    else
 | 
						|
      render :new, status: :unprocessable_entity
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def destroy
 | 
						|
    authorize @user
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def set_user
 | 
						|
    @user = User.find(params[:id])
 | 
						|
  end
 | 
						|
 | 
						|
  def user_params
 | 
						|
    params.expect(user: [ :username, :email_address, :lang, :password ])
 | 
						|
  end
 | 
						|
end
 |