Apply UI Authorization to Existing LiveViews closes #400 #403

Merged
moritz merged 13 commits from feature/400_ui_authorization into main 2026-02-03 17:30:16 +01:00
2 changed files with 11 additions and 3 deletions
Showing only changes of commit a4b13cef49 - Show all commits

View file

@ -24,7 +24,7 @@
{gettext("Open in email program")} {gettext("Open in email program")}
</.button> </.button>
<%= if can?(@current_user, :create, Mv.Membership.Member) do %> <%= if can?(@current_user, :create, Mv.Membership.Member) do %>
<.button variant="primary" navigate={~p"/members/new"}> <.button variant="primary" navigate={~p"/members/new"} data-testid="member-new">
<.icon name="hero-plus" /> {gettext("New Member")} <.icon name="hero-plus" /> {gettext("New Member")}
</.button> </.button>
<% end %> <% end %>
@ -86,6 +86,7 @@
<.table <.table
id="members" id="members"
rows={@members} rows={@members}
row_id={fn member -> "row-#{member.id}" end}
row_click={fn member -> JS.navigate(~p"/members/#{member}") end} row_click={fn member -> JS.navigate(~p"/members/#{member}") end}
dynamic_cols={@dynamic_cols} dynamic_cols={@dynamic_cols}
sort_field={@sort_field} sort_field={@sort_field}
@ -300,7 +301,9 @@
</div> </div>
<%= if can?(@current_user, :update, member) do %> <%= if can?(@current_user, :update, member) do %>
<.link navigate={~p"/members/#{member}/edit"}>{gettext("Edit")}</.link> <.link navigate={~p"/members/#{member}/edit"} data-testid="member-edit">
{gettext("Edit")}
</.link>
<% end %> <% end %>
</:action> </:action>
@ -309,6 +312,7 @@
<.link <.link
phx-click={JS.push("delete", value: %{id: member.id}) |> hide("#row-#{member.id}")} phx-click={JS.push("delete", value: %{id: member.id}) |> hide("#row-#{member.id}")}
data-confirm={gettext("Are you sure?")} data-confirm={gettext("Are you sure?")}
data-testid="member-delete"
> >
{gettext("Delete")} {gettext("Delete")}
</.link> </.link>

View file

@ -40,7 +40,11 @@ defmodule MvWeb.MemberLive.Show do
</h1> </h1>
<%= if can?(@current_user, :update, @member) do %> <%= if can?(@current_user, :update, @member) do %>
<.button variant="primary" navigate={~p"/members/#{@member}/edit?return_to=show"}> <.button
variant="primary"
navigate={~p"/members/#{@member}/edit?return_to=show"}
data-testid="member-edit"
>
{gettext("Edit Member")} {gettext("Edit Member")}
</.button> </.button>
<% end %> <% end %>