WIP feat: account live view - basic functionality
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Moritz 2025-07-17 22:07:44 +02:00
parent de4643349a
commit edb3978b64
Signed by: moritz
GPG key ID: 1020A035E5DD0824
8 changed files with 868 additions and 290 deletions

View file

@ -7,9 +7,9 @@ defmodule Mv.Accounts do
resources do resources do
resource Mv.Accounts.User do resource Mv.Accounts.User do
define :create_user, action: :create define :create_user, action: :create_user
define :list_users, action: :read define :list_users, action: :read
define :update_user, action: :update define :update_user, action: :update_user
define :destroy_user, action: :destroy define :destroy_user, action: :destroy
end end

View file

@ -63,6 +63,14 @@ defmodule Mv.Accounts.User do
actions do actions do
defaults [:read, :create, :destroy, :update] defaults [:read, :create, :destroy, :update]
create :create_user do
accept [:email]
end
update :update_user do
accept [:email]
end
read :get_by_subject do read :get_by_subject do
description "Get a user by the subject claim in a JWT" description "Get a user by the subject claim in a JWT"
argument :subject, :string, allow_nil?: false argument :subject, :string, allow_nil?: false

View file

@ -7,12 +7,34 @@ defmodule MvWeb.UserLive.Form do
<Layouts.app flash={@flash}> <Layouts.app flash={@flash}>
<.header> <.header>
{@page_title} {@page_title}
<:subtitle>Use this form to manage user records in your database.</:subtitle> <:subtitle>{gettext("Use this form to manage user records in your database.")}</:subtitle>
</.header> </.header>
<.form for={@form} id="user-form" phx-change="validate" phx-submit="save"> <.form for={@form} id="user-form" phx-change="validate" phx-submit="save">
<.button phx-disable-with="Saving..." variant="primary">Save User</.button> <.input field={@form[:email]} label={gettext("Email")} required type="email" />
<.button navigate={return_path(@return_to, @user)}>Cancel</.button>
<%= if @user do %>
<div class="mt-4 p-4 bg-blue-50 rounded-lg">
<p class="text-sm text-blue-800">
<strong>{gettext("Note")}:</strong> {gettext(
"Password can only be changed through authentication functions."
)}
</p>
</div>
<% else %>
<div class="mt-4 p-4 bg-yellow-50 rounded-lg">
<p class="text-sm text-yellow-800">
<strong>{gettext("Note")}:</strong> {gettext(
"Users created here will need to set their password through the authentication system."
)}
</p>
</div>
<% end %>
<.button phx-disable-with={gettext("Saving...")} variant="primary">
{gettext("Save User")}
</.button>
<.button navigate={return_path(@return_to, @user)}>{gettext("Cancel")}</.button>
</.form> </.form>
</Layouts.app> </Layouts.app>
""" """
@ -23,11 +45,11 @@ defmodule MvWeb.UserLive.Form do
user = user =
case params["id"] do case params["id"] do
nil -> nil nil -> nil
id -> Ash.get!(Mv.Accounts.User, id) id -> Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts)
end end
action = if is_nil(user), do: "New", else: "Edit" action = if is_nil(user), do: gettext("New"), else: gettext("Edit")
page_title = action <> " " <> "User" page_title = action <> " " <> gettext("User")
{:ok, {:ok,
socket socket
@ -67,9 +89,12 @@ defmodule MvWeb.UserLive.Form do
defp assign_form(%{assigns: %{user: user}} = socket) do defp assign_form(%{assigns: %{user: user}} = socket) do
form = form =
if user do if user do
AshPhoenix.Form.for_update(user, :update, as: "user") AshPhoenix.Form.for_update(user, :update_user, domain: Mv.Accounts, as: "user")
else else
AshPhoenix.Form.for_create(Mv.Accounts.User, :create, as: "user") AshPhoenix.Form.for_create(Mv.Accounts.User, :create_user,
domain: Mv.Accounts,
as: "user"
)
end end
assign(socket, form: to_form(form)) assign(socket, form: to_form(form))

View file

@ -6,10 +6,10 @@ defmodule MvWeb.UserLive.Index do
~H""" ~H"""
<Layouts.app flash={@flash}> <Layouts.app flash={@flash}>
<.header> <.header>
Listing Users {gettext("Listing Users")}
<:actions> <:actions>
<.button variant="primary" navigate={~p"/users/new"}> <.button variant="primary" navigate={~p"/users/new"}>
<.icon name="hero-plus" /> New User <.icon name="hero-plus" /> {gettext("New User")}
</.button> </.button>
</:actions> </:actions>
</.header> </.header>
@ -19,24 +19,23 @@ defmodule MvWeb.UserLive.Index do
rows={@streams.users} rows={@streams.users}
row_click={fn {_id, user} -> JS.navigate(~p"/users/#{user}") end} row_click={fn {_id, user} -> JS.navigate(~p"/users/#{user}") end}
> >
<:col :let={{_id, user}} label="Id">{user.id}</:col> <:col :let={{_id, user}} label={gettext("Email")}>{user.email}</:col>
<:col :let={{_id, user}} label={gettext("OIDC ID")}>{user.oidc_id}</:col>
<:col :let={{_id, user}} label="Email">{user.email}</:col>
<:action :let={{_id, user}}> <:action :let={{_id, user}}>
<div class="sr-only"> <div class="sr-only">
<.link navigate={~p"/users/#{user}"}>Show</.link> <.link navigate={~p"/users/#{user}"}>{gettext("Show")}</.link>
</div> </div>
<.link navigate={~p"/users/#{user}/edit"}>Edit</.link> <.link navigate={~p"/users/#{user}/edit"}>{gettext("Edit")}</.link>
</:action> </:action>
<:action :let={{id, user}}> <:action :let={{id, user}}>
<.link <.link
phx-click={JS.push("delete", value: %{id: user.id}) |> hide("##{id}")} phx-click={JS.push("delete", value: %{id: user.id}) |> hide("##{id}")}
data-confirm="Are you sure?" data-confirm={gettext("Are you sure?")}
> >
Delete {gettext("Delete")}
</.link> </.link>
</:action> </:action>
</.table> </.table>
@ -48,14 +47,14 @@ defmodule MvWeb.UserLive.Index do
def mount(_params, _session, socket) do def mount(_params, _session, socket) do
{:ok, {:ok,
socket socket
|> assign(:page_title, "Listing Users") |> assign(:page_title, gettext("Listing Users"))
|> stream(:users, Ash.read!(Mv.Accounts.User))} |> stream(:users, Ash.read!(Mv.Accounts.User, domain: Mv.Accounts))}
end end
@impl true @impl true
def handle_event("delete", %{"id" => id}, socket) do def handle_event("delete", %{"id" => id}, socket) do
user = Ash.get!(Mv.Accounts.User, id) user = Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts)
Ash.destroy!(user) Ash.destroy!(user, domain: Mv.Accounts)
{:noreply, stream_delete(socket, :users, user)} {:noreply, stream_delete(socket, :users, user)}
end end

View file

@ -6,23 +6,26 @@ defmodule MvWeb.UserLive.Show do
~H""" ~H"""
<Layouts.app flash={@flash}> <Layouts.app flash={@flash}>
<.header> <.header>
User {@user.id} {gettext("User")} {@user.email}
<:subtitle>This is a user record from your database.</:subtitle> <:subtitle>{gettext("This is a user record from your database.")}</:subtitle>
<:actions> <:actions>
<.button navigate={~p"/users"}> <.button navigate={~p"/users"}>
<.icon name="hero-arrow-left" /> <.icon name="hero-arrow-left" />
</.button> </.button>
<.button variant="primary" navigate={~p"/users/#{@user}/edit?return_to=show"}> <.button variant="primary" navigate={~p"/users/#{@user}/edit?return_to=show"}>
<.icon name="hero-pencil-square" /> Edit User <.icon name="hero-pencil-square" /> {gettext("Edit User")}
</.button> </.button>
</:actions> </:actions>
</.header> </.header>
<.list> <.list>
<:item title="Id">{@user.id}</:item> <:item title={gettext("ID")}>{@user.id}</:item>
<:item title={gettext("Email")}>{@user.email}</:item>
<:item title="Email">{@user.email}</: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")}
</:item>
</.list> </.list>
</Layouts.app> </Layouts.app>
""" """
@ -32,7 +35,7 @@ defmodule MvWeb.UserLive.Show do
def mount(%{"id" => id}, _session, socket) do def mount(%{"id" => id}, _session, socket) do
{:ok, {:ok,
socket socket
|> assign(:page_title, "Show User") |> assign(:page_title, gettext("Show User"))
|> assign(:user, Ash.get!(Mv.Accounts.User, id))} |> assign(:user, Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts))}
end end
end end

