diff --git a/lib/accounts/accounts.ex b/lib/accounts/accounts.ex index 756c468..333e12e 100644 --- a/lib/accounts/accounts.ex +++ b/lib/accounts/accounts.ex @@ -11,9 +11,9 @@ defmodule Mv.Accounts do resources do resource Mv.Accounts.User do - define :create_user, action: :create + define :create_user, action: :create_user define :list_users, action: :read - define :update_user, action: :update + define :update_user, action: :update_user define :destroy_user, action: :destroy end diff --git a/lib/accounts/user.ex b/lib/accounts/user.ex index 18fd3aa..53156b4 100644 --- a/lib/accounts/user.ex +++ b/lib/accounts/user.ex @@ -63,6 +63,14 @@ defmodule Mv.Accounts.User do actions do defaults [:read, :create, :destroy, :update] + create :create_user do + accept [:email] + end + + update :update_user do + accept [:email] + end + read :get_by_subject do description "Get a user by the subject claim in a JWT" argument :subject, :string, allow_nil?: false diff --git a/lib/mv_web/live/user_live/form.ex b/lib/mv_web/live/user_live/form.ex index 53d7af7..dd78c0c 100644 --- a/lib/mv_web/live/user_live/form.ex +++ b/lib/mv_web/live/user_live/form.ex @@ -7,12 +7,34 @@ defmodule MvWeb.UserLive.Form do <.header> {@page_title} - <:subtitle>Use this form to manage user records in your database. + <:subtitle>{gettext("Use this form to manage user records in your database.")} <.form for={@form} id="user-form" phx-change="validate" phx-submit="save"> - <.button phx-disable-with="Saving..." variant="primary">Save User - <.button navigate={return_path(@return_to, @user)}>Cancel + <.input field={@form[:email]} label={gettext("Email")} required type="email" /> + + <%= if @user do %> +
+

+ {gettext("Note")}: {gettext( + "Password can only be changed through authentication functions." + )} +

+
+ <% else %> +
+

+ {gettext("Note")}: {gettext( + "Users created here will need to set their password through the authentication system." + )} +

