2018-05-07 16:47:29 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2014-11-04 17:42:47 +01:00
|
|
|
class UsersController < ApplicationController
|
2020-07-28 12:21:22 -07:00
|
|
|
before_action :load_user
|
2014-11-04 17:42:47 +01:00
|
|
|
load_and_authorize_resource
|
|
|
|
|
|
|
|
|
|
# GET /users/1
|
|
|
|
|
def show
|
|
|
|
|
@events = @user.events.where(state: :confirmed)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# GET /users/1/edit
|
|
|
|
|
def edit
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# PATCH/PUT /users/1
|
|
|
|
|
def update
|
|
|
|
|
if @user.update(user_params)
|
|
|
|
|
redirect_to @user, notice: 'User was successfully updated.'
|
|
|
|
|
else
|
2017-04-03 18:34:37 +03:00
|
|
|
flash.now[:error] = "An error prohibited your Profile from being saved: #{@user.errors.full_messages.join('. ')}."
|
2014-11-04 17:42:47 +01:00
|
|
|
render :edit
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
2020-07-14 21:06:15 -07:00
|
|
|
def user_params
|
|
|
|
|
params.require(:user).permit(:name, :biography, :nickname, :affiliation,
|
2021-02-18 21:03:28 -08:00
|
|
|
:picture, :picture_cache)
|
2020-07-14 21:06:15 -07:00
|
|
|
end
|
2020-07-28 12:21:22 -07:00
|
|
|
|
|
|
|
|
# Somewhat of a hack: users/current/edit
|
2021-02-18 21:03:28 -08:00
|
|
|
# rubocop:disable Naming/MemoizedInstanceVariableName
|
2020-07-28 12:21:22 -07:00
|
|
|
def load_user
|
2020-07-30 02:20:10 -07:00
|
|
|
@user ||= (params[:id] && params[:id] != 'current' && User.find(params[:id]) || current_user)
|
2020-07-28 12:21:22 -07:00
|
|
|
end
|
2021-02-18 21:03:28 -08:00
|
|
|
# rubocop:enable Naming/MemoizedInstanceVariableName
|
2014-11-04 17:42:47 +01:00
|
|
|
end
|