View file

@ -10,230 +10,219 @@ msgid ""
msgstr "" msgstr ""
"Language: en\n" "Language: en\n"
#: lib/mv_web/components/core_components.ex:482 #: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:39 #: lib/mv_web/live/member_live/index.ex:40
#: lib/mv_web/live/user_live/index.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
msgstr "Bist du sicher?" msgstr "Bist du sicher?"
#: lib/mv_web/components/core_components.ex:160 #: lib/mv_web/components/layouts.ex:104
#: lib/mv_web/components/layouts.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Attempting to reconnect" msgid "Attempting to reconnect"
msgstr "Verbindung wird wiederhergestellt" msgstr "Verbindung wird wiederhergestellt"
#: lib/mv_web/member_live/form_component.ex:50 #: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/member_live/index.ex:25 #: lib/mv_web/live/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:32 #: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "Stadt" msgstr "Stadt"
#: lib/mv_web/member_live/index.ex:41 #: lib/mv_web/live/member_live/index.ex:42
#: lib/mv_web/live/user_live/index.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: lib/mv_web/member_live/index.ex:33 #: lib/mv_web/live/member_live/index.ex:34
#: lib/mv_web/live/user_live/form.ex:45
#: lib/mv_web/live/user_live/index.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeite"
#: lib/mv_web/member_live/index.ex:76 #: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/member_live/show.ex:93 #: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Member" msgid "Edit Member"
msgstr "Mitglied bearbeiten" msgstr "Mitglied bearbeiten"
#: lib/mv_web/member_live/form_component.ex:43 #: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/member_live/index.ex:24 #: lib/mv_web/live/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:23 #: lib/mv_web/live/member_live/show.ex:27
#: lib/mv_web/live/user_live/form.ex:14
#: lib/mv_web/live/user_live/index.ex:22
#: lib/mv_web/live/user_live/show.ex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "E-Mail" msgstr "E-Mail"
#: lib/mv_web/components/core_components.ex:151 #: lib/mv_web/live/member_live/form.ex:16
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:23
msgid "Error!" #: lib/mv_web/live/member_live/show.ex:25
msgstr "Fehler!"
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "First Name" msgid "First Name"
msgstr "Vorname" msgstr "Vorname"
#: lib/mv_web/components/core_components.ex:172 #: lib/mv_web/live/member_live/form.ex:22
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:27
msgid "Hang in there while we get back on track" #: lib/mv_web/live/member_live/show.ex:33
msgstr "Bitte warten, wir stellen die Verbindung wieder her."
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
msgstr "Beitrittsdatum" msgstr "Beitrittsdatum"
#: lib/mv_web/member_live/form_component.ex:42 #: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/member_live/index.ex:23 #: lib/mv_web/live/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:22 #: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last Name" msgid "Last Name"
msgstr "Nachname" msgstr "Nachname"
#: lib/mv_web/member_live/index.ex:8 #: lib/mv_web/live/member_live/index.ex:9
#: lib/mv_web/member_live/index.ex:88 #: lib/mv_web/live/member_live/index.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Listing Members" msgid "Listing Members"
msgstr "Mitglieder" msgstr "Mitglieder"
#: lib/mv_web/member_live/index.ex:11 #: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/member_live/index.ex:82
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "Neues Mitglied" msgstr "Neues Mitglied"
#: lib/mv_web/member_live/index.ex:30 #: lib/mv_web/live/member_live/index.ex:31
#: lib/mv_web/live/user_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
msgstr "Anzeigen" msgstr "Anzeigen"
#: lib/mv_web/components/core_components.ex:167 #: lib/mv_web/components/layouts.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Something went wrong!" msgid "Something went wrong!"
msgstr "Etwas ist schiefgelaufen!" msgstr "Etwas ist schiefgelaufen!"
#: lib/mv_web/components/core_components.ex:150 #: lib/mv_web/components/layouts.ex:99
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr "Erfolg!"
#: lib/mv_web/components/core_components.ex:155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "We can't find the internet" msgid "We can't find the internet"
msgstr "Keine Internetverbindung gefunden" msgstr "Keine Internetverbindung gefunden"
#: lib/mv_web/components/core_components.ex:76 #: lib/mv_web/components/core_components.ex:74
#: lib/mv_web/components/core_components.ex:130
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "close" msgid "close"
msgstr "schließen" msgstr "schließen"
#: lib/mv_web/member_live/form_component.ex:44 #: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/member_live/show.ex:24 #: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Birth Date" msgid "Birth Date"
msgstr "Geburtsdatum" msgstr "Geburtsdatum"
#: lib/mv_web/member_live/form_component.ex:55 #: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/member_live/show.ex:38 #: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Custom Properties" msgid "Custom Properties"
msgstr "Eigene Eigenschaften" msgstr "Eigene Eigenschaften"
#: lib/mv_web/member_live/form_component.ex:48 #: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/member_live/show.ex:30 #: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Exit Date" msgid "Exit Date"
msgstr "Austrittsdatum" msgstr "Austrittsdatum"
#: lib/mv_web/member_live/form_component.ex:52 #: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/member_live/show.ex:34 #: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
msgstr "Hausnummer" msgstr "Hausnummer"
#: lib/mv_web/member_live/form_component.ex:49 #: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/member_live/show.ex:31 #: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes" msgid "Notes"
msgstr "Notizen" msgstr "Notizen"
#: lib/mv_web/member_live/form_component.ex:45 #: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/member_live/show.ex:25 #: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "Bezahlt" msgstr "Bezahlt"
#: lib/mv_web/member_live/form_component.ex:46 #: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/member_live/show.ex:28 #: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "Telefonnummer" msgstr "Telefonnummer"
#: lib/mv_web/member_live/form_component.ex:53 #: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/member_live/show.ex:35 #: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
msgstr "Postleitzahl" msgstr "Postleitzahl"
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save Member" msgid "Save Member"
msgstr "Mitglied speichern" msgstr "Mitglied speichern"
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saving..." msgid "Saving..."
msgstr "Speichern..." msgstr "Speichern..."
#: lib/mv_web/member_live/form_component.ex:51 #: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/member_live/show.ex:33 #: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
msgstr "Straße" msgstr "Straße"
#: lib/mv_web/member_live/form_component.ex:30 #: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties." msgid "Use this form to manage member records and their properties."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften." msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr "Zurück zur Mitgliederliste"
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format
msgid "Edit member"
msgstr "Mitglied bearbeiten"
#: lib/mv_web/member_live/show.ex:20
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Id" msgid "Id"
msgstr "ID" msgstr "ID"
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No" msgid "No"
msgstr "Nein" msgstr "Nein"
#: lib/mv_web/member_live/show.ex:92 #: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Show Member" msgid "Show Member"
msgstr "Mitglied anzeigen" msgstr "Mitglied anzeigen"
#: lib/mv_web/member_live/show.ex:10 #: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "Dies ist ein Mitglied aus deiner Datenbank." msgstr "Dies ist ein Mitglied aus deiner Datenbank."
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Yes" msgid "Yes"
msgstr "Ja" msgstr "Ja"
#: lib/mv_web/member_live/form_component.ex:102 #: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "create" msgid "create"
msgstr "erstellt" msgstr "erstellt"
#: lib/mv_web/member_live/form_component.ex:103 #: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "update" msgid "update"
msgstr "aktualisiert" msgstr "aktualisiert"
@ -243,7 +232,7 @@ msgstr "aktualisiert"
msgid "Incorrect email or password" msgid "Incorrect email or password"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:109 #: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Member %{action} successfully" msgid "Member %{action} successfully"
msgstr "Mitglied %{action} erfolgreich" msgstr "Mitglied %{action} erfolgreich"
@ -258,7 +247,7 @@ msgstr ""
msgid "You are now signed out" msgid "You are now signed out"
msgstr "" msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36 #: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr "" msgstr ""
@ -272,3 +261,195 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has successfully been reset" msgid "Your password has successfully been reset"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#: lib/mv_web/live/user_live/form.ex:31
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:17
#, elixir-autogen, elixir-format
msgid "Edit User"
msgstr "Benutzer bearbeiten"
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr "Aktiviert"
#: lib/mv_web/live/user_live/show.ex:23
#, elixir-autogen, elixir-format
msgid "ID"
msgstr "ID"
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:9
#: lib/mv_web/live/user_live/index.ex:50
#, elixir-autogen, elixir-format
msgid "Listing Users"
msgstr "Benutzer auflisten"
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:12
#, elixir-autogen, elixir-format
msgid "New User"
msgstr "Neuer Benutzer"
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr "Nicht aktiviert"
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "Not set"
msgstr "Nicht gesetzt"
#: lib/mv_web/live/user_live/form.ex:19
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Note"
msgstr "Hinweis"
#: lib/mv_web/live/user_live/index.ex:23
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr "OIDC ID"
#: lib/mv_web/live/user_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr "Passwort-Authentifizierung"
#: lib/mv_web/live/user_live/form.ex:19
#, elixir-autogen, elixir-format
msgid "Password can only be changed through authentication functions."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format, fuzzy
msgid "Property %{action} successfully"
msgstr "Mitglied %{action} erfolgreich"
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save User"
msgstr "Benutzer speichern"
#: lib/mv_web/live/user_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "Show User"
msgstr "Benutzer anzeigen"
#: lib/mv_web/live/user_live/show.ex:10
#, elixir-autogen, elixir-format
msgid "This is a user record from your database."
msgstr "Dies ist ein Benutzer-Datensatz aus Ihrer Datenbank."
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property records in your database."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property_type records in your database."
msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenschaften."
#: lib/mv_web/live/user_live/form.ex:10
#, elixir-autogen, elixir-format
msgid "Use this form to manage user records in your database."
msgstr "Verwenden Sie dieses Formular, um Benutzer-Datensätze zu verwalten."
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/show.ex:9
#, elixir-autogen, elixir-format
msgid "User"
msgstr "Benutzer"
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:45
#, elixir-autogen, elixir-format
msgid "New"
msgstr "Neuer"
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Users created here will need to set their password through the authentication system."
msgstr "Hier erstellte Benutzer müssen ihr Passwort über das Authentifizierungssystem setzen."