+
+ <% end %> + + <.button phx-disable-with={gettext("Saving...")} variant="primary"> + {gettext("Save User")} + + <.button navigate={return_path(@return_to, @user)}>{gettext("Cancel")}
""" @@ -23,11 +45,11 @@ defmodule MvWeb.UserLive.Form do user = case params["id"] do nil -> nil - id -> Ash.get!(Mv.Accounts.User, id) + id -> Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts) end - action = if is_nil(user), do: "New", else: "Edit" - page_title = action <> " " <> "User" + action = if is_nil(user), do: gettext("New"), else: gettext("Edit") + page_title = action <> " " <> gettext("User") {:ok, socket @@ -67,9 +89,12 @@ defmodule MvWeb.UserLive.Form do defp assign_form(%{assigns: %{user: user}} = socket) do form = if user do - AshPhoenix.Form.for_update(user, :update, as: "user") + AshPhoenix.Form.for_update(user, :update_user, domain: Mv.Accounts, as: "user") 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 assign(socket, form: to_form(form)) diff --git a/lib/mv_web/live/user_live/index.ex b/lib/mv_web/live/user_live/index.ex index 47fee2f..d3c2dcd 100644 --- a/lib/mv_web/live/user_live/index.ex +++ b/lib/mv_web/live/user_live/index.ex @@ -6,10 +6,10 @@ defmodule MvWeb.UserLive.Index do ~H""" <.header> - Listing Users + {gettext("Listing Users")} <:actions> <.button variant="primary" navigate={~p"/users/new"}> - <.icon name="hero-plus" /> New User + <.icon name="hero-plus" /> {gettext("New User")} @@ -19,24 +19,23 @@ defmodule MvWeb.UserLive.Index do rows={@streams.users} row_click={fn {_id, user} -> JS.navigate(~p"/users/#{user}") end} > - <:col :let={{_id, user}} label="Id">{user.id} - - <:col :let={{_id, user}} label="Email">{user.email} + <:col :let={{_id, user}} label={gettext("Email")}>{user.email} + <:col :let={{_id, user}} label={gettext("OIDC ID")}>{user.oidc_id} <:action :let={{_id, user}}>
- <.link navigate={~p"/users/#{user}"}>Show + <.link navigate={~p"/users/#{user}"}>{gettext("Show")}
- <.link navigate={~p"/users/#{user}/edit"}>Edit + <.link navigate={~p"/users/#{user}/edit"}>{gettext("Edit")} <:action :let={{id, user}}> <.link 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")} @@ -48,14 +47,14 @@ defmodule MvWeb.UserLive.Index do def mount(_params, _session, socket) do {:ok, socket - |> assign(:page_title, "Listing Users") - |> stream(:users, Ash.read!(Mv.Accounts.User))} + |> assign(:page_title, gettext("Listing Users")) + |> stream(:users, Ash.read!(Mv.Accounts.User, domain: Mv.Accounts))} end @impl true def handle_event("delete", %{"id" => id}, socket) do - user = Ash.get!(Mv.Accounts.User, id) - Ash.destroy!(user) + user = Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts) + Ash.destroy!(user, domain: Mv.Accounts) {:noreply, stream_delete(socket, :users, user)} end diff --git a/lib/mv_web/live/user_live/show.ex b/lib/mv_web/live/user_live/show.ex index f2fa602..3bf6baf 100644 --- a/lib/mv_web/live/user_live/show.ex +++ b/lib/mv_web/live/user_live/show.ex @@ -6,23 +6,26 @@ defmodule MvWeb.UserLive.Show do ~H""" <.header> - User {@user.id} - <:subtitle>This is a user record from your database. + {gettext("User")} {@user.email} + <:subtitle>{gettext("This is a user record from your database.")} <:actions> <.button navigate={~p"/users"}> <.icon name="hero-arrow-left" /> <.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")} <.list> - <:item title="Id">{@user.id} - - <:item title="Email">{@user.email} + <:item title={gettext("ID")}>{@user.id} + <:item title={gettext("Email")}>{@user.email} + <:item title={gettext("OIDC ID")}>{@user.oidc_id || gettext("Not set")} + <:item title={gettext("Password Authentication")}> + {if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")} + """ @@ -32,7 +35,7 @@ defmodule MvWeb.UserLive.Show do def mount(%{"id" => id}, _session, socket) do {:ok, socket - |> assign(:page_title, "Show User") - |> assign(:user, Ash.get!(Mv.Accounts.User, id))} + |> assign(:page_title, gettext("Show User")) + |> assign(:user, Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts))} end end diff --git a/mix.lock b/mix.lock index 818a216..d182c90 100644 --- a/mix.lock +++ b/mix.lock @@ -5,7 +5,7 @@ "ash_authentication_phoenix": {:hex, :ash_authentication_phoenix, "2.10.4", "b5a8e852dd48d875fe3089c28765379d112efed8bc1a5379f47e184d50259b73", [:mix], [{:ash, "~> 3.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_authentication, ">= 4.9.1 and < 5.0.0-0", [hex: :ash_authentication, repo: "hexpm", optional: false]}, {:ash_phoenix, "~> 2.0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26", [hex: :gettext, repo: "hexpm", optional: true]}, {:igniter, ">= 0.5.25 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:slugify, "~> 1.3", [hex: :slugify, repo: "hexpm", optional: false]}], "hexpm", "99e8ebc0606dc3ff81aac649c2838bf0d5d1d4bd880eb977cf31d2494b7a3f6a"}, "ash_phoenix": {:hex, :ash_phoenix, "2.3.11", "3003cb7fbda4eba829a67a064af15bc23f4032b86c768c3336e3a04218d19f37", [:mix], [{:ash, ">= 3.5.13 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:inertia, "~> 2.3", [hex: :inertia, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.5.6 or ~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.3 or ~> 1.0-rc.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:spark, ">= 2.2.29 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}], "hexpm", "33294de690af8c408759c629fd4212e1b4639b1da8417f5c7b31cb3898e6cb4f"}, "ash_postgres": {:hex, :ash_postgres, "2.6.11", "7c6b4fa9b8725c6644dd863323f8a2dae93f5df8ddae4b53df5dabde451a8b0c", [:mix], [{:ash, ">= 3.5.13 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_sql, ">= 0.2.72 and < 1.0.0-0", [hex: :ash_sql, repo: "hexpm", optional: false]}, {:ecto, "~> 3.13", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.13", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.14 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}], "hexpm", "d915f06406b46130559481b8b4290fd3bf60b0bd57bf5a4903cde0613b642c36"}, - "ash_sql": {:hex, :ash_sql, "0.2.87", "17197c643918cdaee657946a1998860402dcf53a980f7665bb81d1fa53c224e7", [], [{:ash, ">= 3.5.25 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}], "hexpm", "f82d6bf78f08bd9040af3adc28676965421598c88866074d8b1ccca65978d774"}, + "ash_sql": {:hex, :ash_sql, "0.2.87", "17197c643918cdaee657946a1998860402dcf53a980f7665bb81d1fa53c224e7", [:mix], [{:ash, ">= 3.5.25 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}], "hexpm", "f82d6bf78f08bd9040af3adc28676965421598c88866074d8b1ccca65978d774"}, "assent": {:hex, :assent, "0.2.13", "11226365d2d8661d23e9a2cf94d3255e81054ff9d88ac877f28bfdf38fa4ef31", [:mix], [{:certifi, ">= 0.0.0", [hex: :certifi, repo: "hexpm", optional: true]}, {:finch, "~> 0.15", [hex: :finch, repo: "hexpm", optional: true]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:req, "~> 0.4", [hex: :req, repo: "hexpm", optional: true]}, {:ssl_verify_fun, ">= 0.0.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: true]}], "hexpm", "bf9f351b01dd6bceea1d1f157f05438f6765ce606e6eb8d29296003d29bf6eab"}, "bandit": {:hex, :bandit, "1.7.0", "d1564f30553c97d3e25f9623144bb8df11f3787a26733f00b21699a128105c0c", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "3e2f7a98c7a11f48d9d8c037f7177cd39778e74d55c7af06fe6227c742a8168a"}, "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.3.2", "d50091e3c9492d73e17fc1e1619a9b09d6a5ef99160eb4d736926fd475a16ca3", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "471be5151874ae7931911057d1467d908955f93554f7a6cd1b7d804cac8cef53"}, diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index c3d4c84..2f36e27 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -16,6 +16,7 @@ msgid "Actions" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/user_live/index.ex:36 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "Bist du sicher?" @@ -34,14 +35,17 @@ msgid "City" msgstr "Stadt" #: lib/mv_web/live/member_live/index.html.heex:79 +#: lib/mv_web/live/user_live/index.ex:38 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Löschen" #: lib/mv_web/live/member_live/index.html.heex:71 +#: lib/mv_web/live/user_live/form.ex:51 +#: lib/mv_web/live/user_live/index.ex:30 #, elixir-autogen, elixir-format msgid "Edit" -msgstr "Bearbeiten" +msgstr "Bearbeite" #: lib/mv_web/live/member_live/show.ex:18 #: lib/mv_web/live/member_live/show.ex:81 @@ -52,6 +56,9 @@ msgstr "Mitglied bearbeiten" #: lib/mv_web/live/member_live/form.ex:18 #: lib/mv_web/live/member_live/index.html.heex:58 #: 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 msgid "Email" msgstr "E-Mail" @@ -81,6 +88,7 @@ msgid "New Member" msgstr "Neues Mitglied" #: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/user_live/index.ex:27 #, elixir-autogen, elixir-format msgid "Show" msgstr "Anzeigen" @@ -159,6 +167,7 @@ msgstr "Mitglied speichern" #: 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:34 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichern..." @@ -252,6 +261,7 @@ 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:37 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -271,16 +281,37 @@ msgstr "" 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/components/layouts/navbar.ex:35 +#: lib/mv_web/components/layouts/navbar.ex:73 #, elixir-autogen, elixir-format msgid "Logout" 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" @@ -299,12 +330,49 @@ msgstr "Mitglieder" 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:27 +#, 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/components/layouts/navbar.ex:31 +#: lib/mv_web/components/layouts/navbar.ex:69 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -349,11 +417,26 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/components/layouts/navbar.ex:72 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" +#: lib/mv_web/live/user_live/form.ex:35 +#, 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}" @@ -369,6 +452,17 @@ msgstr "Dieses Formular dient zur Verwaltung von Mitgliedern und deren Eigenscha 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:52 +#: 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" @@ -388,3 +482,13 @@ msgstr "" #, elixir-autogen, elixir-format msgid "descending" msgstr "" + +#: lib/mv_web/live/user_live/form.ex:51 +#, elixir-autogen, elixir-format +msgid "New" +msgstr "Neuer" + +#: lib/mv_web/live/user_live/form.ex:27 +#, 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." diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index bb17d15..baa059a 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -17,6 +17,7 @@ msgid "Actions" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/user_live/index.ex:36 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -35,11 +36,14 @@ msgid "City" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:79 +#: lib/mv_web/live/user_live/index.ex:38 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:71 +#: lib/mv_web/live/user_live/form.ex:51 +#: lib/mv_web/live/user_live/index.ex:30 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" @@ -53,6 +57,9 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex:18 #: lib/mv_web/live/member_live/index.html.heex:58 #: 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 msgid "Email" msgstr "" @@ -82,6 +89,7 @@ msgid "New Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/user_live/index.ex:27 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -160,6 +168,7 @@ msgstr "" #: 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:34 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -253,6 +262,7 @@ 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:37 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -272,16 +282,37 @@ msgstr "" 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/components/layouts/navbar.ex:35 +#: lib/mv_web/components/layouts/navbar.ex:73 #, elixir-autogen, elixir-format msgid "Logout" 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" @@ -300,12 +331,49 @@ msgstr "" 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:27 +#, 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/components/layouts/navbar.ex:31 +#: lib/mv_web/components/layouts/navbar.ex:69 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -350,11 +418,26 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/components/layouts/navbar.ex:72 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" +#: lib/mv_web/live/user_live/form.ex:35 +#, 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}" @@ -370,6 +453,17 @@ msgstr "" 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:52 +#: 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" @@ -389,3 +483,13 @@ msgstr "" #, elixir-autogen, elixir-format msgid "descending" msgstr "" + +#: lib/mv_web/live/user_live/form.ex:51 +#, elixir-autogen, elixir-format +msgid "New" +msgstr "" + +#: lib/mv_web/live/user_live/form.ex:27 +#, elixir-autogen, elixir-format +msgid "Users created here will need to set their password through the authentication system." +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 616b323..4bddf9a 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -17,6 +17,7 @@ msgid "Actions" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:77 +#: lib/mv_web/live/user_live/index.ex:36 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -35,11 +36,14 @@ msgid "City" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:79 +#: lib/mv_web/live/user_live/index.ex:38 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:71 +#: lib/mv_web/live/user_live/form.ex:51 +#: lib/mv_web/live/user_live/index.ex:30 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" @@ -53,6 +57,9 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex:18 #: lib/mv_web/live/member_live/index.html.heex:58 #: 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 msgid "Email" msgstr "" @@ -82,6 +89,7 @@ msgid "New Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/user_live/index.ex:27 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -160,6 +168,7 @@ msgstr "" #: 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:34 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -253,6 +262,7 @@ 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:37 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -272,16 +282,37 @@ msgstr "" 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/components/layouts/navbar.ex:35 +#: lib/mv_web/components/layouts/navbar.ex:73 #, elixir-autogen, elixir-format msgid "Logout" 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" @@ -300,12 +331,49 @@ msgstr "" 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:27 +#, 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/components/layouts/navbar.ex:31 +#: lib/mv_web/components/layouts/navbar.ex:69 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -350,11 +418,26 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/components/layouts/navbar.ex:72 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" +#: lib/mv_web/live/user_live/form.ex:35 +#, 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}" @@ -370,6 +453,17 @@ msgstr "" 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:52 +#: 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" @@ -389,3 +483,13 @@ msgstr "" #, elixir-autogen, elixir-format msgid "descending" msgstr "" + +#: lib/mv_web/live/user_live/form.ex:51 +#, elixir-autogen, elixir-format +msgid "New" +msgstr "" + +#: lib/mv_web/live/user_live/form.ex:27 +#, elixir-autogen, elixir-format +msgid "Users created here will need to set their password through the authentication system." +msgstr ""