Role CRUD LiveViews closes #325 #326

Merged
moritz merged 28 commits from feature/325_role_view into main 2026-01-08 16:21:42 +01:00
5 changed files with 10 additions and 15 deletions
Showing only changes of commit 675ab14fce - Show all commits

View file

@ -126,7 +126,9 @@ defmodule MvWeb.RoleLive.Index do
end
# Loads all user counts for roles in a single query to avoid N+1 queries
@spec load_user_counts([Mv.Authorization.Role.t()], map() | nil) :: %{Ecto.UUID.t() => non_neg_integer()}
@spec load_user_counts([Mv.Authorization.Role.t()], map() | nil) :: %{
Ecto.UUID.t() => non_neg_integer()
}
defp load_user_counts(roles, actor) do
role_ids = Enum.map(roles, & &1.id)
@ -153,7 +155,8 @@ defmodule MvWeb.RoleLive.Index do
end
# Gets user count from preloaded assigns map
@spec get_user_count(Mv.Authorization.Role.t(), %{Ecto.UUID.t() => non_neg_integer()}) :: non_neg_integer()
@spec get_user_count(Mv.Authorization.Role.t(), %{Ecto.UUID.t() => non_neg_integer()}) ::
non_neg_integer()
defp get_user_count(role, user_counts) do
Map.get(user_counts, role.id, 0)
end
@ -169,5 +172,4 @@ defmodule MvWeb.RoleLive.Index do
_ -> 0
end
end
end

View file

@ -213,5 +213,4 @@ defmodule MvWeb.RoleLive.Show do
</Layouts.app>
"""
end
end

View file

@ -1437,9 +1437,7 @@ msgstr "Bereits bezahlte Zyklen bleiben mit dem alten Betrag."
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
#: lib/mv_web/live/membership_fee_type_live/index.ex
#: lib/mv_web/live/role_live/form.ex
#: lib/mv_web/live/role_live/index.ex
#: lib/mv_web/live/role_live/show.ex
#: lib/mv_web/live/role_live/helpers.ex
#, elixir-autogen, elixir-format
msgid "An error occurred"
msgstr "Ein Fehler ist aufgetreten"
@ -1850,7 +1848,7 @@ msgstr "System-Rolle kann nicht gelöscht werden"
#: lib/mv_web/live/role_live/index.html.heex
#, elixir-autogen, elixir-format, fuzzy
msgid "Custom"
msgstr "Benutzerdefinierte Felder"
msgstr "Benutzerdefiniert"
#: lib/mv_web/live/role_live/show.ex
#, elixir-autogen, elixir-format, fuzzy
@ -1867,7 +1865,7 @@ msgstr "Rolle konnte nicht gelöscht werden: %{error}"
#: lib/mv_web/live/role_live/index.html.heex
#, elixir-autogen, elixir-format, fuzzy
msgid "Listing Roles"
msgstr "Benutzer*innen auflisten"
msgstr "Rollen auflisten"
#: lib/mv_web/live/role_live/index.html.heex
#, elixir-autogen, elixir-format

View file

@ -1438,9 +1438,7 @@ msgstr ""
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
#: lib/mv_web/live/membership_fee_type_live/index.ex
#: lib/mv_web/live/role_live/form.ex
#: lib/mv_web/live/role_live/index.ex
#: lib/mv_web/live/role_live/show.ex
#: lib/mv_web/live/role_live/helpers.ex
#, elixir-autogen, elixir-format
msgid "An error occurred"
msgstr ""

View file

@ -1438,9 +1438,7 @@ msgstr ""
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
#: lib/mv_web/live/membership_fee_type_live/index.ex
#: lib/mv_web/live/role_live/form.ex
#: lib/mv_web/live/role_live/index.ex
#: lib/mv_web/live/role_live/show.ex
#: lib/mv_web/live/role_live/helpers.ex
#, elixir-autogen, elixir-format
msgid "An error occurred"
msgstr ""