diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c0c9dbc9a..47e240865 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,7 +1,8 @@ class UsersController < ApplicationController - require_unauthenticated_access + require_unauthenticated_access only: %i[ new create ] - before_action :set_account_from_join_code + before_action :set_user, only: :show + before_action :set_account_from_join_code, only: %i[ new create ] def new @user = @account.users.build @@ -13,11 +14,18 @@ class UsersController < ApplicationController redirect_to root_path end + def show + end + private def set_account_from_join_code @account = Account.find_by_join_code!(params[:join_code]) end + def set_user + @user = Current.account.users.active.find(params[:id]) + end + def user_params params.expect(user: [ :name, :email_address, :password ]) end diff --git a/app/views/accounts/users/_user.html.erb b/app/views/accounts/users/_user.html.erb index 787d2b37f..2da66fce3 100644 --- a/app/views/accounts/users/_user.html.erb +++ b/app/views/accounts/users/_user.html.erb @@ -2,7 +2,7 @@ <%= avatar_tag user, loading: :lazy, class: "flex-item-no-shrink" %> - <%= user.name %> + <%= link_to user.name, user_path(user) %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb new file mode 100644 index 000000000..eebdb80aa --- /dev/null +++ b/app/views/users/show.html.erb @@ -0,0 +1,35 @@ +<% @page_title = @user.name %> + +<% content_for :header do %> + +<% end %> + +
+
+
+ <%= image_tag user_avatar_path(@user), alt: "Profile avatar for #{@user.name}", class: "avatar", size: 128 %> +
+ <% if !@user.active? %> +
+

<%= @user.name %>

+
<%= mail_to @user.email_address %>
+
+ + <% if Current.user == @user %> +
+ + <%#= render "users/profiles/transfer", user: @user %> + <% end %> + <% else %> +
+

<%= @user.name %>

+
<%= @user.name %> is no longer on this account
+
+ <% end %> +
+