feat: add member-user link in member view and user view
This commit is contained in:
parent
72a8415cb3
commit
eeed537062
2 changed files with 30 additions and 2 deletions
|
|
@ -37,6 +37,19 @@ defmodule MvWeb.MemberLive.Show do
|
||||||
<:item title={gettext("Street")}>{@member.street}</:item>
|
<:item title={gettext("Street")}>{@member.street}</:item>
|
||||||
<:item title={gettext("House Number")}>{@member.house_number}</:item>
|
<:item title={gettext("House Number")}>{@member.house_number}</:item>
|
||||||
<:item title={gettext("Postal Code")}>{@member.postal_code}</:item>
|
<:item title={gettext("Postal Code")}>{@member.postal_code}</:item>
|
||||||
|
<:item title={gettext("Linked User")}>
|
||||||
|
<%= if @member.user do %>
|
||||||
|
<.link
|
||||||
|
navigate={~p"/users/#{@member.user}"}
|
||||||
|
class="text-blue-600 hover:text-blue-800 underline"
|
||||||
|
>
|
||||||
|
<.icon name="hero-user" class="h-4 w-4 inline mr-1" />
|
||||||
|
{@member.user.email}
|
||||||
|
</.link>
|
||||||
|
<% else %>
|
||||||
|
<span class="text-gray-500 italic">{gettext("No user linked")}</span>
|
||||||
|
<% end %>
|
||||||
|
</:item>
|
||||||
</.list>
|
</.list>
|
||||||
|
|
||||||
<h3 class="mt-8 mb-2 text-lg font-semibold">{gettext("Custom Properties")}</h3>
|
<h3 class="mt-8 mb-2 text-lg font-semibold">{gettext("Custom Properties")}</h3>
|
||||||
|
|
@ -67,7 +80,7 @@ defmodule MvWeb.MemberLive.Show do
|
||||||
query =
|
query =
|
||||||
Mv.Membership.Member
|
Mv.Membership.Member
|
||||||
|> filter(id == ^id)
|
|> filter(id == ^id)
|
||||||
|> load(properties: [:property_type])
|
|> load([:user, properties: [:property_type]])
|
||||||
|
|
||||||
member = Ash.read_one!(query)
|
member = Ash.read_one!(query)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,19 @@ defmodule MvWeb.UserLive.Show do
|
||||||
<:item title={gettext("Password Authentication")}>
|
<:item title={gettext("Password Authentication")}>
|
||||||
{if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")}
|
{if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")}
|
||||||
</:item>
|
</:item>
|
||||||
|
<:item title={gettext("Linked Member")}>
|
||||||
|
<%= if @user.member do %>
|
||||||
|
<.link
|
||||||
|
navigate={~p"/members/#{@user.member}"}
|
||||||
|
class="text-blue-600 hover:text-blue-800 underline"
|
||||||
|
>
|
||||||
|
<.icon name="hero-users" class="h-4 w-4 inline mr-1" />
|
||||||
|
{@user.member.first_name} {@user.member.last_name}
|
||||||
|
</.link>
|
||||||
|
<% else %>
|
||||||
|
<span class="text-gray-500 italic">{gettext("No member linked")}</span>
|
||||||
|
<% end %>
|
||||||
|
</:item>
|
||||||
</.list>
|
</.list>
|
||||||
</Layouts.app>
|
</Layouts.app>
|
||||||
"""
|
"""
|
||||||
|
|
@ -33,9 +46,11 @@ defmodule MvWeb.UserLive.Show do
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(%{"id" => id}, _session, socket) do
|
def mount(%{"id" => id}, _session, socket) do
|
||||||
|
user = Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts, load: [:member])
|
||||||
|
|
||||||
{:ok,
|
{:ok,
|
||||||
socket
|
socket
|
||||||
|> assign(:page_title, gettext("Show User"))
|
|> assign(:page_title, gettext("Show User"))
|
||||||
|> assign(:user, Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts))}
|
|> assign(:user, user)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue