users: add /profile page (fix #4151).

* Add /profile, /profile.json endpoints.
* Make "My Account" link to /profile.
* Add 'User ID' field to profile page.
This commit is contained in:
evazion
2019-09-01 14:08:55 -05:00
parent a932b25608
commit ff92b32f02
9 changed files with 51 additions and 8 deletions

View File

@@ -36,10 +36,21 @@ class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@presenter = UserPresenter.new(@user)
respond_with(@user, methods: @user.full_attributes)
end
def profile
@user = CurrentUser.user
if @user.is_member?
respond_with(@user, methods: @user.full_attributes, template: "users/show")
elsif request.format.html?
redirect_to new_session_path
else
raise ActiveRecord::RecordNotFound
end
end
def create
@user = User.new(user_params(:create))
if !Danbooru.config.enable_recaptcha? || verify_recaptcha(model: @user)