View file

@ -11,230 +11,219 @@
msgid "" msgid ""
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:482 #: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:39 #: lib/mv_web/live/member_live/index.ex:40
#: lib/mv_web/live/user_live/index.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:160 #: lib/mv_web/components/layouts.ex:104
#: lib/mv_web/components/layouts.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Attempting to reconnect" msgid "Attempting to reconnect"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:50 #: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/member_live/index.ex:25 #: lib/mv_web/live/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:32 #: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:41 #: lib/mv_web/live/member_live/index.ex:42
#: lib/mv_web/live/user_live/index.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:33 #: lib/mv_web/live/member_live/index.ex:34
#: lib/mv_web/live/user_live/form.ex:45
#: lib/mv_web/live/user_live/index.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:76 #: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/member_live/show.ex:93 #: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Member" msgid "Edit Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:43 #: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/member_live/index.ex:24 #: lib/mv_web/live/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:23 #: lib/mv_web/live/member_live/show.ex:27
#: lib/mv_web/live/user_live/form.ex:14
#: lib/mv_web/live/user_live/index.ex:22
#: lib/mv_web/live/user_live/show.ex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:151 #: lib/mv_web/live/member_live/form.ex:16
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:23
msgid "Error!" #: lib/mv_web/live/member_live/show.ex:25
msgstr ""
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "First Name" msgid "First Name"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:172 #: lib/mv_web/live/member_live/form.ex:22
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:27
msgid "Hang in there while we get back on track" #: lib/mv_web/live/member_live/show.ex:33
msgstr ""
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:42 #: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/member_live/index.ex:23 #: lib/mv_web/live/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:22 #: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last Name" msgid "Last Name"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:8 #: lib/mv_web/live/member_live/index.ex:9
#: lib/mv_web/member_live/index.ex:88 #: lib/mv_web/live/member_live/index.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Listing Members" msgid "Listing Members"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:11 #: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/member_live/index.ex:82
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:30 #: lib/mv_web/live/member_live/index.ex:31
#: lib/mv_web/live/user_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:167 #: lib/mv_web/components/layouts.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Something went wrong!" msgid "Something went wrong!"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:150 #: lib/mv_web/components/layouts.ex:99
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr ""
#: lib/mv_web/components/core_components.ex:155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "We can't find the internet" msgid "We can't find the internet"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:76 #: lib/mv_web/components/core_components.ex:74
#: lib/mv_web/components/core_components.ex:130
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "close" msgid "close"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:44 #: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/member_live/show.ex:24 #: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Birth Date" msgid "Birth Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:55 #: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/member_live/show.ex:38 #: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Custom Properties" msgid "Custom Properties"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:48 #: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/member_live/show.ex:30 #: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Exit Date" msgid "Exit Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:52 #: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/member_live/show.ex:34 #: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:49 #: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/member_live/show.ex:31 #: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:45 #: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/member_live/show.ex:25 #: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:46 #: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/member_live/show.ex:28 #: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:53 #: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/member_live/show.ex:35 #: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save Member" msgid "Save Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saving..." msgid "Saving..."
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:51 #: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/member_live/show.ex:33 #: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:30 #: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties." msgid "Use this form to manage member records and their properties."
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr ""
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format
msgid "Edit member"
msgstr ""
#: lib/mv_web/member_live/show.ex:20
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Id" msgid "Id"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No" msgid "No"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:92 #: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show Member" msgid "Show Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:10 #: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:102 #: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "create" msgid "create"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:103 #: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "update" msgid "update"
msgstr "" msgstr ""
@ -244,7 +233,7 @@ msgstr ""
msgid "Incorrect email or password" msgid "Incorrect email or password"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:109 #: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Member %{action} successfully" msgid "Member %{action} successfully"
msgstr "" msgstr ""
@ -259,7 +248,7 @@ msgstr ""
msgid "You are now signed out" msgid "You are now signed out"
msgstr "" msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36 #: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr "" msgstr ""
@ -273,3 +262,195 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has successfully been reset" msgid "Your password has successfully been reset"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#: lib/mv_web/live/user_live/form.ex:31
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:17
#, elixir-autogen, elixir-format
msgid "Edit User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:23
#, elixir-autogen, elixir-format
msgid "ID"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:9
#: lib/mv_web/live/user_live/index.ex:50
#, elixir-autogen, elixir-format
msgid "Listing Users"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:12
#, elixir-autogen, elixir-format
msgid "New User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "Not set"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:19
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Note"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:23
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:19
#, elixir-autogen, elixir-format
msgid "Password can only be changed through authentication functions."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format
msgid "Property %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:38
#, elixir-autogen, elixir-format
msgid "Show User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:10
#, elixir-autogen, elixir-format
msgid "This is a user record from your database."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format
msgid "Use this form to manage property records in your database."
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format
msgid "Use this form to manage property_type records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:10
#, elixir-autogen, elixir-format
msgid "Use this form to manage user records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/show.ex:9
#, elixir-autogen, elixir-format
msgid "User"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:45
#, elixir-autogen, elixir-format
msgid "New"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Users created here will need to set their password through the authentication system."
msgstr ""

