style: order module directives per StrictModuleLayout
This commit is contained in:
parent
6e50b91e51
commit
cbd37ecb2c
88 changed files with 225 additions and 155 deletions
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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()]}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 """
|
||||
|
|
|
|||
|
|
@ -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 """
|
||||
|
|
|
|||
|
|
@ -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()}
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue