osem-fcy/app/controllers/users_controller.rb

40 lines
1,011 B
Ruby
Raw Normal View History

# 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
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
def user_params
params.require(:user).permit(:name, :biography, :nickname, :affiliation,
2021-02-18 21:03:28 -08:00
:picture, :picture_cache)
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