refactor: fix credo warnings, update gettext
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Simon 2026-01-27 22:32:37 +01:00
parent 05c81af6e9
commit 5e0b6580ae
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
6 changed files with 487 additions and 83 deletions

View file

@ -27,40 +27,46 @@ defmodule MvWeb.GroupLive.Form do
action = if params["slug"], do: :update, else: :create
resource = Mv.Membership.Group
unless can?(actor, action, resource) do
{:ok, redirect(socket, to: ~p"/groups")}
else
socket =
case params["slug"] do
nil ->
# New group
socket
|> assign(:group, nil)
|> assign(:page_title, gettext("Create Group"))
|> assign(:return_to, "index")
slug ->
# Edit existing group
case Membership.get_group_by_slug(slug, actor: actor) do
{:ok, nil} ->
socket
|> put_flash(:error, gettext("Group not found."))
|> redirect(to: ~p"/groups")
{:ok, group} ->
socket
|> assign(:group, group)
|> assign(:page_title, gettext("Edit Group"))
|> assign(:return_to, "show")
{:error, _error} ->
socket
|> put_flash(:error, gettext("Failed to load group."))
|> redirect(to: ~p"/groups")
end
end
if can?(actor, action, resource) do
socket = load_group_for_form(socket, params, actor)
{:ok, assign_form(socket)}
else
{:ok, redirect(socket, to: ~p"/groups")}
end
end
defp load_group_for_form(socket, params, actor) do
case params["slug"] do
nil ->
# New group
socket
|> assign(:group, nil)
|> assign(:page_title, gettext("Create Group"))
|> assign(:return_to, "index")
slug ->
# Edit existing group
load_existing_group(socket, slug, actor)
end
end
defp load_existing_group(socket, slug, actor) do
case Membership.get_group_by_slug(slug, actor: actor) do
{:ok, nil} ->
socket
|> put_flash(:error, gettext("Group not found."))
|> redirect(to: ~p"/groups")
{:ok, group} ->
socket
|> assign(:group, group)
|> assign(:page_title, gettext("Edit Group"))
|> assign(:return_to, "show")
{:error, _error} ->
socket
|> put_flash(:error, gettext("Failed to load group."))
|> redirect(to: ~p"/groups")
end
end