WIP feat: member user relation

This commit is contained in:
Moritz 2025-07-24 20:15:01 +02:00
parent 997691746a
commit 4e6f5a517a
Signed by: moritz
GPG key ID: 1020A035E5DD0824
35 changed files with 1208 additions and 192 deletions

View file

@ -4,7 +4,7 @@ defmodule MvWeb.UserLive.Show do
@impl true
def render(assigns) do
~H"""
<Layouts.app flash={@flash}>
<Layouts.app flash={@flash} current_user={@current_user}>
<.header>
{gettext("User")} {@user.email}
<:subtitle>{gettext("This is a user record from your database.")}</:subtitle>
@ -22,6 +22,14 @@ defmodule MvWeb.UserLive.Show do
<.list>
<:item title={gettext("ID")}>{@user.id}</:item>
<:item title={gettext("Email")}>{@user.email}</:item>
<:item title={gettext("Member")}>
<div :if={@user.member}>
<.link navigate={~p"/members/#{@user.member.id}"} class="link link-primary">
{@user.member.first_name} {@user.member.last_name} ({@user.member.email})
</.link>
</div>
<span :if={!@user.member}>{gettext("No member assigned")}</span>
</:item>
<:item title={gettext("OIDC ID")}>{@user.oidc_id || gettext("Not set")}</:item>
<:item title={gettext("Password Authentication")}>
{if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")}
@ -33,9 +41,13 @@ defmodule MvWeb.UserLive.Show do
@impl true
def mount(%{"id" => id}, _session, socket) do
user =
Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts)
|> Ash.load!(:member)
{:ok,
socket
|> assign(:page_title, gettext("Show User"))
|> assign(:user, Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts))}
|> assign(:user, user)}
end
end