end
def changeset(struct, %{"type" => "Book"} = data) do
- data = Map.put(data, "name", data["title"])
+ data =
+ if Map.has_key?(data, "title") do
+ Map.put(data, "name", data["title"])
+ else
+ data
+ end
struct
|> cast(data, [:type, :name])
end
def changeset(struct, %{"type" => "Edition"} = data) do
- data = Map.put(data, "name", data["title"])
+ # Sometimes it's title, sometimes name
+ # Don't ask me.
+ data =
+ if Map.has_key?(data, "title") do
+ Map.put(data, "name", data["title"])
+ else
+ data
+ end
struct
|> cast(data, [:type, :name])
end
def changeset(struct, %{"type" => "Work"} = data) do
- data = Map.put(data, "name", data["title"])
+ data =
+ if Map.has_key?(data, "title") do
+ Map.put(data, "name", data["title"])
+ else
+ data
+ end
struct
|> cast(data, [:type, :name])