Files
phoenix-ausblick/lib/outlook/translations/translation.ex
Thelonius Kort cf3a105a0f Add public_content to casts for translation
Overlooked - should have been in fa7671f972
2023-01-19 22:24:53 +01:00

36 lines
1.1 KiB
Elixir

defmodule Outlook.Translations.Translation do
use Ecto.Schema
import Ecto.Changeset
alias Outlook.Accounts.User
alias Outlook.Articles.Article
alias Outlook.Translations.TranslationUnitsMap
schema "translations" do
field :content, TranslationUnitsMap
field :date, :utc_datetime
field :language, :string, default: "DE"
field :public, :boolean, default: false
field :teaser, :string
field :public_content, :string
field :title, :string
field :unauthorized, :boolean, default: false
belongs_to :user, User
belongs_to :article, Article
timestamps()
end
@doc false
def changeset(translation, attrs) do
translation
|> cast(attrs, [:language, :title, :teaser, :date, :public, :unauthorized, :article_id, :public_content])
|> cast(attrs, [:content])
|> validate_required([:language, :title, :content, :date, :public, :unauthorized, :article_id])
|> unique_constraint([:language, :article_id],
message: "translation for this language already exists",
name: :article_id_lang_unique_index)
|> foreign_key_constraint(:article_id)
end
end