From cd7e6b0843acf7db77fa4380313aafb3b6a22bd7 Mon Sep 17 00:00:00 2001 From: Moritz Date: Fri, 9 Jan 2026 05:26:06 +0100 Subject: [PATCH] Use current_actor/1 helper in all LiveViews Replace inconsistent actor access patterns with current_actor/1 helper and ensure actor is passed to all Ash operations for proper authorization. --- .../live/custom_field_value_live/form.ex | 8 +- lib/mv_web/live/member_live/form.ex | 196 ++++++++++++++++-- lib/mv_web/live/member_live/show.ex | 3 +- .../show/membership_fees_component.ex | 32 +-- .../live/membership_fee_type_live/form.ex | 13 +- .../live/membership_fee_type_live/index.ex | 16 +- lib/mv_web/live/user_live/form.ex | 45 ++-- lib/mv_web/live/user_live/index.ex | 6 +- lib/mv_web/live/user_live/show.ex | 6 +- 9 files changed, 268 insertions(+), 57 deletions(-) diff --git a/lib/mv_web/live/custom_field_value_live/form.ex b/lib/mv_web/live/custom_field_value_live/form.ex index 4db2bed..fde54c3 100644 --- a/lib/mv_web/live/custom_field_value_live/form.ex +++ b/lib/mv_web/live/custom_field_value_live/form.ex @@ -32,6 +32,9 @@ defmodule MvWeb.CustomFieldValueLive.Form do """ use MvWeb, :live_view + on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded} + import MvWeb.LiveHelpers, only: [current_actor: 1] + @impl true def render(assigns) do ~H""" @@ -172,8 +175,9 @@ defmodule MvWeb.CustomFieldValueLive.Form do page_title = action <> " " <> "Custom field value" # Load all CustomFields and Members for the selection fields - custom_fields = Ash.read!(Mv.Membership.CustomField) - members = Ash.read!(Mv.Membership.Member) + actor = current_actor(socket) + custom_fields = Ash.read!(Mv.Membership.CustomField, actor: actor) + members = Ash.read!(Mv.Membership.Member, actor: actor) {:ok, socket diff --git a/lib/mv_web/live/member_live/form.ex b/lib/mv_web/live/member_live/form.ex index 42d0da2..1f5ab2d 100644 --- a/lib/mv_web/live/member_live/form.ex +++ b/lib/mv_web/live/member_live/form.ex @@ -23,6 +23,8 @@ defmodule MvWeb.MemberLive.Form do on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded} + import MvWeb.LiveHelpers, only: [current_actor: 1] + alias Mv.MembershipFees alias Mv.MembershipFees.MembershipFeeType alias MvWeb.Helpers.MembershipFeeHelpers @@ -174,7 +176,7 @@ defmodule MvWeb.MemberLive.Form do