2017-08-25 14:21:52 +08:00
|
|
|
module ClientApi
|
|
|
|
module Users
|
|
|
|
class UsersController < ApplicationController
|
|
|
|
|
|
|
|
def current_user_info
|
|
|
|
respond_to do |format|
|
|
|
|
format.json do
|
|
|
|
render template: '/client_api/users/show',
|
|
|
|
status: :ok,
|
|
|
|
locals: { user: current_user }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2017-08-25 20:45:02 +08:00
|
|
|
|
2017-08-26 20:07:31 +08:00
|
|
|
def change_password
|
2017-08-29 19:14:52 +08:00
|
|
|
user = current_user
|
|
|
|
user.password = params['passwrd']
|
|
|
|
user.save
|
|
|
|
""
|
2017-08-26 20:07:31 +08:00
|
|
|
end
|
|
|
|
|
2017-08-30 20:59:17 +08:00
|
|
|
def change_timezone
|
|
|
|
user = current_user
|
|
|
|
errors = { timezone_errors: [] }
|
|
|
|
user.time_zone = params['timezone']
|
|
|
|
|
|
|
|
timezone = if user.save
|
|
|
|
user.time_zone
|
|
|
|
else
|
|
|
|
user.reload.time_zone
|
|
|
|
errors[:timezone_errors] << 'You nedd to select valid TimeZone.'
|
|
|
|
end
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
format.json { render json: { timezone: timezone, errors: errors}}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-26 20:07:31 +08:00
|
|
|
def change_email
|
|
|
|
user = current_user
|
2017-08-29 19:14:52 +08:00
|
|
|
current_email = current_user.email
|
|
|
|
errors = { current_password_email_field: []}
|
|
|
|
|
|
|
|
if user.valid_password? params['passwrd']
|
|
|
|
user.email = params['email']
|
|
|
|
saved_email = if user.save
|
|
|
|
user.email
|
|
|
|
else
|
|
|
|
user.reload.email
|
|
|
|
end
|
2017-08-26 20:07:31 +08:00
|
|
|
else
|
2017-08-29 19:14:52 +08:00
|
|
|
errors[:current_password_email_field] << 'Wrong password.'
|
2017-08-26 20:07:31 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
respond_to do |format|
|
2017-08-29 19:14:52 +08:00
|
|
|
format.json { render json: { email: saved_email || current_email, errors: errors } }
|
2017-08-26 20:07:31 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 20:45:02 +08:00
|
|
|
def change_full_name
|
|
|
|
user = current_user
|
|
|
|
user.name = params['fullName']
|
|
|
|
saved_name = if user.save
|
|
|
|
user.name
|
|
|
|
else
|
|
|
|
user.reload.name
|
|
|
|
end
|
|
|
|
|
|
|
|
respond_to do |format|
|
2017-08-29 19:14:52 +08:00
|
|
|
format.json { render json: { fullName: saved_name, errors: user.errors.messages } }
|
2017-08-25 20:45:02 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def change_initials
|
|
|
|
user = current_user
|
|
|
|
user.initials = params['initials']
|
|
|
|
saved_initials = if user.save
|
|
|
|
user.initials
|
|
|
|
else
|
|
|
|
user.reload.initials
|
|
|
|
end
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
format.json { render json: { initials: saved_initials } }
|
|
|
|
end
|
|
|
|
end
|
2017-08-25 14:21:52 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|