style: order module directives per StrictModuleLayout

This commit is contained in:
Moritz 2026-06-16 15:34:35 +02:00
parent 6e50b91e51
commit cbd37ecb2c
88 changed files with 225 additions and 155 deletions

View file

@ -3,9 +3,10 @@ defmodule MvWeb.TableComponents do
TableComponents that can be used in tables as components (like a button for sorting, a filter...)
"""
use Phoenix.Component
import MvWeb.CoreComponents
use Gettext, backend: MvWeb.Gettext
import MvWeb.CoreComponents
attr :field, :atom, required: true
attr :label, :string, required: true
attr :sort_field, :atom, default: nil

View file

@ -13,12 +13,12 @@ defmodule MvWeb.ImportTemplateController do
"""
use MvWeb, :controller
import MvWeb.ControllerHelpers, only: [current_actor: 1]
alias Mv.Membership.Member
alias Mv.Membership.MembersCSV
alias MvWeb.Authorization
import MvWeb.ControllerHelpers, only: [current_actor: 1]
# Standard member columns in template order, with their English and German headers
# and a placeholder example value. Groups and fee type are importable extras.
@columns [

View file

@ -6,9 +6,10 @@ defmodule MvWeb.MemberExportController do
Same permission and actor context as the member overview; 403 if unauthorized.
"""
use MvWeb, :controller
use Gettext, backend: MvWeb.Gettext
require Ash.Query
import Ash.Expr
import MvWeb.ControllerHelpers, only: [current_actor: 1]
alias Mv.Membership.CustomField
alias Mv.Membership.CustomFieldSort
@ -18,8 +19,7 @@ defmodule MvWeb.MemberExportController do
alias MvWeb.MemberLive.Index.MembershipFeeStatus
alias MvWeb.Translations.MemberFields
import MvWeb.ControllerHelpers, only: [current_actor: 1]
use Gettext, backend: MvWeb.Gettext
require Ash.Query
@member_fields_allowlist (Mv.Constants.member_fields() |> Enum.map(&Atom.to_string/1)) ++
["membership_fee_type", "groups"]

View file

@ -7,15 +7,14 @@ defmodule MvWeb.MemberPdfExportController do
"""
use MvWeb, :controller
use Gettext, backend: MvWeb.Gettext
require Logger
import MvWeb.ControllerHelpers, only: [current_actor: 1]
alias Mv.Membership.{MemberExport, MemberExport.Build, MembersPDF}
alias MvWeb.Translations.MemberFields
import MvWeb.ControllerHelpers, only: [current_actor: 1]
use Gettext, backend: MvWeb.Gettext
require Logger
@payload_required_message "payload required"
@invalid_json_message "invalid JSON"

View file

@ -15,13 +15,14 @@ defmodule MvWeb.LinkOidcAccountLive do
6. User is redirected to complete OIDC login
"""
use MvWeb, :live_view
require Ash.Query
require Logger
alias AshAuthentication.Strategy.Password.Actions, as: PasswordActions
alias Mv.Accounts.User, as: UserResource
alias Mv.Helpers.SystemActor
require Ash.Query
require Logger
@impl true
def mount(_params, session, socket) do
# Use SystemActor for authorization during OIDC linking (user is not yet logged in)

View file

@ -34,7 +34,6 @@ defmodule MvWeb.GlobalSettingsLive do
"""
use MvWeb, :live_view
require Ash.Query
import Ash.Expr
alias Mv.Helpers
@ -44,6 +43,8 @@ defmodule MvWeb.GlobalSettingsLive do
alias MvWeb.Helpers.MemberHelpers
alias MvWeb.Translations.MemberFields
require Ash.Query
on_mount {MvWeb.LiveHelpers, :ensure_user_role_loaded}
@impl true

View file

@ -15,16 +15,16 @@ defmodule MvWeb.GroupLive.Show do
"""
use MvWeb, :live_view
require Logger
import Ash.Expr
import MvWeb.LiveHelpers, only: [current_actor: 1]
import MvWeb.Authorization
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.Membership
alias MvWeb.Helpers.MemberHelpers, as: MemberHelpers
alias MvWeb.Live.MemberDropdownNav
require Logger
@impl true
def mount(_params, _session, socket) do
{:ok,

View file

@ -7,13 +7,13 @@ defmodule MvWeb.ImportLive.Components do
use Phoenix.Component
use Gettext, backend: MvWeb.Gettext
import MvWeb.CoreComponents
use Phoenix.VerifiedRoutes,
endpoint: MvWeb.Endpoint,
router: MvWeb.Router,
statics: MvWeb.static_paths()
import MvWeb.CoreComponents
@doc """
Renders the info box explaining that data fields must exist before import
and linking to Manage Member Data (custom fields).

View file

@ -13,15 +13,15 @@ defmodule MvWeb.JoinRequestLive.Index do
"""
use MvWeb, :live_view
require Logger
import MvWeb.LiveHelpers, only: [current_actor: 1]
import MvWeb.Authorization
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.Membership
alias MvWeb.Helpers.DateFormatter
alias MvWeb.JoinRequestLive.Helpers, as: JoinRequestHelpers
require Logger
@impl true
def mount(_params, _session, socket) do
actor = current_actor(socket)

View file

@ -14,10 +14,8 @@ defmodule MvWeb.JoinRequestLive.Show do
"""
use MvWeb, :live_view
require Logger
import MvWeb.LiveHelpers, only: [current_actor: 1]
import MvWeb.Authorization
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.Constants
alias Mv.Membership
@ -26,6 +24,8 @@ defmodule MvWeb.JoinRequestLive.Show do
alias MvWeb.JoinRequestLive.Helpers, as: JoinRequestHelpers
alias MvWeb.Translations.MemberFields, as: MemberFieldsTranslations
require Logger
@impl true
def mount(_params, _session, socket) do
if Membership.join_form_enabled?() do

View file

@ -20,7 +20,6 @@ defmodule MvWeb.MemberLive.Form do
"""
use MvWeb, :live_view
require Logger
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
alias Mv.Membership
@ -32,6 +31,8 @@ defmodule MvWeb.MemberLive.Form do
alias MvWeb.Helpers.MemberHelpers
alias MvWeb.Helpers.MembershipFeeHelpers
require Logger
@impl true
def render(assigns) do
# Sort custom fields by name for display only

View file

@ -26,8 +26,6 @@ defmodule MvWeb.MemberLive.Index do
"""
use MvWeb, :live_view
require Ash.Query
require Logger
import Ash.Expr
import MvWeb.LiveHelpers, only: [current_actor: 1]
@ -45,6 +43,9 @@ defmodule MvWeb.MemberLive.Index do
alias MvWeb.MemberLive.Index.Formatter
alias MvWeb.MemberLive.Index.MembershipFeeStatus
require Ash.Query
require Logger
@custom_field_prefix Mv.Constants.custom_field_prefix()
@boolean_filter_prefix Mv.Constants.boolean_filter_prefix()
@group_filter_prefix Mv.Constants.group_filter_prefix()

View file

@ -28,12 +28,13 @@ defmodule MvWeb.MemberLive.Index.DateFilter do
`exit_date IS NULL OR exit_date > today` a member who left today is hidden.
"""
require Ash.Query
import Ash.Expr
alias MvWeb.MemberLive.Index.CustomFieldValueLookup
alias MvWeb.MemberLive.Index.FilterParams
require Ash.Query
@join_date_from_param Mv.Constants.join_date_from_param()
@join_date_to_param Mv.Constants.join_date_to_param()
@exit_date_mode_param Mv.Constants.exit_date_mode_param()

View file

@ -12,10 +12,9 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do
"""
use MvWeb, :live_component
require Ash.Query
import MvWeb.LiveHelpers, only: [current_actor: 1]
import MvWeb.Authorization, only: [can?: 3]
import MvWeb.Helpers.AshErrorHelpers, only: [format_error: 1]
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.Membership
alias Mv.MembershipFees
@ -25,6 +24,8 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do
alias Mv.MembershipFees.MembershipFeeType
alias MvWeb.Helpers.MembershipFeeHelpers
require Ash.Query
@impl true
def render(assigns) do
~H"""

View file

@ -9,8 +9,6 @@ defmodule MvWeb.MembershipFeeSettingsLive do
"""
use MvWeb, :live_view
require Ash.Query
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.Membership
@ -18,6 +16,8 @@ defmodule MvWeb.MembershipFeeSettingsLive do
alias Mv.MembershipFees.MembershipFeeType
alias MvWeb.Helpers.MembershipFeeHelpers
require Ash.Query
@impl true
def mount(_params, _session, socket) do
actor = current_actor(socket)

View file

@ -15,13 +15,13 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
require Ash.Query
alias Mv.Membership.Member
alias Mv.MembershipFees
alias Mv.MembershipFees.MembershipFeeType
alias MvWeb.Helpers.MembershipFeeHelpers
require Ash.Query
@impl true
def render(assigns) do
~H"""

View file

@ -16,14 +16,14 @@ defmodule MvWeb.MembershipFeeTypeLive.Index do
import MvWeb.LiveHelpers, only: [current_actor: 1]
require Ash.Query
alias Mv.Membership
alias Mv.Membership.Member
alias Mv.MembershipFees
alias Mv.MembershipFees.MembershipFeeType
alias MvWeb.Helpers.MembershipFeeHelpers
require Ash.Query
@impl true
def mount(_params, _session, socket) do
actor = current_actor(socket)

View file

@ -13,10 +13,10 @@ defmodule MvWeb.RoleLive.Form do
"""
use MvWeb, :live_view
alias Mv.Authorization.PermissionSets
import MvWeb.RoleLive.Helpers, only: [format_error: 1]
alias Mv.Authorization.PermissionSets
@impl true
def render(assigns) do
~H"""

View file

@ -13,13 +13,13 @@ defmodule MvWeb.RoleLive.Index do
"""
use MvWeb, :live_view
import MvWeb.RoleLive.Helpers, only: [permission_set_badge_variant: 1]
alias Mv.Accounts
alias Mv.Authorization
require Ash.Query
import MvWeb.RoleLive.Helpers, only: [permission_set_badge_variant: 1]
@impl true
def mount(_params, _session, socket) do
actor = socket.assigns[:current_user]

View file

@ -12,13 +12,13 @@ defmodule MvWeb.RoleLive.Show do
"""
use MvWeb, :live_view
import MvWeb.RoleLive.Helpers,
only: [format_error: 1, permission_set_badge_variant: 1, opts_with_actor: 3]
alias Mv.Accounts
require Ash.Query
import MvWeb.RoleLive.Helpers,
only: [format_error: 1, permission_set_badge_variant: 1, opts_with_actor: 3]
@impl true
def mount(%{"id" => id}, _session, socket) do
case Ash.get(

View file

@ -6,13 +6,14 @@ defmodule MvWeb.StatisticsLive do
"""
use MvWeb, :live_view
require Logger
import MvWeb.LiveHelpers, only: [current_actor: 1]
alias Mv.MembershipFees.MembershipFeeType
alias Mv.Statistics
alias MvWeb.Helpers.MembershipFeeHelpers
require Logger
@impl true
def mount(_params, _session, socket) do
# Only static assigns and fee types here; load_statistics runs once in handle_params

View file

@ -33,7 +33,9 @@ defmodule MvWeb.UserLive.Form do
"""
use MvWeb, :live_view
require Jason
import MvWeb.Authorization, only: [can?: 3]
import MvWeb.ErrorHelpers, only: [format_ash_error: 1]
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
alias Mv.Accounts
alias Mv.Accounts.User, as: UserResource
@ -45,9 +47,7 @@ defmodule MvWeb.UserLive.Form do
alias MvWeb.Helpers.MemberHelpers
alias MvWeb.Live.MemberDropdownNav
import MvWeb.LiveHelpers, only: [current_actor: 1, submit_form: 3]
import MvWeb.Authorization, only: [can?: 3]
import MvWeb.ErrorHelpers, only: [format_ash_error: 1]
require Jason
@impl true
def render(assigns) do

View file

@ -3,9 +3,10 @@ defmodule MvWeb.LiveUserAuth do
Helpers for authenticating users in LiveViews.
"""
import Phoenix.Component
use MvWeb, :verified_routes
import Phoenix.Component
alias AshAuthentication.Phoenix.LiveSession
alias Phoenix.LiveView