refactor: Use submit_form wrapper in all LiveView forms
- Replace AshPhoenix.Form.submit with submit_form/3 wrapper - Import current_actor and submit_form from LiveHelpers - Consistent actor handling in all form submissions
This commit is contained in:
parent
897677a782
commit
77ae5c4888
7 changed files with 22 additions and 13 deletions
|
|
@ -91,7 +91,9 @@ defmodule MvWeb.CustomFieldLive.FormComponent do
|
|||
|
||||
@impl true
|
||||
def handle_event("save", %{"custom_field" => custom_field_params}, socket) do
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: custom_field_params) do
|
||||
actor = MvWeb.LiveHelpers.current_actor(socket)
|
||||
|
||||
case MvWeb.LiveHelpers.submit_form(socket.assigns.form, custom_field_params, actor) do
|
||||
{:ok, custom_field} ->
|
||||
action =
|
||||
case socket.assigns.form.source.type do
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ defmodule MvWeb.CustomFieldValueLive.Form do
|
|||
use MvWeb, :live_view
|
||||
|
||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1]
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
|
||||
|
||||
@impl true
|
||||
def render(assigns) do
|
||||
|
|
@ -228,7 +228,9 @@ defmodule MvWeb.CustomFieldValueLive.Form do
|
|||
custom_field_value_params
|
||||
end
|
||||
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: updated_params) do
|
||||
actor = current_actor(socket)
|
||||
|
||||
case submit_form(socket.assigns.form, updated_params, actor) do
|
||||
{:ok, custom_field_value} ->
|
||||
notify_parent({:saved, custom_field_value})
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,9 @@ defmodule MvWeb.GlobalSettingsLive do
|
|||
|
||||
@impl true
|
||||
def handle_event("save", %{"setting" => setting_params}, socket) do
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: setting_params) do
|
||||
actor = MvWeb.LiveHelpers.current_actor(socket)
|
||||
|
||||
case MvWeb.LiveHelpers.submit_form(socket.assigns.form, setting_params, actor) do
|
||||
{:ok, _updated_settings} ->
|
||||
# Reload settings from database to ensure all dependent data is updated
|
||||
{:ok, fresh_settings} = Membership.get_settings()
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ defmodule MvWeb.MemberLive.Form do
|
|||
|
||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
||||
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1]
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
|
||||
|
||||
alias Mv.MembershipFees
|
||||
alias Mv.MembershipFees.MembershipFeeType
|
||||
|
|
@ -290,10 +290,7 @@ defmodule MvWeb.MemberLive.Form do
|
|||
try do
|
||||
actor = current_actor(socket)
|
||||
|
||||
case AshPhoenix.Form.submit(socket.assigns.form,
|
||||
params: member_params,
|
||||
action_opts: [actor: actor]
|
||||
) do
|
||||
case submit_form(socket.assigns.form, member_params, actor) do
|
||||
{:ok, member} ->
|
||||
handle_save_success(socket, member)
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,9 @@ defmodule MvWeb.MembershipFeeSettingsLive do
|
|||
Map.put(params, "include_joining_cycle", false)
|
||||
end
|
||||
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: normalized_params) do
|
||||
actor = MvWeb.LiveHelpers.current_actor(socket)
|
||||
|
||||
case MvWeb.LiveHelpers.submit_form(socket.assigns.form, normalized_params, actor) do
|
||||
{:ok, updated_settings} ->
|
||||
{:noreply,
|
||||
socket
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
|||
use MvWeb, :live_view
|
||||
|
||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1]
|
||||
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
|
||||
|
||||
require Ash.Query
|
||||
|
||||
|
|
@ -308,7 +308,9 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
|||
if socket.assigns.show_amount_warning do
|
||||
{:noreply, put_flash(socket, :error, gettext("Please confirm the amount change first"))}
|
||||
else
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: params) do
|
||||
actor = current_actor(socket)
|
||||
|
||||
case submit_form(socket.assigns.form, params, actor) do
|
||||
{:ok, membership_fee_type} ->
|
||||
notify_parent({:saved, membership_fee_type})
|
||||
|
||||
|
|
|
|||
|
|
@ -162,7 +162,9 @@ defmodule MvWeb.RoleLive.Form do
|
|||
end
|
||||
|
||||
def handle_event("save", %{"role" => role_params}, socket) do
|
||||
case AshPhoenix.Form.submit(socket.assigns.form, params: role_params) do
|
||||
actor = MvWeb.LiveHelpers.current_actor(socket)
|
||||
|
||||
case MvWeb.LiveHelpers.submit_form(socket.assigns.form, role_params, actor) do
|
||||
{:ok, role} ->
|
||||
notify_parent({:saved, role})
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue