This commit is contained in:
parent
c251e1dba3
commit
8a8502724d
3 changed files with 29 additions and 8 deletions
|
|
@ -26,7 +26,21 @@ defmodule Mv.Membership.Member do
|
|||
@doc false
|
||||
def changeset(member, attrs) do
|
||||
member
|
||||
|> cast(attrs, [:first_name, :last_name, :email, :birth_date, :paid, :phone_number, :join_date, :exit_date, :notes, :city, :street, :house_number, :postal_code])
|
||||
|> cast(attrs, [
|
||||
:first_name,
|
||||
:last_name,
|
||||
:email,
|
||||
:birth_date,
|
||||
:paid,
|
||||
:phone_number,
|
||||
:join_date,
|
||||
:exit_date,
|
||||
:notes,
|
||||
:city,
|
||||
:street,
|
||||
:house_number,
|
||||
:postal_code
|
||||
])
|
||||
|> validate_required([:first_name, :last_name, :email])
|
||||
|> validate_length(:first_name, min: 1)
|
||||
|> validate_length(:last_name, min: 1)
|
||||
|
|
@ -49,7 +63,9 @@ defmodule Mv.Membership.Member do
|
|||
|
||||
defp validate_birth_date(changeset) do
|
||||
case get_field(changeset, :birth_date) do
|
||||
nil -> changeset
|
||||
nil ->
|
||||
changeset
|
||||
|
||||
birth_date ->
|
||||
if Date.compare(birth_date, Date.utc_today()) == :gt do
|
||||
add_error(changeset, :birth_date, "cannot be in the future")
|
||||
|
|
@ -61,7 +77,9 @@ defmodule Mv.Membership.Member do
|
|||
|
||||
defp validate_join_date(changeset) do
|
||||
case get_field(changeset, :join_date) do
|
||||
nil -> changeset
|
||||
nil ->
|
||||
changeset
|
||||
|
||||
join_date ->
|
||||
if Date.compare(join_date, Date.utc_today()) == :gt do
|
||||
add_error(changeset, :join_date, "cannot be in the future")
|
||||
|
|
@ -74,7 +92,7 @@ defmodule Mv.Membership.Member do
|
|||
defp validate_exit_date(changeset) do
|
||||
join_date = get_field(changeset, :join_date)
|
||||
exit_date = get_field(changeset, :exit_date)
|
||||
|
||||
|
||||
if join_date && exit_date && Date.compare(exit_date, join_date) != :gt do
|
||||
add_error(changeset, :exit_date, "cannot be before join date")
|
||||
else
|
||||
|
|
@ -84,7 +102,9 @@ defmodule Mv.Membership.Member do
|
|||
|
||||
defp validate_phone_number(changeset) do
|
||||
case get_field(changeset, :phone_number) do
|
||||
nil -> changeset
|
||||
nil ->
|
||||
changeset
|
||||
|
||||
phone_number ->
|
||||
if Regex.match?(~r/^\+?[0-9\- ]{6,20}$/, phone_number) do
|
||||
changeset
|
||||
|
|
@ -96,7 +116,9 @@ defmodule Mv.Membership.Member do
|
|||
|
||||
defp validate_postal_code(changeset) do
|
||||
case get_field(changeset, :postal_code) do
|
||||
nil -> changeset
|
||||
nil ->
|
||||
changeset
|
||||
|
||||
postal_code ->
|
||||
if Regex.match?(~r/^\d{5}$/, postal_code) do
|
||||
changeset
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ defmodule MvWeb.Layouts do
|
|||
</Backpex.HTML.Layout.sidebar_item>
|
||||
</:sidebar>
|
||||
<Backpex.HTML.Layout.flash_messages flash={@flash} />
|
||||
<%= @inner_content %>
|
||||
{@inner_content}
|
||||
</Backpex.HTML.Layout.app_shell>
|
||||
"""
|
||||
end
|
||||
|
|
|
|||
|
|
@ -72,4 +72,3 @@ defmodule MvWeb.Live.MemberLive do
|
|||
]
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue