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
|
@impl true
|
||||||
def handle_event("save", %{"custom_field" => custom_field_params}, socket) do
|
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} ->
|
{:ok, custom_field} ->
|
||||||
action =
|
action =
|
||||||
case socket.assigns.form.source.type do
|
case socket.assigns.form.source.type do
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ defmodule MvWeb.CustomFieldValueLive.Form do
|
||||||
use MvWeb, :live_view
|
use MvWeb, :live_view
|
||||||
|
|
||||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
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
|
@impl true
|
||||||
def render(assigns) do
|
def render(assigns) do
|
||||||
|
|
@ -228,7 +228,9 @@ defmodule MvWeb.CustomFieldValueLive.Form do
|
||||||
custom_field_value_params
|
custom_field_value_params
|
||||||
end
|
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} ->
|
{:ok, custom_field_value} ->
|
||||||
notify_parent({:saved, custom_field_value})
|
notify_parent({:saved, custom_field_value})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,9 @@ defmodule MvWeb.GlobalSettingsLive do
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("save", %{"setting" => setting_params}, socket) do
|
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} ->
|
{:ok, _updated_settings} ->
|
||||||
# Reload settings from database to ensure all dependent data is updated
|
# Reload settings from database to ensure all dependent data is updated
|
||||||
{:ok, fresh_settings} = Membership.get_settings()
|
{:ok, fresh_settings} = Membership.get_settings()
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ defmodule MvWeb.MemberLive.Form do
|
||||||
|
|
||||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
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
|
||||||
alias Mv.MembershipFees.MembershipFeeType
|
alias Mv.MembershipFees.MembershipFeeType
|
||||||
|
|
@ -290,10 +290,7 @@ defmodule MvWeb.MemberLive.Form do
|
||||||
try do
|
try do
|
||||||
actor = current_actor(socket)
|
actor = current_actor(socket)
|
||||||
|
|
||||||
case AshPhoenix.Form.submit(socket.assigns.form,
|
case submit_form(socket.assigns.form, member_params, actor) do
|
||||||
params: member_params,
|
|
||||||
action_opts: [actor: actor]
|
|
||||||
) do
|
|
||||||
{:ok, member} ->
|
{:ok, member} ->
|
||||||
handle_save_success(socket, member)
|
handle_save_success(socket, member)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,9 @@ defmodule MvWeb.MembershipFeeSettingsLive do
|
||||||
Map.put(params, "include_joining_cycle", false)
|
Map.put(params, "include_joining_cycle", false)
|
||||||
end
|
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} ->
|
{:ok, updated_settings} ->
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
||||||
use MvWeb, :live_view
|
use MvWeb, :live_view
|
||||||
|
|
||||||
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
|
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
|
require Ash.Query
|
||||||
|
|
||||||
|
|
@ -308,7 +308,9 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
||||||
if socket.assigns.show_amount_warning do
|
if socket.assigns.show_amount_warning do
|
||||||
{:noreply, put_flash(socket, :error, gettext("Please confirm the amount change first"))}
|
{:noreply, put_flash(socket, :error, gettext("Please confirm the amount change first"))}
|
||||||
else
|
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} ->
|
{:ok, membership_fee_type} ->
|
||||||
notify_parent({:saved, membership_fee_type})
|
notify_parent({:saved, membership_fee_type})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,9 @@ defmodule MvWeb.RoleLive.Form do
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_event("save", %{"role" => role_params}, socket) do
|
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} ->
|
{:ok, role} ->
|
||||||
notify_parent({:saved, role})
|
notify_parent({:saved, role})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue