removed EctoEnum in favor of Ecto.Enum
This commit is contained in:
parent
aabcd9e029
commit
3a6e3e8eed
6 changed files with 4 additions and 50 deletions
|
@ -1,7 +1,6 @@
|
|||
defmodule Shift73k.Accounts.User do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
import EctoEnum
|
||||
import Shift73k.Util.Dt, only: [weekdays: 0]
|
||||
|
||||
alias Shift73k.Shifts.Templates.ShiftTemplate
|
||||
|
@ -13,8 +12,6 @@ defmodule Shift73k.Accounts.User do
|
|||
admin: "Can delete users and change user roles"
|
||||
]
|
||||
|
||||
defenum(RolesEnum, :role, Keyword.keys(@roles))
|
||||
|
||||
@max_email 254
|
||||
@min_password 8
|
||||
@max_password 80
|
||||
|
@ -28,7 +25,7 @@ defmodule Shift73k.Accounts.User do
|
|||
field(:hashed_password, :string)
|
||||
field(:confirmed_at, :naive_datetime)
|
||||
|
||||
field(:role, RolesEnum, default: :user)
|
||||
field(:role, Ecto.Enum, values: Keyword.keys(@roles), default: :user)
|
||||
field(:week_start_at, Ecto.Enum, values: weekdays(), default: :monday)
|
||||
|
||||
has_many(:shift_templates, ShiftTemplate)
|
||||
|
@ -69,13 +66,6 @@ defmodule Shift73k.Accounts.User do
|
|||
|> validate_password(opts)
|
||||
end
|
||||
|
||||
# def update_changeset(user, attrs, opts \\ [])
|
||||
|
||||
# def update_changeset(user, %{"password" => ""} = attrs, _),
|
||||
# do: update_changeset_no_pw(user, attrs)
|
||||
|
||||
# def update_changeset(user, %{password: ""} = attrs, _), do: update_changeset_no_pw(user, attrs)
|
||||
|
||||
def update_changeset(user, attrs, opts) do
|
||||
user
|
||||
|> cast(attrs, [:email, :password, :role])
|
||||
|
@ -84,21 +74,10 @@ defmodule Shift73k.Accounts.User do
|
|||
|> validate_password_not_required(opts)
|
||||
end
|
||||
|
||||
# def update_changeset_no_pw(user, attrs) do
|
||||
# user
|
||||
# |> cast(attrs, [:email, :role])
|
||||
# |> validate_role()
|
||||
# |> validate_email()
|
||||
# end
|
||||
|
||||
defp role_validator(:role, role) do
|
||||
(RolesEnum.valid_value?(role) && []) || [role: "invalid user role"]
|
||||
end
|
||||
|
||||
defp validate_role(changeset) do
|
||||
changeset
|
||||
|> validate_required([:role])
|
||||
|> validate_change(:role, &role_validator/2)
|
||||
|> validate_inclusion(:role, Keyword.keys(@roles), message: "invalid user role")
|
||||
end
|
||||
|
||||
defp validate_email_format(changeset) do
|
||||
|
|
|
@ -2,8 +2,6 @@ defmodule Shift73k.Shifts.Shift do
|
|||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
alias Shift73k.Shifts.Templates.ShiftTemplate
|
||||
|
||||
@primary_key {:id, :binary_id, autogenerate: true}
|
||||
@foreign_key_type :binary_id
|
||||
schema "shifts" do
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
defmodule Shift73kWeb.ShiftAssignLive.Index do
|
||||
use Shift73kWeb, :live_view
|
||||
|
||||
alias Ecto.Multi
|
||||
alias Shift73k.Repo
|
||||
alias Shift73k.Shifts
|
||||
alias Shift73k.Shifts.Shift
|
||||
alias Shift73k.Shifts.Templates
|
||||
alias Shift73k.Shifts.Templates.ShiftTemplate
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue