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

@ -13,13 +13,14 @@ defmodule Mv.Accounts.User.Senders.SendNewUserConfirmationEmail do
layout: {MvWeb.EmailLayoutView, "layout.html"}
use MvWeb, :verified_routes
import Swoosh.Email
use Gettext, backend: MvWeb.Gettext, otp_app: :mv
require Logger
import Swoosh.Email
alias Mv.Mailer
require Logger
@doc """
Sends a confirmation email to a new user.

View file

@ -13,13 +13,14 @@ defmodule Mv.Accounts.User.Senders.SendPasswordResetEmail do
layout: {MvWeb.EmailLayoutView, "layout.html"}
use MvWeb, :verified_routes
import Swoosh.Email
use Gettext, backend: MvWeb.Gettext, otp_app: :mv
require Logger
import Swoosh.Email
alias Mv.Mailer
require Logger
@doc """
Sends a password reset email to a user.

View file

@ -49,10 +49,10 @@ defmodule Mv.Authorization.Actor do
adds complexity and potential for inconsistency.
"""
require Logger
alias Mv.Helpers.SystemActor
require Logger
@doc """
Ensures the actor (User) has their `:role` relationship loaded.

View file

@ -79,10 +79,13 @@ defmodule Mv.Authorization.Checks.HasPermission do
"""
use Ash.Policy.Check
require Ash.Query
import Ash.Expr
alias Mv.Authorization.Actor
alias Mv.Authorization.PermissionSets
require Ash.Query
require Logger
@impl true

View file

@ -6,9 +6,10 @@ defmodule Mv.EmailSync.Helpers do
provides clean abstractions for email updates within transactions.
"""
require Logger
import Ecto.Changeset
require Logger
@doc """
Extracts the record from an Ash action result.

View file

@ -48,10 +48,10 @@ defmodule Mv.Helpers.SystemActor do
use Agent
require Ash.Query
alias Mv.Config
require Ash.Query
@doc """
Starts the SystemActor Agent.

View file

@ -27,11 +27,12 @@ defmodule Mv.Mailer do
ENV takes priority over Settings (same pattern as OIDC and Vereinfacht).
"""
use Swoosh.Mailer, otp_app: :mv
import Swoosh.Email
use Gettext, backend: MvWeb.Gettext, otp_app: :mv
import Swoosh.Email
alias Mv.Smtp.ConfigBuilder
require Logger
# Simple format check for test-email recipient only (e.g. allows a@b.c). Not for strict RFC validation.

View file

@ -15,10 +15,10 @@ defmodule Mv.Membership.Import.ColumnResolver do
This module has no Phoenix or web dependencies.
"""
require Logger
alias Mv.Membership.Import.HeaderMapper
require Logger
@preview_row_limit 3
@type numbered_row :: {pos_integer(), [String.t()]}

View file

@ -53,6 +53,14 @@ defmodule Mv.Membership.Import.MemberCSV do
MemberCSV.process_chunk(chunk, import_state.column_map, import_state.custom_field_map, [])
"""
use Gettext, backend: MvWeb.Gettext
alias Mv.Helpers.SystemActor
alias Mv.Membership.Import.ColumnResolver
alias Mv.Membership.Import.CsvParser
alias Mv.Membership.Import.HeaderMapper
alias MvWeb.Translations.FieldTypes
defmodule Error do
@moduledoc """
Error struct for CSV import errors.
@ -101,17 +109,6 @@ defmodule Mv.Membership.Import.MemberCSV do
groups_found: list(Mv.Membership.Group.t() | %{id: String.t(), name: String.t()})
}
alias Mv.Membership.Import.ColumnResolver
alias Mv.Membership.Import.CsvParser
alias Mv.Membership.Import.HeaderMapper
use Gettext, backend: MvWeb.Gettext
alias Mv.Helpers.SystemActor
# Import FieldTypes for human-readable type labels
alias MvWeb.Translations.FieldTypes
# Configuration constants
@default_max_errors 50
@default_chunk_size 200

View file

@ -17,13 +17,14 @@ defmodule Mv.Membership.MemberExport.Build do
No translations/Gettext in this module - labels come from the web layer via a function.
"""
require Ash.Query
import Ash.Expr
alias Mv.Membership.{CustomField, CustomFieldValueFormatter, Member, MemberExportSort}
alias MvWeb.MemberLive.Index
alias MvWeb.MemberLive.Index.MembershipFeeStatus
require Ash.Query
@custom_field_prefix Mv.Constants.custom_field_prefix()
@doc """

View file

@ -12,12 +12,12 @@ defmodule Mv.Membership.MembersPDF do
to avoid symlink issues and ensure isolation.
"""
require Logger
use Gettext, backend: MvWeb.Gettext
alias Mv.Config
require Logger
@template_filename "members_export.typ"
@doc """

View file

@ -1,11 +1,4 @@
defmodule Mv.MembershipFees.CycleGenerator do
@typedoc "Aggregate counts returned by a batch cycle-generation run."
@type results_summary :: %{
success: non_neg_integer(),
failed: non_neg_integer(),
total: non_neg_integer()
}
@moduledoc """
Module for generating membership fee cycles for members.
@ -66,6 +59,13 @@ defmodule Mv.MembershipFees.CycleGenerator do
require Ash.Query
require Logger
@typedoc "Aggregate counts returned by a batch cycle-generation run."
@type results_summary :: %{
success: non_neg_integer(),
failed: non_neg_integer(),
total: non_neg_integer()
}
@type generate_result ::
{:ok, [MembershipFeeCycle.t()], [Ash.Notifier.Notification.t()]} | {:error, term()}

View file

@ -12,8 +12,6 @@ defmodule Mv.Release do
or ADMIN_PASSWORD_FILE). Idempotent; can be run on every deployment or via shell
to update the admin password without redeploying.
"""
@app :mv
alias Mv.Accounts
alias Mv.Accounts.User
alias Mv.Authorization.Role
@ -21,6 +19,8 @@ defmodule Mv.Release do
require Ash.Query
require Logger
@app :mv
def migrate do
_ = load_app()

View file

@ -7,15 +7,15 @@ defmodule Mv.Statistics do
to Ash reads so that policies are enforced.
"""
require Ash.Query
import Ash.Expr
require Logger
alias Mv.Membership.Member
alias Mv.MembershipFees
alias Mv.MembershipFees.MembershipFeeCycle
require Ash.Query
require Logger
@doc """
Returns the earliest year in which any member has a join_date.

View file

@ -9,9 +9,10 @@ defmodule Mv.Vereinfacht.Changes.SyncLinkedMemberAfterUserChange do
"""
use Ash.Resource.Change
require Logger
alias Mv.EmailSync.Loader
require Logger
@impl true
def change(changeset, _opts, _context) do
if Mv.Config.vereinfacht_configured?() and relevant_change?(changeset) do

View file

@ -7,13 +7,15 @@ defmodule Mv.Vereinfacht do
the linked member's email via Ecto (e.g. user email change).
- `sync_members_without_contact/0` Bulk sync of members without a contact ID.
"""
require Ash.Query
import Ash.Expr
alias Mv.Helpers
alias Mv.Helpers.SystemActor
alias Mv.Membership.Member
alias Mv.Vereinfacht.Client
require Ash.Query
@doc """
Tests the connection to the Vereinfacht API using the current configuration.