feat: Datafields page, merge fee types into membership_fee_settings, sidebar
- Add /admin/datafields (DatafieldsLive) for member and custom field config - Remove Memberdata block from GlobalSettingsLive - Router: drop /membership_fee_types, add new_fee_type and edit_fee_type under membership_fee_settings - MembershipFeeSettingsLive: fee types table, collapsible examples; Index links updated - PagePaths: admin_datafields, admin_import; remove membership_fee_types - Sidebar: order and labels (Basic settings, Datafields, Membership fee settings, Import, Users, Roles) - Gettext: German translations for sidebar and OIDC - Tests: datafields and fee routes, permission and form tests updated
This commit is contained in:
parent
8edbbac95f
commit
62b37b9aa2
18 changed files with 886 additions and 251 deletions
|
|
@ -23,7 +23,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
|
||||
describe "rendering" do
|
||||
test "renders all member fields from Constants", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Check that all member fields are displayed
|
||||
member_fields = Mv.Constants.member_fields()
|
||||
|
|
@ -36,7 +36,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
end
|
||||
|
||||
test "displays show_in_overview status as badge", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Should have "Show in overview" column header
|
||||
assert html =~ "Show in overview" or html =~ "Show in Overview"
|
||||
|
|
@ -46,7 +46,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
end
|
||||
|
||||
test "displays required status column", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Should have "Required" column; email is always required
|
||||
assert html =~ "Required" or html =~ "required"
|
||||
|
|
@ -59,7 +59,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
{:ok, _updated} =
|
||||
Membership.update_settings(settings, %{member_field_visibility: %{}})
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# All fields should show as visible (Yes) by default
|
||||
# Check for "Yes" badge or similar indicator
|
||||
|
|
@ -74,7 +74,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
{:ok, _updated} =
|
||||
Membership.update_member_field_visibility(settings, visibility_config)
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Street and house_number should show as hidden (No)
|
||||
# Other fields should show as visible (Yes)
|
||||
|
|
@ -102,7 +102,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
end
|
||||
|
||||
test "marks email as required (always from settings)", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Email is always required
|
||||
assert html =~ "email" or html =~ "Email"
|
||||
|
|
@ -119,7 +119,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
required: true
|
||||
)
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# First name row should show Required (and Optional for others)
|
||||
assert html =~ "First name" or html =~ "first_name"
|
||||
|
|
@ -127,7 +127,7 @@ defmodule MvWeb.MemberFieldLive.IndexComponentTest do
|
|||
end
|
||||
|
||||
test "optional fields show Optional when not required in settings", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/settings")
|
||||
{:ok, _view, html} = live(conn, ~p"/admin/datafields")
|
||||
|
||||
# Email is required; other fields default to optional
|
||||
assert html =~ "Optional"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue