diff options
author | rinpatch <rinpatch@sdf.org> | 2020-02-09 12:15:52 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-02-09 12:15:52 +0000 |
commit | 42f76306e7fe69fc51be00285a4fef8569f54989 (patch) | |
tree | 416bc4048224a5fc9312c4c5834ea5207497a6b7 /lib/pleroma/user/info.ex | |
parent | 1629fa2412b877f69c5cf0df09782227827b272b (diff) | |
parent | 06fec99e1d8d4be6cb71551089f2d95e936d6990 (diff) | |
download | pleroma-1.1.9.tar.gz |
Merge branch 'release/1.1.9' into 'stable'v1.1.9
Release/1.1.9
See merge request pleroma/pleroma!2189
Diffstat (limited to 'lib/pleroma/user/info.ex')
-rw-r--r-- | lib/pleroma/user/info.ex | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex index 779bfbc18..151e025de 100644 --- a/lib/pleroma/user/info.ex +++ b/lib/pleroma/user/info.ex @@ -242,6 +242,13 @@ defmodule Pleroma.User.Info do end def remote_user_creation(info, params) do + params = + if Map.has_key?(params, :fields) do + Map.put(params, :fields, Enum.map(params[:fields], &truncate_field/1)) + else + params + end + info |> cast(params, [ :ap_enabled, @@ -326,6 +333,16 @@ defmodule Pleroma.User.Info do defp valid_field?(_), do: false + defp truncate_field(%{"name" => name, "value" => value}) do + {name, _chopped} = + String.split_at(name, Pleroma.Config.get([:instance, :account_field_name_length], 255)) + + {value, _chopped} = + String.split_at(value, Pleroma.Config.get([:instance, :account_field_value_length], 255)) + + %{"name" => name, "value" => value} + end + @spec confirmation_changeset(Info.t(), keyword()) :: Changeset.t() def confirmation_changeset(info, opts) do need_confirmation? = Keyword.get(opts, :need_confirmation) |