View file

@ -11,230 +11,219 @@ msgstr ""
"Language: en\n" "Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/mv_web/components/core_components.ex:482 #: lib/mv_web/components/core_components.ex:339
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:39 #: lib/mv_web/live/member_live/index.ex:40
#: lib/mv_web/live/user_live/index.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure?" msgid "Are you sure?"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:160 #: lib/mv_web/components/layouts.ex:104
#: lib/mv_web/components/layouts.ex:116
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Attempting to reconnect" msgid "Attempting to reconnect"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:50 #: lib/mv_web/live/member_live/form.ex:25
#: lib/mv_web/member_live/index.ex:25 #: lib/mv_web/live/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:32 #: lib/mv_web/live/member_live/show.ex:36
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "City" msgid "City"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:41 #: lib/mv_web/live/member_live/index.ex:42
#: lib/mv_web/live/user_live/index.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:33 #: lib/mv_web/live/member_live/index.ex:34
#: lib/mv_web/live/user_live/form.ex:45
#: lib/mv_web/live/user_live/index.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:76 #: lib/mv_web/live/member_live/show.ex:18
#: lib/mv_web/member_live/show.ex:93 #: lib/mv_web/live/member_live/show.ex:81
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Member" msgid "Edit Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:43 #: lib/mv_web/live/member_live/form.ex:18
#: lib/mv_web/member_live/index.ex:24 #: lib/mv_web/live/member_live/index.ex:25
#: lib/mv_web/member_live/show.ex:23 #: lib/mv_web/live/member_live/show.ex:27
#: lib/mv_web/live/user_live/form.ex:14
#: lib/mv_web/live/user_live/index.ex:22
#: lib/mv_web/live/user_live/show.ex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Email" msgid "Email"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:151 #: lib/mv_web/live/member_live/form.ex:16
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:23
msgid "Error!" #: lib/mv_web/live/member_live/show.ex:25
msgstr ""
#: lib/mv_web/member_live/form_component.ex:41
#: lib/mv_web/member_live/index.ex:22
#: lib/mv_web/member_live/show.ex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "First Name" msgid "First Name"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:172 #: lib/mv_web/live/member_live/form.ex:22
#, elixir-autogen, elixir-format #: lib/mv_web/live/member_live/index.ex:27
msgid "Hang in there while we get back on track" #: lib/mv_web/live/member_live/show.ex:33
msgstr ""
#: lib/mv_web/member_live/form_component.ex:47
#: lib/mv_web/member_live/index.ex:26
#: lib/mv_web/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Join Date" msgid "Join Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:42 #: lib/mv_web/live/member_live/form.ex:17
#: lib/mv_web/member_live/index.ex:23 #: lib/mv_web/live/member_live/index.ex:24
#: lib/mv_web/member_live/show.ex:22 #: lib/mv_web/live/member_live/show.ex:26
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Last Name" msgid "Last Name"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:8 #: lib/mv_web/live/member_live/index.ex:9
#: lib/mv_web/member_live/index.ex:88 #: lib/mv_web/live/member_live/index.ex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Listing Members" msgid "Listing Members"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:11 #: lib/mv_web/live/member_live/index.ex:12
#: lib/mv_web/member_live/index.ex:82
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Member" msgid "New Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/index.ex:30 #: lib/mv_web/live/member_live/index.ex:31
#: lib/mv_web/live/user_live/index.ex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show" msgid "Show"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:167 #: lib/mv_web/components/layouts.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Something went wrong!" msgid "Something went wrong!"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:150 #: lib/mv_web/components/layouts.ex:99
#, elixir-autogen, elixir-format
msgid "Success!"
msgstr ""
#: lib/mv_web/components/core_components.ex:155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "We can't find the internet" msgid "We can't find the internet"
msgstr "" msgstr ""
#: lib/mv_web/components/core_components.ex:76 #: lib/mv_web/components/core_components.ex:74
#: lib/mv_web/components/core_components.ex:130
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "close" msgid "close"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:44 #: lib/mv_web/live/member_live/form.ex:19
#: lib/mv_web/member_live/show.ex:24 #: lib/mv_web/live/member_live/show.ex:28
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Birth Date" msgid "Birth Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:55 #: lib/mv_web/live/member_live/form.ex:30
#: lib/mv_web/member_live/show.ex:38 #: lib/mv_web/live/member_live/show.ex:42
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Custom Properties" msgid "Custom Properties"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:48 #: lib/mv_web/live/member_live/form.ex:23
#: lib/mv_web/member_live/show.ex:30 #: lib/mv_web/live/member_live/show.ex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Exit Date" msgid "Exit Date"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:52 #: lib/mv_web/live/member_live/form.ex:27
#: lib/mv_web/member_live/show.ex:34 #: lib/mv_web/live/member_live/show.ex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "House Number" msgid "House Number"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:49 #: lib/mv_web/live/member_live/form.ex:24
#: lib/mv_web/member_live/show.ex:31 #: lib/mv_web/live/member_live/show.ex:35
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:45 #: lib/mv_web/live/member_live/form.ex:20
#: lib/mv_web/member_live/show.ex:25 #: lib/mv_web/live/member_live/show.ex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Paid" msgid "Paid"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:46 #: lib/mv_web/live/member_live/form.ex:21
#: lib/mv_web/member_live/show.ex:28 #: lib/mv_web/live/member_live/show.ex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Phone Number" msgid "Phone Number"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:53 #: lib/mv_web/live/member_live/form.ex:28
#: lib/mv_web/member_live/show.ex:35 #: lib/mv_web/live/member_live/show.ex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Postal Code" msgid "Postal Code"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:50
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Save Member" msgid "Save Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:75 #: lib/mv_web/live/member_live/form.ex:49
#: lib/mv_web/live/property_live/form.ex:41
#: lib/mv_web/live/property_type_live/form.ex:29
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saving..." msgid "Saving..."
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:51 #: lib/mv_web/live/member_live/form.ex:26
#: lib/mv_web/member_live/show.ex:33 #: lib/mv_web/live/member_live/show.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Street" msgid "Street"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:30 #: lib/mv_web/live/member_live/form.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Use this form to manage member records and their properties." msgid "Use this form to manage member records and their properties."
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:52 #: lib/mv_web/live/member_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Back to members"
msgstr ""
#: lib/mv_web/member_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit member"
msgstr ""
#: lib/mv_web/member_live/show.ex:20
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Id" msgid "Id"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No" msgid "No"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:92 #: lib/mv_web/live/member_live/show.ex:80
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Show Member" msgid "Show Member"
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:10 #: lib/mv_web/live/member_live/show.ex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "This is a member record from your database." msgid "This is a member record from your database."
msgstr "" msgstr ""
#: lib/mv_web/member_live/show.ex:26 #: lib/mv_web/live/member_live/show.ex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:102 #: lib/mv_web/live/member_live/form.ex:108
#: lib/mv_web/live/property_live/form.ex:200
#: lib/mv_web/live/property_type_live/form.ex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "create" msgid "create"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:103 #: lib/mv_web/live/member_live/form.ex:109
#: lib/mv_web/live/property_live/form.ex:201
#: lib/mv_web/live/property_type_live/form.ex:74
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "update" msgid "update"
msgstr "" msgstr ""
@ -244,7 +233,7 @@ msgstr ""
msgid "Incorrect email or password" msgid "Incorrect email or password"
msgstr "" msgstr ""
#: lib/mv_web/member_live/form_component.ex:109 #: lib/mv_web/live/member_live/form.ex:115
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Member %{action} successfully" msgid "Member %{action} successfully"
msgstr "" msgstr ""
@ -259,7 +248,7 @@ msgstr ""
msgid "You are now signed out" msgid "You are now signed out"
msgstr "" msgstr ""
#: lib/mv_web/controllers/auth_controller.ex:36 #: lib/mv_web/controllers/auth_controller.ex:37
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n"
msgstr "" msgstr ""
@ -273,3 +262,195 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Your password has successfully been reset" msgid "Your password has successfully been reset"
msgstr "" msgstr ""
#: lib/mv_web/live/member_live/form.ex:52
#: lib/mv_web/live/property_live/form.ex:44
#: lib/mv_web/live/property_type_live/form.ex:32
#: lib/mv_web/live/user_live/form.ex:31
#, elixir-autogen, elixir-format
msgid "Cancel"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:29
#, elixir-autogen, elixir-format
msgid "Choose a member"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Choose a property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:23
#, elixir-autogen, elixir-format
msgid "ID"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:26
#, elixir-autogen, elixir-format
msgid "Immutable"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:9
#: lib/mv_web/live/user_live/index.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Listing Users"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Member"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:16
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:12
#, elixir-autogen, elixir-format
msgid "New User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Not enabled"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Not set"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:19
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Note"
msgstr ""
#: lib/mv_web/live/user_live/index.ex:23
#: lib/mv_web/live/user_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "OIDC ID"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Password Authentication"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:19
#, elixir-autogen, elixir-format
msgid "Password can only be changed through authentication functions."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:37
#, elixir-autogen, elixir-format
msgid "Please select a property type first"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:207
#, elixir-autogen, elixir-format, fuzzy
msgid "Property %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:18
#, elixir-autogen, elixir-format
msgid "Property type"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:80
#, elixir-autogen, elixir-format
msgid "Property type %{action} successfully"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:27
#, elixir-autogen, elixir-format
msgid "Required"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:42
#, elixir-autogen, elixir-format
msgid "Save Property"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:30
#, elixir-autogen, elixir-format
msgid "Save Property type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "Save User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:38
#, elixir-autogen, elixir-format, fuzzy
msgid "Show User"
msgstr ""
#: lib/mv_web/live/user_live/show.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "This is a user record from your database."
msgstr ""
#: lib/mv_web/live/property_live/form.ex:95
#, elixir-autogen, elixir-format
msgid "Unsupported value type: %{type}"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property records in your database."
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:11
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage property_type records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:10
#, elixir-autogen, elixir-format, fuzzy
msgid "Use this form to manage user records in your database."
msgstr ""
#: lib/mv_web/live/user_live/form.ex:46
#: lib/mv_web/live/user_live/show.ex:9
#, elixir-autogen, elixir-format
msgid "User"
msgstr ""
#: lib/mv_web/live/property_live/form.ex:59
#, elixir-autogen, elixir-format
msgid "Value"
msgstr ""
#: lib/mv_web/live/property_type_live/form.ex:20
#, elixir-autogen, elixir-format
msgid "Value type"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:45
#, elixir-autogen, elixir-format
msgid "New"
msgstr ""
#: lib/mv_web/live/user_live/form.ex:25
#, elixir-autogen, elixir-format
msgid "Users created here will need to set their password through the authentication system."
msgstr ""